Amazon Aurora DSQL での IAM 条件キーの使用
Condition 要素 (または Condition ブロック) は、ポリシーのステートメントが有効となる条件を指定します。StringEquals や StringLike などの条件演算子を使用して条件式を構築し、ポリシー内のキーをリクエスト内の値と照合します。条件キーは、Resource 要素を使用してアクションを特定のリソースに制限するリソース ARN スコープとは異なります。
Amazon Aurora DSQL は、サービス固有の条件キーと AWS グローバル条件キーの両方をサポートしています。これらのキーを使用して、IAM ポリシーステートメントが適用される条件を絞り込むことができます。AWS グローバル条件キーの詳細については、「IAM ユーザーガイド」の「AWS グローバル条件コンテキストキー」を参照してください。
Amazon Aurora DSQL で使用できる条件キー
Amazon Aurora DSQL は、サービス固有の条件キー dsql:WitnessRegion、dsql:FisActionId、および dsql:FisTargetArns をサポートしています。aws:RequestTag、aws:ResourceTag、aws:TagKeys などの AWS グローバル条件キーを使用することもできます。Amazon Aurora DSQL アクションの完全なリストとポリシーで指定できるリソースについては、「サービス認可リファレンス」の「Amazon Aurora DSQL のアクション、リソース、および条件キー」を参照してください。
例: マルチリージョンクラスターの監視リージョンを制限する
次のポリシーでは、dsql:WitnessRegion 条件キーを使用して、監視リージョンが米国西部 (オレゴン) の場合にのみ、マルチリージョンクラスターの作成を許可しています。この条件がない場合、任意のリージョンを監視リージョンとして指定できます。
最初のステートメントは、dsql:WitnessRegion 条件を、それをサポートするアクション (dsql:CreateCluster および dsql:PutWitnessRegion) に適用します。2 番目のステートメントは、条件なしで dsql:PutMultiRegionProperties と dsql:AddPeerCluster を許可します。これは、dsql:WitnessRegion 条件キーが dsql:CreateCluster および dsql:PutWitnessRegion にのみ適用されるためです。
例: クラスターの作成時にタグを必須にする
次のポリシーでは、aws:RequestTag および aws:TagKeys 条件キーを使用して、クラスターの作成時に Environment タグを必須にしています。
このポリシーは 2 つの条件キーを一緒に使用します。aws:RequestTag/Environment 条件では、Environment タグが許可された値のいずれかを持つことが求められます。ForAllValues 集合演算子を使用した aws:TagKeys 条件は、リクエストに Environment および Owner タグキーのみが含まれるようにします。
例: 特定のクラスターへのフォールトインジェクションを制限する
次のポリシーでは、dsql:FisActionId および dsql:FisTargetArns 条件キーを使用して、AWS FIS によるフォールトインジェクションを特定のアクションとターゲットクラスターに制限します。
この dsql:FisActionId 条件は、実行できるフォールトインジェクションアクションを制限します。dsql:FisTargetArns 条件は ForAllValues 集合演算子と ArnLike 演算子を使用します。これにより、リクエスト内のすべてのクラスター ARN が許可されたパターンと一致するようになります。これにより、意図した範囲外のクラスター ARN を含むリクエストがブロックされます。