翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon での ModifyInstanceGroup アクションの拒否 EMR
Amazon の ModifyInstanceGroupsアクションEMRでは、 アクションでクラスター ID を指定する必要はありません。代わりに、インスタンスグループ ID のみを指定できます。このため、クラスター ID またはクラスタータグに基づくこのアクションに対する単純な拒否ポリシーでは、意図した効果が得られない可能性があります。次のポリシー例を考えます。
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticmapreduce:ModifyInstanceGroups" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "elasticmapreduce:ModifyInstanceGroups" ], "Effect": "Deny", "Resource": "arn:aws:elasticmapreduce:us-east-1:123456789012:cluster/j-12345ABCDEFG67" } ] }
このポリシーがアタッチされたユーザーが ModifyInstanceGroup
アクションを実行し、インスタンスグループ ID のみを指定した場合、このポリシーは適用されません。アクションは他のすべてのリソースで許可されるため、アクションは成功します。
この問題の解決策は、 NotResource要素を使用してクラスター ID なしで発行されたModifyInstanceGroup
アクションを拒否するポリシーステートメントを ID にアタッチすることです。次のポリシー例では、このような deny ステートメントを追加して、クラスター ID が指定されていない限り、ModifyInstanceGroups
リクエストが失敗するようにします。ID はアクションでクラスター ID を指定する必要があるため、クラスター ID に基づく deny ステートメントが有効になります。
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticmapreduce:ModifyInstanceGroups" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "elasticmapreduce:ModifyInstanceGroups" ], "Effect": "Deny", "Resource": "arn:aws:elasticmapreduce:us-east-1:123456789012:cluster/j-12345ABCDEFG67" }, { "Action": [ "elasticmapreduce:ModifyInstanceGroups" ], "Effect": "Deny", "NotResource": "arn:*:elasticmapreduce:*:*:cluster/*" } ] }
クラスタータグに関連付けられた値に基づいて ModifyInstanceGroups
アクションを拒否する場合にも同様の問題が存在します。解決策も同様です。タグ値を指定する deny ステートメントに加えて、値に関係なく、指定したタグが存在しない場合に ModifyInstanceGroup
アクションを拒否するポリシーステートメントを追加できます。
次の例では、ID にアタッチされたときに、タグ department
が dev
に設定されているクラスターでその ID に対して ModifyInstanceGroups
アクションを拒否するポリシーを示しています。StringNotLike
条件を使用して department
タグが存在しない限りアクションを拒否する deny ステートメントのため、このステートメントのみが有効です。
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticmapreduce:ModifyInstanceGroups" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "elasticmapreduce:ModifyInstanceGroups" ], "Condition": { "StringEquals": { "aws:ResourceTag/department": "dev" } }, "Effect": "Deny", "Resource": "*" }, { "Action": [ "elasticmapreduce:ModifyInstanceGroups" ], "Condition": { "StringNotLike": { "aws:ResourceTag/department": "?*" } }, "Effect": "Deny", "Resource": "*" } ], }