View a markdown version of this page

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

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

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

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

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

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

创建权限集

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

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

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

  3. 选择自定义权限集

  4. 选择下一步

  5. 选择内联策略

  6. 删除示例代码。

  7. 添加以下策略代码:

    JSON
    { "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::111122223333:role/CodeDeployServiceRole" } ] }

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

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

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

    JSON
    { "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. 在注销之前,请确保您拥有 AWS 访问门户 URL 以及 CodeDeploy 管理员用户的用户名和一次性密码。

    注意

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

  2. 退出 AWS。

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

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

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

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

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

    出 AWS 管理控制台 现。您现在以 CodeDeploy 具有有限权限的管理员用户身份登录。现在,您可以以该用户身份执行 CodeDeploy-related CodeDeploy-related 操作,但只能执行操作。