IAM でごみ箱へのアクセスを制御
デフォルトでは、ユーザーには、ごみ箱、保持ルール、またはごみ箱にあるリソースを操作する許可はありません。ユーザーがこれらのリソースを利用するには、特定のリソースと API アクションを使用する許可を付与する IAM ポリシーを作成する必要があります。ポリシーを作成したら、ユーザー、グループ、ロールにアクセス許可を追加する必要があります。
ごみ箱および保持ルールを操作するための許可
ごみ箱と保持ルールを使用するには、次の許可をユーザーに付与する必要があります。
-
rbin:CreateRule
-
rbin:UpdateRule
-
rbin:GetRule
-
rbin:ListRules
-
rbin:DeleteRule
-
rbin:TagResource
-
rbin:UntagResource
-
rbin:ListTagsForResource
-
rbin:LockRule
-
rbin:UnlockRule
ごみ箱コンソールを使用するには、ユーザーに tag:GetResources
許可が必要です。
以下は、コンソールユーザーの tag:GetResources
許可を含む IAM ポリシーの例です。一部の許可が不要な場合は、ポリシーから削除できます。
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "rbin:CreateRule", "rbin:UpdateRule", "rbin:GetRule", "rbin:ListRules", "rbin:DeleteRule", "rbin:TagResource", "rbin:UntagResource", "rbin:ListTagsForResource", "rbin:LockRule", "rbin:UnlockRule", "tag:GetResources" ], "Resource": "*" }] }
アクセス権限を付与するには、ユーザー、グループ、またはロールにアクセス許可を追加します。
-
AWS IAM Identity Center のユーザーとグループ:
アクセス許可セットを作成します。「AWS IAM Identity Center ユーザーガイド」の「権限設定を作成する」の手順に従ってください。
-
IAM 内で、ID プロバイダーによって管理されているユーザー:
ID フェデレーションのロールを作成します。詳細については、「IAM ユーザーガイド」の「サードパーティー ID プロバイダー (フェデレーション) 用のロールの作成」を参照してください。
-
IAM ユーザー:
-
ユーザーが担当できるロールを作成します。手順については、「IAM ユーザーガイド」の「IAM ユーザー用ロールの作成」を参照してください。
-
(お奨めできない方法) ポリシーをユーザーに直接アタッチするか、ユーザーをユーザーグループに追加する。詳細については、「IAM ユーザーガイド」の「ユーザー (コンソール) へのアクセス権限の追加」を参照してください。
-
ごみ箱内のリソースを操作するための許可
ごみ箱内のリソースを操作するために必要な IAM 許可の詳細については、次を参照してください。
[Condition keys for Recycle Bin] (ごみ箱の条件キー)
ごみ箱は、IAM ポリシーのCondition
要素に使用できる次の条件キーを定義し、ポリシーステートメントが適用される条件を制御します。詳細については、[IAM User Guide] (IAM ユーザーガイド) の [IAM JSON policy elements: Condition] (IAM JSON ポリシー要素:条件) を参照してください。
rbin:Request/ResourceType
条件キー
このrbin:Request/ResourceType
条件キーを使用して、ResourceType
リクエストパラメータで指定された値に基づいて[CreateRule]と[ListRules]リクエストのアクセスをフィルタリングするために使用することができます。
例 1 - CreateRule
次のサンプルの IAM ポリシーは、ResourceType
リクエストパラメーターに指定された値がEBS_SNAPSHOT
またはEC2_IMAGE
である場合のみ IAM プリンシパルに [CreateRule] リクエストを行うことを許可します。これにより、プリンシパルはスナップショットと AMI に対してのみ新しい保存ルールを作成できます。
{ "Version" : "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" :[ "rbin:CreateRule" ], "Resource" : "*", "Condition" : { "StringEquals" : { "rbin:Request/ResourceType" : ["EBS_SNAPSHOT", "EC2_IMAGE"] } } } ] }
例 2 - ListRules
次のサンプル IAM ポリシーは、ResourceType
リクエストパラメーターに指定した値がEBS_SNAPSHOT
の場合にのみ、IAM プリンシパルが ListRules に要求を行うことを許可します。これにより、プリンシパルはスナップショットの保存ルールのみを一覧表示でき、他のリソースタイプの保存ルールを一覧表示できなくなります。
{ "Version" : "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" :[ "rbin:ListRules" ], "Resource" : "*", "Condition" : { "StringEquals" : { "rbin:Request/ResourceType" : "EBS_SNAPSHOT" } } } ] }
rbin:Attribute/ResourceType
条件キー
rbin:Attribute/ResourceType
条件キーを使用し、保存ルールの ResourceType
属性の値に基づいた DeleteRule、GetRule、UpdateRule、LockRule、UnlockRule、TagResource、UntagResource、 ListTagsForResource リクエストへのアクセスをフィルタリングできます。
例 1 - UpdateRule
次のサンプル IAM ポリシーは、ResourceType
要求されたリテンションルールの属性がEBS_SNAPSHOT
またはEC2_IMAGE
の場合にのみ、IAM プリンシパルが UpdateRule に要求を行うことを許可します。これにより、プリンシパルはスナップショットと AMI の保持ルールのみを更新できます。
{ "Version" : "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" :[ "rbin:UpdateRule" ], "Resource" : "*", "Condition" : { "StringEquals" : { "rbin:Attribute/ResourceType" : ["EBS_SNAPSHOT", "EC2_IMAGE"] } } } ] }
例 2 - DeleteRule
次のサンプル IAM ポリシーは、ResourceType
要求されたリテンションルールの属性がEBS_SNAPSHOT
の場合にのみ、IAM プリンシパルが DeleteRule に要求を行うことを許可します。これにより、プリンシパルはスナップショットの保存ルールのみを削除できます。
{ "Version" : "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" :[ "rbin:DeleteRule" ], "Resource" : "*", "Condition" : { "StringEquals" : { "rbin:Attribute/ResourceType" : "EBS_SNAPSHOT" } } } ] }