步骤 3:限制 CodeDeploy 用户的权限 - Amazon CodeDeploy
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

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

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

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

开始之前
  • 确保您已按照步骤 1:设置中的说明在 IAM Identity Center 创建了 CodeDeploy 管理用户。

创建权限集

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

  1. 登录 Amazon Web Services Management Console,打开 Amazon 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 替换为您在步骤 2:为创建服务角色 CodeDeploy中创建的 CodeDeploy 服务角色的 ARN 值。您可以在 IAM 控制台的服务角色的详细信息页面中找到 ARN 值。

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

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

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

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

    CodeDeployUserPermissionSet
  10. 选择下一步

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

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

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

  3. 选择用户选项卡。

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

  5. 选择下一步

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

  7. 选择下一步

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

    现在,您已将 CodeDeploy 管理用户和 CodeDeployUserPermissionSet 分配给您的 Amazon Web Services 账户,并将他们绑定在一起。

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

    注意

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

  2. 注销 Amazon。

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

  4. 作为 CodeDeploy 管理用户登录。

    屏幕上会出现一个 Amazon Web Services 账户框。

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

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

    此时会显示 Amazon Web Services Management Console。现在,您已经以具有有限权限的 CodeDeploy 管理员用户身份登录。现在,您可以以该用户的身份执行与 CodeDeploy 相关的操作,并且只能 执行与 CodeDeploy 相关的操作。