示例策略 - AWS OpsWorks

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

示例策略

重要

该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止,新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问,请通过 re AWS : Post 或通过 Pre mium Su AWS pp ort 与 AWS Support 团队联系。

本节介绍可应用于 AWS OpsWorks Stacks 用户的 IAM 策略示例。

管理权限

使用 IAM 控制台 https://console.aws.amazon.com/iam/ 访问 AWSOpsWorks_FullAccess 策略,将此策略附加到用户以授予他们执行所有 AWS OpsWorks Stacks 操作的权限。除其他权限外,还需要 IAM 权限,以允许管理用户导入用户。

您必须创建一个 IAM 角色,允许 AWS OpsWorks 堆栈代表您访问其他 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 操作。将区域账户 IDstack_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 用户导入用户

管理权限级别不允许用户将用户导入 AWS OpsWorks 堆栈。您可以通过附加以下 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 权限,从而允许用户创建和删除应用程序。将区域账户 IDstack_id 替换为适合您配置的值。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "opsworks:CreateApp", "opsworks:DeleteApp" ], "Resource": "arn:aws:opsworks:region:account_id:stack/stack_id/" } ] }