AWS Secrets Manager のアクション、リソース、および条件キー
AWS Secrets Manager (サービスプレフィックス: secretsmanager) では、IAM アクセス許可ポリシーで使用できるように、以下のサービス固有のリソースやアクション、条件コンテキストキーが用意されています。
参照:
-
このサービスを設定する方法について説明します。
-
このサービスで使用可能な API オペレーションのリストを表示します。
-
IAM アクセス許可ポリシーを使用して、このサービスとそのリソースを保護する方法を学びます。
AWS Secrets Manager で定義されるアクション
IAM ポリシーステートメントの Action エレメントでは、以下のアクションを指定できます。ポリシーを使用して、AWS でオペレーションを実行するアクセス許可を付与します。ポリシーでアクションを使用する場合は、通常、同じ名前の API オペレーションまたは CLI コマンドへのアクセスを許可または拒否します。ただし、場合によっては、1 つのアクションによって複数のオペレーションへのアクセスが制御されます。あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。
アクションテーブルの [アクセスレベル] 列では、アクションの指定方法 (リスト、読み取り、アクセス許可管理、タグ付け) について説明します。このように分類することで、ポリシーで使用する際にアクションで付与するアクセスレベルを理解しやすくなります。アクセスレベルの詳細については、「ポリシー概要内のアクセスレベル」を参照してください。
[アクション] テーブルの [リソースタイプ] 列は、各アクションがリソースレベルの許可をサポートしているかどうかを示します。この列に値がない場合は、ポリシーステートメントの Resource 要素で、ポリシーが適用されるすべてのリソース (「*」) を指定する必要があります。列にリソースタイプが含まれる場合、そのアクションを含むステートメントでそのタイプの ARN を指定できます。アクションで 1 つ以上のリソースが必須となっている場合、呼び出し元には、それらのリソースを伴うアクションを使用するための許可が付与されている必要があります。必須リソースは、アスタリスク (*) でテーブルに示されています。IAM ポリシーの Resource 要素でリソースアクセスを制限する場合は、必要なリソースタイプごとに ARN またはパターンを含める必要があります。一部のアクションでは、複数のリソースタイプがサポートされています。リソースタイプがオプション (必須として示されていない) の場合、オプションのリソースタイプのいずれかを使用することを選択できます。
[アクション] テーブルの [条件キー] 列には、ポリシーステートメントの Condition 要素で指定できるキーが含まれます。サービスのリソースに関連付けられている条件キーの詳細については、[リソースタイプ] テーブルの [条件キー] 列を参照してください。
Actions テーブルの [依存アクション] 列には、アクションを正常に呼び出すために必要な追加のアクセス許可が表示されます。これらのアクセス許可は、アクション自体のアクセス許可に加えて必要になる場合があります。アクションが依存アクションを指定すると、それらの依存関係は、テーブルにリストされている最初のリソースだけでなく、そのアクションに定義された追加のリソースに適用される場合があります。
注記
リソース条件キーは、リソースタイプテーブルに一覧表示されています。アクションに適用されるリソースタイプへのリンクは、[アクション] テーブルの [リソースタイプ (* 必須)] 列にあります。[リソースタイプ] テーブルのリソースタイプには、[アクション] テーブルのアクションに適用されるリソース条件キーである、[条件キー] 列が含まれています。
以下の表の列の詳細については、「アクションテーブル」を参照してください。
AWS Secrets Manager で定義されるリソースタイプ
以下のリソースタイプは、このサービスによって定義され、IAM アクセス許可ポリシーステートメントの Resource エレメントで使用できます。アクションテーブルの各アクションは、そのアクションで指定できるリソースタイプを示しています。リソースタイプは、ポリシーに含めることができる条件キーを定義することもできます。これらのキーは、[リソースタイプ] テーブルの最後の列に表示されます。以下の表の列の詳細については、「リソースタイプテーブル」を参照してください。
| リソースタイプ | ARN | 条件キー |
|---|---|---|
| Secret |
arn:${Partition}:secretsmanager:${Region}:${Account}:secret:${SecretId}
|
AWS Secrets Manager の条件キー
AWS Secrets Manager は、Condition IAMポリシーの 要素で使用できる次の条件キーを定義します。これらのキーを使用して、ポリシーステートメントが適用される条件をさらに絞り込むことができます。以下の表の列の詳細については、「条件キーテーブル」を参照してください。
すべてのサービスで使用できるグローバル条件キーを確認するには、「AWSグローバル条件コンテキストキー」を参照してください。
| 条件キー | 説明 | [Type] (タイプ) |
|---|---|---|
| aws:RequestTag/${TagKey} | ユーザーが Secrets Manager サービスに対して行うリクエストに含まれるキーによってアクセスをフィルタリングします。 | 文字列 |
| aws:ResourceTag/${TagKey} | リソースに関連付けられたタグでアクセスをフィルタリングします | 文字列 |
| aws:TagKeys | ユーザーが Secrets Manager サービスに行うリクエストに存在するすべてのタグキー名のリストに基づいて、アクセスをフィルタリングします。 | ArrayOfString |
| secretsmanager:AddReplicaRegions | シークレットをレプリケートするリージョンのリストでアクセスをフィルタリングします。 | ArrayOfString |
| secretsmanager:BlockPublicPolicy | リソースポリシーが広範な AWS アカウント アクセスをブロックするかどうかによって、アクセスをフィルタリングします。 | Bool |
| secretsmanager:Description | リクエスト内の記述テキストによるアクセスをフィルタリングします。 | 文字列 |
| secretsmanager:ForceDeleteWithoutRecovery | シークレットがリカバリウィンドウなしですぐに削除されるかどうかによりアクセスをフィルタリングします。 | Bool |
| secretsmanager:ForceOverwriteReplicaSecret | 宛先リージョンで同じ名前のシークレットを上書きするかどうかでアクセスをフィルタリングします。 | Bool |
| secretsmanager:KmsKeyArn | リクエスト内の KMS キーの ARN でアクセスをフィルタリングします。 | ARN |
| secretsmanager:KmsKeyId | リクエスト内の KMS キーのキー識別子でアクセスをフィルタリングします。非推奨: secretsmanager:KmsKeyArn を使用する | 文字列 |
| secretsmanager:ModifyRotationRules | シークレットのローテーションルールを変更するかどうかに基づいて、アクセスをフィルタリングします。 | Bool |
| secretsmanager:Name | リクエスト内のシークレットのフレンドリー名によるアクセスをフィルタリングします。 | 文字列 |
| secretsmanager:RecoveryWindowInDays | Secrets Manager がシークレットを削除するまで待機する日数でアクセスをフィルタリングします。 | 数値 |
| secretsmanager:ResourceTag/tag-key | タグキーおよび値のペアでアクセスをフィルタリングします。 | 文字列 |
| secretsmanager:RotateImmediately | シークレットを直ちにローテーションするかどうかに基づいて、アクセスをフィルタリングします。 | Bool |
| secretsmanager:RotationLambdaARN | リクエスト内のローテーション Lambda 関数の ARN によるアクセスをフィルタリングします。 | ARN |
| secretsmanager:SecretId | リクエスト内の SecretID 値によるアクセスをフィルタリングします。 | ARN |
| secretsmanager:SecretPrimaryRegion | シークレットがマルチリージョンシークレットだった場合、シークレットが作成されるプライマリリージョンでアクセスをフィルタリングします。 | 文字列 |
| secretsmanager:VersionId | リクエスト内のシークレットのバージョンの唯一の識別子でアクセスをフィルタリングします。 | 文字列 |
| secretsmanager:VersionStage | リクエスト内のバージョンステージのリストでアクセスをフィルタリングします。 | 文字列 |
| secretsmanager:resource/AllowRotationLambdaArn | シークレットに関連するローテーション Lambda 関数の ARN によるアクセスをフィルタリングします。 | ARN |