翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
タグへのアクセスを制御する
API を使用して、タグを追加、表示、削除するには、 コンソールまたは API を使用して、プリンシパルがIAM ポリシーでタグ付けされている必要があります。
タグ AWS のグローバル条件キーを使用して、これらのアクセス許可を制限することもできます。 AWS Payment Cryptography ではこれらの条件により、TagResource および UntagResource のようなタグ付けオペレーションへのアクセスを制御できます。
サンプルポリシーおよび詳細については、「IAM ユーザーガイド」の「タグキーに基づいたアクセス制御」を参照してください。
タグを作成および管理するためのアクセス許可は、次のように機能します。
- payment-cryptography:TagResource
-
プリンシパルにタグの追加または編集を許可します。キーの作成中にタグを追加するには、プリンシパルが特定のキーに制限されない IAM ポリシーでアクセス許可を持っている必要があります。
- payment-cryptography:ListTagsForResource
-
プリンシパルがキーのタグを表示できるようにします。
- payment-cryptography:UntagResource
-
プリンシパルがキーからタグを削除できるようにします。
ポリシーのタグ付け許可
キーポリシーまたは IAM ポリシーでタグ付け許可を付与できます。例えば、次のキーポリシーの例では、選択したユーザーにキーに対するタグ付け許可が付与されます。これにより、サンプルの管理者ロールまたはデベロッパーロールを引き受けることができるすべてのユーザーにタグを表示する許可が付与されます。
{ "Version": "2012-10-17", "Id": "example-key-policy", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:root"}, "Action": "payment-cryptography:*", "Resource": "*" }, { "Sid": "Allow all tagging permissions", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:user/LeadAdmin", "arn:aws:iam::111122223333:user/SupportLead" ]}, "Action": [ "payment-cryptography:TagResource", "payment-cryptography:ListTagsForResource", "payment-cryptography:UntagResource" ], "Resource": "*" }, { "Sid": "Allow roles to view tags", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:role/Administrator", "arn:aws:iam::111122223333:role/Developer" ]}, "Action": "payment-cryptography:ListResourceTags", "Resource": "*" } ] }
プリンシパルに複数のキーに対するタグ付け許可を付与するには、IAM ポリシーを使用します。このポリシーを有効にするには、各キーのキーポリシーで、アカウントが IAM ポリシーを使用してキーへのアクセスを制御することを許可する必要があります。
例えば、次の IAM ポリシーではプリンシパルがキーを作成することを許可します。指定したアカウントのすべてのキーでタグを作成および管理することもできます。この組み合わせにより、プリンシパルは CreateKey オペレーションのタグパラメータを使用して、キー作成時にキーにタグを追加できます。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMPolicyCreateKeys", "Effect": "Allow", "Action": "payment-cryptography:CreateKey", "Resource": "*" }, { "Sid": "IAMPolicyTags", "Effect": "Allow", "Action": [ "payment-cryptography:TagResource", "payment-cryptography:UntagResource", "payment-cryptography:ListTagsForResource" ], "Resource": "arn:aws:payment-cryptography:*:111122223333:key/*" } ] }
タグ付け許可を制限する
ポリシー条件を使用して、タグ付け許可を制限できます。次のポリシー条件を payment-cryptography:TagResource
および payment-cryptography:UntagResource
許可に適用できます。例えば、aws:RequestTag/tag-key
条件を使用して、プリンシパルが特定のタグのみを追加できるようにするか、プリンシパルが特定のタグキーを持つタグを追加しないように許可できます。
-
aws:ResourceTag/tag-key (IAM ポリシーのみ)
ベストプラクティスとして、タグを使用してキーへのアクセスを制御する場合は、aws:RequestTag/tag-key
またはaws:TagKeys
条件キーを使用して、許可するタグ (またはタグキー) を決定します。
例えば、次の IAM ポリシーは前述のものと似ています。ただしこのポリシーでは、プリンシパルはタグ (TagResource
) の作成とタグ UntagResource
の削除を、Project
タグキーを持つタグに対してのみ実行できます。
TagResource
および UntagResource
リクエストは複数のタグを含む可能性があるため、ForAllValues
または ForAnyValue
集合演算子をaws:TagKeys 条件で指定する必要があります。ForAnyValue
演算子では、リクエスト内のタグキー 1 つ以上が、ポリシーのタグキーの 1 つと一致する必要があります。ForAllValues
演算子では、リクエスト内のタグキーすべてが、ポリシーのタグキーの 1 つと一致する必要があります。ForAllValues
演算子はリクエストにタグがない場合も true
を返しますが、TagResource と UntagResource は、タグが指定されていない場合、失敗します。集合演算子の詳細については、「IAM ユーザーガイド」の「複数のキーと値の使用」を参照してください。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMPolicyCreateKey", "Effect": "Allow", "Action": "payment-cryptography:CreateKey", "Resource": "*" }, { "Sid": "IAMPolicyViewAllTags", "Effect": "Allow", "Action": "payment-cryptography:ListResourceTags", "Resource": "arn:aws:payment-cryptography:*:111122223333:key/*" }, { "Sid": "IAMPolicyManageTags", "Effect": "Allow", "Action": [ "payment-cryptography:TagResource", "payment-cryptography:UntagResource" ], "Resource": "arn:aws:payment-cryptography:*:111122223333:key/*", "Condition": { "ForAllValues:StringEquals": {"aws:TagKeys": "Project"} } } ] }