ポリシーの例 - AWS OpsWorks

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ポリシーの例

重要

AWS OpsWorks Stacks は新規顧客を受け付けなくなりました。既存のお客様は、2024 年 5 月 26 日までは OpsWorks コンソール、 API、 CLI、 および CloudFormation リソースを通常どおり使用できますが、その時点でこれらのリソースは廃止されます。この移行に備えて、できるだけ早くスタックを AWS Systems Manager に移行することをおすすめします。詳細については、AWS OpsWorks Stacks サポート終了に関する FAQ および AWS Systems Manager アプリケーションマネージャへの AWS OpsWorks Stacks アプリケーションの移行 を参照してください。

このセクションでは、AWS OpsWorks スタックユーザーに適用できる IAM ポリシーの例を説明します。

管理権限

IAMコンソール (https://console.aws.amazon.com/iam/)を使用して、AWSOpsWorks_FullAccess ポリシーにアクセスし、このポリシーをユーザーにアタッチして、AWS OpsWorks スタックのすべてのアクションを実行する権限を付与します。ユーザーのインポートを管理ユーザーに許可するなど、特定の操作については、IAM の権限が必須となります。

IAMロール を作成して、 AWS OpsWorksスタックがユーザーの代わりに、Amazon EC2 インスタンスなど他のAWSリソースにアクセスできるようにする必要があります。通常この作業は、管理ユーザーに最初のスタックを作成してもらい、AWS OpsWorks スタックで自動的にロールを作成することによって行います。以後そのロールは、後続のすべてのスタックで使用することができます。詳細については、「ユーザーに代わって AWS OpsWorks スタックがタスクを実行できるようにする」を参照してください。

最初のスタックを作成する管理ユーザーは、AWSOpsWorks_FullAccess ポリシーに含まれていない特定の IAM アクションに対する権限を持っている必要があります。ポリシーの Actions セクションに、次のアクセス許可を追加します。適切な JSON 構文のために、アクション間にカンマを追加し、アクションのリストの末尾にあるコンマを削除してください。

"iam:PutRolePolicy", "iam:AddRoleToInstanceProfile", "iam:CreateInstanceProfile", "iam:CreateRole"

アクセス許可の管理

Manage 権限レベルのユーザーは、レイヤーの追加と削除を含め、さまざまなスタック管理アクションを実行できます。このトピックでは、管理 ユーザーにアタッチすることで、標準の権限を制限したり補足したりできるいくつかのポリシーについて説明します。

Manage ユーザーによるレイヤーの追加と削除を拒否する

管理 権限レベルを制限し、レイヤーの追加と削除を除くすべての 管理 アクションの実行を許可するには、次の IAM ポリシーをアタッチします。リージョンaccount_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 ポリシーをアタッチすることで、ユーザーがスタックの作成やクローン化を作成できるように 管理 を変更することができます。リージョン および account_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 アドレスリソースの登録および登録解除を行うことができます。リソースの登録を除くすべての 管理 アクションを許可するように 管理 権限を制限するには、次のポリシーを適用します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "opsworks:RegisterVolume", "opsworks:RegisterElasticIp" ], "Resource": "*" } ] }
ユーザーのインポートを Manage ユーザーに許可する

Manage 権限レベルでは、AWS OpsWorksスタックにユーザーをインポートすることができません。ユーザーをインポートしたり削除したりできるように 管理 権限を補足するには、次の IAM ポリシーを適用します。リージョン および account_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 ポリシーをアタッチします。リージョンaccount_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/" } ] }