用途:该技能提供配置 AWS Resilience Hub v2 的领域知识,用于从中心账号评估跨多个 AWS 账号的服务。所有 CLI 命令使用 aws resiliencehubv2 命名空间,区别于旧版 aws resiliencehub(v1)。
主要能力:Resilience Hub v2 支持两种互补的多账号机制。一是 AWS Organizations 集成:由管理账号启用可信访问、创建服务关联角色并指定委派管理员,用于组织级策略管理与可见性,需通过管理账号加控制台完成,没有 resiliencehubv2 的 register-delegated-administrator CLI 操作。二是按服务的跨账号权限模型:中心账号的 invoker 角色承担成员账号中的跨账号角色,用于按服务发现资源。本技能配置的是第二种。
使用方式:跨账号评估应使用按服务权限模型,命令形式为 aws resiliencehubv2 create-service --name {service} --regions {regions} --permission-model '{"invokerRoleName":"ResilienceHubAssessmentRole","crossAccountRoles":[{"crossAccountRoleArn":"arn:aws:iam::{member_account_id}:role/ResilienceHubAccess","externalId":"{external_id}"}]}'。externalId 是防御混淆代理攻击的共享密钥,应使用密码学随机值并存入 AWS Secrets Manager 或 SSM Parameter Store(SecureString),不得提交到源码控制,避免在 CI/CD 日志或 IaC 输出中明文出现。每个服务可配置多个跨账号角色 ARN,API 有上限(示例为 5),应以 API/模型实际接受的限制为准。建议使用 AWS MCP 服务器执行调用,也可直接用 AWS CLI。
适用场景:需要从中心账号对成员账号中的工作负载或资源运行跨账号韧性评估时。组织级策略治理则使用 Organizations 集成,两者互补。
限制与安全:成员账号跨账号角色应限定为只读发现权限(如 cloudformation:Describe*、ec2:Describe*、rds:Describe*),信任策略尽量只信任特定中心 invoker 角色 ARN,并在中心与成员账号启用 CloudTrail 记录 sts:AssumeRole 调用。排错方面:AccessDenied 需核对角色 ARN、信任策略与 externalId;成员账号未发现资源需确认角色读取权限与输入源区域。技能自身参考文件在 MCP 加载时需通过 retrieve_skill 的 file 参数获取,本地安装时按相对路径读取。