複数値のコンテキストキーの主な例
次の一連のポリシーの例では、複数値のコンテキストキーを使用してポリシー条件を作成する方法を示しています。
例:条件集合演算子の ForAllValues を使用している拒否ポリシー
次の例では、特定のタグキープレフィックスがリクエストに含まれている場合に、ID ベースのポリシーが IAM タグ付けアクションの使用を拒否する仕組みを示します。aws:TagKeys の値には、文字列の部分一致を目的としたワイルドカード (*) が含まれています。リクエストコンテキストキーには複数の値を含められるため、コンテキストキー aws:TagKeys
を使用しているセット演算子 ForAllValues
がポリシーに含まれています。コンテキストキー aws:TagKeys
が一致するには、リクエストコンテキストのすべての値がポリシーの 1 つ以上の値と一致する必要があります。
ForAllValues
集合演算子は、リクエストにコンテキストキーがない場合にも true を返します。
Null
条件演算子を false
の値でポリシーに含め、リクエストにコンテキストキーが存在することとその値が null でないことをチェックすることによって、欠落したコンテキストキーや、空の値を含むコンテキストキーが true と評価されることを防止できます。詳細については、「条件キーの有無をチェックする条件演算子 」を参照してください。
重要
このポリシーでは、アクションを許可しません。特定のアクションを許可する他のポリシーと組み合わせてこのポリシーを使用します。
例 複数の値を持つコンテキストキーの単一のポリシー条件値を拒否する
次の例では、ポリシーは、リクエスト内の aws:TagKeys
の値にプレフィックス key1 が含まれていないリクエストを拒否します。リクエストコンテキストには複数の値を含めることができますが、ForAllValues
条件集合演算子の要件を満たすために、リクエストコンテキスト内のすべてのタグキー値はプレフィックス key1 で始まる必要があります。
次の表は、AWS がリクエストの条件キー値に基づいてこのポリシーを評価する方法を示しています。Deny ステートメントの場合、「一致」は拒否され、「一致なし」は拒否されないため、別のステートメントで許可される場合があります。
ポリシー条件 | リクエストコンテキスト | 結果 |
---|---|---|
|
|
一致なし 別のステートメントで許可される場合があります。 |
|
|
一致なし 別のステートメントで許可される場合があります。 |
|
|
一致 |
|
リクエストコンテキストに |
一致 |
例 複数の値を含むコンテキストキーの複数のポリシー条件値を拒否する
次の例では、ポリシーは、リクエスト内の aws:TagKeys
の値に key 1 または key 2 というプレフィックスが含まれていないリクエストを拒否します。リクエストコンテキストには複数の値を含めることができますが、条件集合演算子 ForAllValues
の要件を満たすために、リクエストコンテキスト内のすべてのタグキー値は、プレフィックス key1 または key2 で始まる必要があります。
次の表は、AWS がリクエストの条件キー値に基づいてこのポリシーを評価する方法を示しています。Deny ステートメントの場合、「一致」は拒否され、「一致なし」は拒否されないため、別のステートメントで許可される場合があります。
ポリシー条件 | リクエストコンテキスト | 結果 |
---|---|---|
|
|
一致なし 別のステートメントで許可される場合があります。 |
|
|
一致なし 別のステートメントで許可される場合があります。 |
|
|
一致なし 別のステートメントで許可される場合があります。 |
|
|
一致 |
|
リクエストコンテキストに |
一致 |
例:条件集合演算子の ForAnyValue を使用している拒否ポリシー
次の ID ベースのポリシーの例では、ポリシー、environment
または webserver
で指定されているタグキーのいずれかでタグ付けされたスナップショットがある場合、EC2 インスタンスボリュームのスナップショットの作成を拒否します。リクエストコンテキストキーには複数の値を含められるため、コンテキストキー aws:TagKeys
を使用しているセット演算子 ForAnyValue
がポリシーに含まれています。ポリシーで指定されたタグキーの値が、タグ付けリクエストに 1 つでも含まれている場合、aws:TagKeys
コンテキストキーは true を返し、拒否ポリシーの効果をもたらします。
重要
このポリシーでは、アクションを許可しません。特定のアクションを許可する他のポリシーと組み合わせてこのポリシーを使用します。
次の表は、AWS がリクエストの条件キー値に基づいてこのポリシーを評価する方法を示しています。Deny ステートメントの場合、「一致」は拒否され、「一致なし」は拒否されないため、別のステートメントで許可される場合があります。
ポリシー条件 | リクエストコンテキスト | 結果 |
---|---|---|
|
|
一致 |
|
|
一致 |
|
|
一致なし 別のステートメントで許可される場合があります。 |
|
リクエストコンテキストに |
一致なし 別のステートメントで許可される場合があります。 |