步骤 3:限制 CodeDeploy 用户的权限 - AWS CodeDeploy

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

步骤 3:限制 CodeDeploy 用户的权限

出于安全考虑,我们建议您将您在中创建的管理用户的权限限制步骤 1:设置为在中创建和管理部署所需的权限 CodeDeploy。

使用以下一系列过程来限制 CodeDeploy 管理用户的权限。

开始前的准备工作
  • 确保按照中的说明在 Ident IAM ity Center 中创建了 CodeDeploy 管理用户步骤 1:设置

创建权限集

稍后,您将向 CodeDeploy 管理用户分配此权限集。

  1. 登录 AWS Management Console 并打开 AWS IAM Identity Center 控制台,网址为https://console.aws.amazon.com/singlesignon/

  2. 在导航窗格中,选择权限集,然后选择创建权限集

  3. 选择自定义权限集

  4. 选择下一步

  5. 选择内联策略

  6. 删除示例代码。

  7. 添加以下策略代码:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "CodeDeployAccessPolicy", "Effect": "Allow", "Action": [ "autoscaling:*", "codedeploy:*", "ec2:*", "lambda:*", "ecs:*", "elasticloadbalancing:*", "iam:AddRoleToInstanceProfile", "iam:AttachRolePolicy", "iam:CreateInstanceProfile", "iam:CreateRole", "iam:DeleteInstanceProfile", "iam:DeleteRole", "iam:DeleteRolePolicy", "iam:GetInstanceProfile", "iam:GetRole", "iam:GetRolePolicy", "iam:ListInstanceProfilesForRole", "iam:ListRolePolicies", "iam:ListRoles", "iam:PutRolePolicy", "iam:RemoveRoleFromInstanceProfile", "s3:*", "ssm:*" ], "Resource": "*" }, { "Sid": "CodeDeployRolePolicy", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::account-ID:role/CodeDeployServiceRole" } ] }

    在本政策中,替换 arn:aws:iam::account-ID:role/CodeDeployServiceRole 使用您在中创建的 CodeDeploy 服务角色的ARN价值步骤 2:为创建服务角色 CodeDeploy。您可以在IAM控制台中服务角色的详细信息页面中找到该ARN值。

    上述策略允许您将应用程序部署到 AWS Lambda 计算平台、EC2 /本地计算平台和 Ama ECS zon 计算平台。

    您可以使用本文档中提供的 AWS CloudFormation 模板启动与兼容的 Amazon EC2 实例 CodeDeploy。要使用 AWS CloudFormation 模板创建应用程序、部署组或部署配置,必须通过向 CodeDeploy 管理用户的权限策略添加权限来提供访问cloudformation:*权限 AWS CloudFormation以及 AWS CloudFormation 依赖的 AWS 服务和操作,如下所示:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ ... "cloudformation:*" ], "Resource": "*" } ] }
  8. 选择下一步

  9. 权限集名称中,输入:

    CodeDeployUserPermissionSet
  10. 选择下一步

  11. 查看和创建页面上,检查相应信息,然后选择创建

将权限集分配给 CodeDeploy 管理用户
  1. 在导航窗格中 AWS 账户,选择,然后选中您当前登录 AWS 账户 的旁边的复选框。

  2. 选择分配用户或组按钮。

  3. 选择用户选项卡。

  4. 选中 CodeDeploy 管理员用户旁边的复选框。

  5. 选择下一步

  6. 选中 CodeDeployUserPermissionSet 旁边的复选框。

  7. 选择下一步

  8. 检查相应信息,然后选择提交

    现在,您已将 CodeDeploy 管理员用户和分配CodeDeployUserPermissionSet给您的 AWS 账户,并将它们绑定在一起。

注销并以 CodeDeploy 管理员用户身份重新登录
  1. 在注销之前,请确保您拥有 CodeDeploy 管理员 AWS 用户的访问门户URL以及用户名和一次性密码。

    注意

    如果您没有此信息,请转到 Ident IAM ity Center 中的 CodeDeploy 管理员用户详细信息页面,选择重置密码生成一次性密码 [...] ,然后再次重置密码以在屏幕上显示信息。

  2. 退出 AWS。

  3. 将 AWS 访问门户粘贴URL到浏览器的地址栏中。

  4. 以 CodeDeploy 管理员用户身份登录。

    屏幕上会出现一个 AWS 账户框。

  5. 选择 AWS 账户,然后选择您 AWS 账户 为其分配了 CodeDeploy 管理员用户和权限集的名称。

  6. CodeDeployUserPermissionSet 旁,选择管理控制台

    AWS Management Console 出现了。现在,您已以 CodeDeploy 具有有限权限的管理员用户身份登录。现在,您可以以该用户身份执行 CodeDeploy CodeDeploy相关操作,并且只能执行相关的操作。