SuperAPI AI 工具集

hf-cloud-aws-context-discovery

部署与运维

查看项目

更新于 10-16 03:37

技能介绍

用途:在任何 AWS 相关工作开始前,读取用户本地 AWS 配置,确定当前使用的配置文件、区域、账号 ID 和调用者身份,避免猜测区域或向用户询问其配置中已有答案的问题。

主要能力与使用方式:

  1. 确定生效配置文件:优先 AWS_PROFILE 环境变量,否则 default;若用户在提示中指定配置文件则以其为准;若指定配置文件不存在于 ~/.aws/config,需明确指出。
  2. 确定区域:按顺序取第一个有值的来源——用户本轮明确指定的区域、AWS_REGION、AWS_DEFAULT_REGION、~/.aws/config 中当前配置文件的 region 字段,前四项均失败后才询问用户;不得回退到 us-east-1 或任何硬编码默认值。
  3. 验证凭证并获取账号与调用者 ARN:运行 aws sts get-caller-identity --profile <profile> --region <region>,一次调用确认凭证有效、返回账号 ID 和调用者 ARN。
  4. 识别 SSO 或 assumed-role 主体:根据 ARN 模式判断类型与 IAM 写权限。arn:aws:iam::<acct>:user/<name> 为 IAM 用户,权限取决于附加策略;arn:aws:sts::<acct>:assumed-role/AWSReservedSSO_<...>/<email> 为 SSO assumed-role,通常无 IAM 写权限,不能创建或修改 IAM 角色;arn:aws:sts::<acct>:assumed-role/<role>/<session> 为常规 assumed-role,权限取决于该角色。若为 SSO,应在后续技能触发 iam:CreateRole 失败前提前告知用户,建议优先查找已有 SageMaker 执行角色,若无则需联系 AWS 访问管理者创建。

必要命令: aws configure list 查看生效的配置文件与区域(优先于自行解析配置文件); aws sts get-caller-identity 验证凭证并获取身份; aws sts get-caller-identity --profile <profile-name> 在指定配置文件时使用。 如需列出配置文件,可只读查看 ~/.aws/config 与 ~/.aws/credentials 这两个 INI 文件。

报告方式:用一到两行简洁说明,例如“正在使用配置文件 my-profile,区域 eu-west-1,账号 123456789012。你通过 SSO 认证,因此需使用现有 IAM 角色而非创建新角色。”不要要求用户确认刚从其配置中读到的区域。若出现凭证过期、配置文件不存在、无任何区域来源等错误,应停止并明确提示具体错误后再继续。

限制:本技能只负责发现与报告 AWS 上下文,不执行实际 AWS 资源操作;不猜测或硬编码区域;不代替用户创建 IAM 角色。其他具体功能与限制暂未提供。