本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
示例策略
重要
AWS OpsWorks Stacks 不再接受新客户。在 2024 年 5 月 26 日之前,现有客户将能够照常使用 OpsWorks 控制台、API、CLI 和 CloudFormation 资源,届时这些工具或资源将停用。为准备此过渡,我们建议您尽快将堆栈过渡到AWS Systems Manager。有关更多信息,请参阅 AWS OpsWorks Stacks 生命周期终止常见问题解答 和 将 AWS OpsWorks Stacks 应用程序迁移到 AWS Systems Manager Application Manager:
本节介绍可应用于 AWS OpsWorks Stacks 用户的 IAM 策略示例。
-
管理权限 介绍了可用于向管理用户授予权限的两个策略。
-
Manage 权限和 Deploy 权限介绍了可附加到用户以扩充或限制 Manage 和 Deploy 权限级别的策略示例。
AWS OpsWorks Stacks 通过评估 IAM 策略授予的权限以及由 权限 页面授予的权限来确定用户的权限。有关更多信息,请参阅使用策略控制访问 AWS 资源。有关 Permissions 页面权限的更多信息,请参阅AWS OpsWorks Stacks 权限级别。
管理权限
使用 IAM 控制台 https://console.aws.amazon.com/iam/
必须创建一个 IAM 角色,该角色允许 AWS OpsWorks Stacks 代表您访问其他 AWS 资源,例如 Amazon EC2 实例。通常,您通过让管理用户创建首个堆栈,并允许 AWS OpsWorks Stacks 为您创建角色,从而来处理此任务。然后,您可以针对所有后续堆栈使用该角色。有关更多信息,请参阅允许 AWS OpsWorks Stacks 代表您执行操作。
创建首个堆栈的管理用户必须有权执行未包含在 AWSOpsWorks_FullAccess 策略中的某些 IAM 操作。为策略中的 Actions
节添加以下权限。要获得正确的 JSON 语法,请务必在操作之间添加逗号,并删除操作列表末尾的尾部逗号。
"iam:PutRolePolicy", "iam:AddRoleToInstanceProfile", "iam:CreateInstanceProfile", "iam:CreateRole"
Manage 权限
Manage 权限级别允许用户执行各种堆栈管理操作,包括添加或删除层。本主题介绍了几种策略,您可以使用这些策略 Manage 用户,以扩充或限制标准权限。
- 拒绝 Manage 用户添加或删除层
-
您可以通过使用以下 IAM policy,将 Manage 权限级别限制为允许用户执行除添加或删除层之外的所有 Manage 操作。将
区域
、账户 ID
和stack_id
替换为适合您配置的值。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "opsworks:CreateLayer", "opsworks:DeleteLayer" ], "Resource": "arn:aws:opsworks:
region
:account_id
:stack/stack_id
/" } ] } - 允许 Manage 用户创建或克隆堆栈
-
Manage 权限级别不允许用户创建或克隆堆栈。您可以通过附加以下 IAM policy 来更改 Manage 权限,从而允许用户创建或克隆堆栈。将
区域
和账户 ID
替换为适合您配置的值。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:GetRolePolicy", "iam:ListRoles", "iam:ListInstanceProfiles", "iam:ListUsers", "opsworks:DescribeUserProfiles", "opsworks:CreateUserProfile", "opsworks:DeleteUserProfile" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:opsworks::
account_id
:stack/*/", "Condition": { "StringEquals": { "iam:PassedToService": "opsworks.amazonaws.com" } } } ] } - 拒绝 Manage 用户注册或取消注册资源
-
管理权限级别允许用户在堆栈中注册和取消注册 Amazon EBS 和 Elastic IP 地址资源。您可以通过附加以下策略来限制 Manage 权限,从而允许用户执行除注册资源之外的所有 Manage 操作。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "opsworks:RegisterVolume", "opsworks:RegisterElasticIp" ], "Resource": "*" } ] }
- 允许 Manage 用户导入用户
-
Manage (管理) 权限级别不允许用户向 AWS OpsWorks Stacks 导入用户。您可以通过附加以下 IAM policy 来扩充 Manage 权限,从而允许用户导入和删除用户。将
区域
和账户 ID
替换为适合您配置的值。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:GetRolePolicy", "iam:ListRoles", "iam:ListInstanceProfiles", "iam:ListUsers", "iam:PassRole", "opsworks:DescribeUserProfiles", "opsworks:CreateUserProfile", "opsworks:DeleteUserProfile" ], "Resource": "arn:aws:iam:
region
:account_id
:user/*", "Condition": { "StringEquals": { "iam:PassedToService": "opsworks.amazonaws.com" } } } ] }
Deploy 权限
Deploy 权限级别不允许用户创建或删除应用程序。您可以通过附加以下 IAM policy 来扩充 Deploy 权限,从而允许用户创建和删除应用程序。将区域
、账户 ID
和 stack_id
替换为适合您配置的值。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "opsworks:CreateApp", "opsworks:DeleteApp" ], "Resource": "arn:aws:opsworks:
region
:account_id
:stack/stack_id
/" } ] }