View a markdown version of this page

在 AWS Organizations 成员账户上执行特权任务 - AWS Identity and Access Management

在 AWS Organizations 成员账户上执行特权任务

AWS Organizations 管理账户或IAM的委托管理员账户,可以在成员账户上执行一些原本需要根用户凭证的特权任务。通过集中式根访问权限,这些任务通过短期特权会话执行。这些会话提供限于特定特权操作的临时凭证,无需根用户登录成员账户。

启动特权会话后,您可以删除配置错误的 Amazon S3 存储桶策略、删除配置错误的 Amazon SQS 队列策略、删除成员账户的根用户凭证,以及重新启用成员账户的根用户凭证。

注意

要使用集中式根访问权限,您必须通过管理账户或委托管理员账户,以被明确授予 sts:AssumeRoot 权限的 IAM 用户或角色身份登录。您可以使用根用户凭证来调用 sts:AssumeRoot。

先决条件

在启动特权会话之前,您必须具备以下设置:

  • 您已在组织中启用集中根访问。有关启用此功能的步骤,请参阅集中成员账户的根访问。

  • 您的管理账户或委派管理员账户具有以下权限:sts:AssumeRoot

对成员账户执行特权操作(控制台)

要在 AWS 管理控制台中为成员账户的特权操作启动会话
  1. 登录 AWS 管理控制台,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/。

  2. 在控制台的导航窗格中,选择根访问管理。

  3. 从成员账户列表中选择一个名称,然后选择采取特权操作。

  4. 选择您想要在成员账户中执行的特权操作。

    • 选择删除 Amazon S3 存储桶策略,以删除一项配置错误的存储桶策略,此策略将会拒绝所有主体访问 Amazon S3 存储桶策略。

      1. 选择浏览 S3,从成员账户拥有的存储桶中选择一个名称,然后选择选择。

      2. 选择删除存储桶策略。

      3. 在删除配置错误的策略后,使用 Amazon S3 控制台来纠正存储桶策略。有关更多信息,请参阅《Amazon S3 用户指南》中的使用 Amazon S3 控制台添加存储桶策略。

    • 选择删除 Amazon SQS 策略,以删除 Amazon Simple Queue Service 基于资源的策略,此策略将会拒绝所有主体访问 Amazon SQS 队列。

      1. 在 SQS 队列名称中输入队列名称,然后选择删除 SQS 策略。

      2. 在删除配置错误的策略后,使用 Amazon SQS 控制台来纠正队列策略。有关更多信息,请参阅《Amazon SQS 开发人员指南》中的 Configuring an access policy in Amazon SQS。

    • 选择删除根凭证,以删除成员账户的根访问权限。删除根用户凭证将会移除根用户密码、访问密钥、签名证书并停用成员账户的多重身份验证(MFA)。

      1. 选择删除根凭证。

    • 选择允许密码恢复,以恢复成员账户的根用户凭证。

      仅当成员账户没有根用户凭证时,此选项才可用。

      1. 选择允许恢复密码。

      2. 执行此特权操作后,有权访问该成员账户的根用户电子邮件收件箱的人可以重置根用户密码并登录到成员账户根用户。

对成员账户执行特权操作(AWS CLI)

要从 AWS Command Line Interface 中为成员账户的特权操作启动会话
  1. 使用以下命令假设根用户会话:aws sts assume-root。

    注意

    全局端点不支持 sts:AssumeRoot。您必须将此请求发送到区域的 AWS STS 端点。有关更多信息,请参阅 管理 AWS 区域中的 AWS STS。

    在为成员账户启动特权根用户会话时,必须定义 task-policy-arn,以将会话的范围限定到会话期间要执行的特权操作。您可以使用以下 AWS 托管策略之一来限定特权会话操作的范围。

    要限制管理账户或委派管理员在特权根用户会话期间可以执行的操作,您可以使用 AWS STS 条件键 sts:TaskPolicyArn。

    在以下示例中,委派管理员担任根用户来删除成员账户 ID 111122223333 的根用户凭证。

    aws sts assume-root \ --target-principal 111122223333 \ --task-policy-arn arn=arn:aws:iam::aws:policy/root-task/IAMDeleteRootUserCredentials \ --duration-seconds 900
  2. 使用响应中的 SessionToken、AccessKeyId 和 SecretAccessKey 在成员账户中执行特权操作。您可以省略请求中的用户名和密码,以默认设置为成员账户。

对成员账户执行特权操作(AWS API)

要从 AWS API 中为成员账户的特权操作启动会话
  1. 使用以下命令假设根用户会话:AssumeRoot。

    注意

    全局端点不支持 AssumeRoot。您必须将此请求发送到区域的 AWS STS 端点。有关更多信息,请参阅 管理 AWS 区域中的 AWS STS。

    在为成员账户启动特权根用户会话时,必须定义 TaskPolicyArn,以将会话的范围限定到会话期间要执行的特权操作。您可以使用以下 AWS 托管策略之一来限定特权会话操作的范围。

    要限制管理账户或委派管理员在特权根用户会话期间可以执行的操作,您可以使用 AWS STS 条件键 sts:TaskPolicyArn。

    在以下示例中,委派管理员担任根用户来读取、编辑和删除成员账户 ID 111122223333 的 Amazon S3 存储桶中配置错误的基于资源的策略。

    https://sts.us-east-2.amazonaws.com/ ?Version=2011-06-15 &Action=AssumeRoot &TargetPrincipal=111122223333 &PolicyArns.arn=arn:aws:iam::aws:policy/root-task/S3UnlockBucketPolicy &DurationSeconds=900
  2. 使用响应中的 SessionToken、AccessKeyId 和 SecretAccessKey 在成员账户中执行特权操作。您可以省略请求中的用户名和密码,以默认设置为成员账户。