本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
步骤 3:限制 CodeDeploy 用户的权限
出于安全考虑,我们建议将您在 步骤 1:设置 中创建的管理用户的权限限制为在 CodeDeploy 中创建和管理部署所需的权限。
使用以下一系列过程来限制 CodeDeploy 管理用户的权限。
开始之前
-
确保您已按照步骤 1:设置中的说明在 IAM Identity Center 创建了 CodeDeploy 管理用户。
创建权限集
稍后,您将向 CodeDeploy 管理用户分配此权限集。
登录 Amazon Web Services Management Console,打开 Amazon IAM Identity Center 控制台:https://console.aws.amazon.com/singlesignon/
。 -
在导航窗格中,选择权限集,然后选择创建权限集。
-
选择自定义权限集。
-
选择下一步。
-
选择内联策略。
-
删除示例代码。
-
添加以下策略代码:
{ "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": "*" } ] }
-
选择下一步。
-
在权限集名称中,输入:
CodeDeployUserPermissionSet
-
选择下一步。
-
在查看和创建页面上,检查相应信息,然后选择创建。
将权限集分配给 CodeDeploy 管理用户
-
在导航窗格中选择 Amazon Web Services 账户,然后选中当前登录的 Amazon Web Services 账户旁的复选框。
-
选择分配用户或组按钮。
-
选择用户选项卡。
-
选中 CodeDeploy 管理用户旁边的复选框。
-
选择下一步。
-
选中
CodeDeployUserPermissionSet
旁边的复选框。 -
选择下一步。
-
检查相应信息,然后选择提交。
现在,您已将 CodeDeploy 管理用户和
CodeDeployUserPermissionSet
分配给您的 Amazon Web Services 账户,并将他们绑定在一起。
注销并以 CodeDeploy 管理用户身份重新登录
-
在注销之前,请确保您拥有 Amazon 访问门户 URL 以及 CodeDeploy 管理员用户的用户名和一次性密码。
注意
如果您没有这些信息,请前往 IAM Identity Center 中的 CodeDeploy 管理员用户详细信息页面,选择重置密码,生成一次性密码 [...],然后再次选择重置密码以在屏幕上显示信息。
-
注销 Amazon。
-
将 Amazon 访问门户 URL 粘贴到浏览器的地址栏中。
-
作为 CodeDeploy 管理用户登录。
屏幕上会出现一个 Amazon Web Services 账户框。
-
选择 Amazon Web Services 账户,然后选择您为其分配了 CodeDeploy 管理员用户和权限集的 Amazon Web Services 账户的名称。
-
在
CodeDeployUserPermissionSet
旁,选择管理控制台。此时会显示 Amazon Web Services Management Console。现在,您已经以具有有限权限的 CodeDeploy 管理员用户身份登录。现在,您可以以该用户的身份执行与 CodeDeploy 相关的操作,并且只能 执行与 CodeDeploy 相关的操作。