翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
RCP 構文
リソースコントロールポリシー (RCP) は、リソースベースのポリシーで使用されるものと同じ構文を使用します。IAM ポリシーの詳細とその構文については、IAM ユーザーガイドの「IAM ポリシーの概要」を参照してください。
RCP は JSON
注記
RCP 内のすべての文字は、その上限サイズに対してカウントされます。このガイドの例では、読みやすさを向上させるため、空白文字を追加してフォーマットされた RCP を示しています。ただし、ポリシーサイズが上限サイズに近づいている場合は、スペースを節約するために、引用符の外側にあるすべての空白文字 (スペースや改行など) を削除できます。
RCP に関する一般情報については、「リソースコントロールポリシー (RCP)」を参照してください。
要素の概要
次の表には、RCP で使用できるポリシー要素を要約しています。
注記
Allow の効果は、RCPFullAWSAccess ポリシーでのみサポートされます。
Allow の効果は、RCPFullAWSAccess ポリシーでのみサポートされます。このポリシーは、リソースコントロールポリシー (RCP) を有効化すると、組織のルート、すべての OU、および組織内のすべてのアカウントに自動的にアタッチされます。このポリシーをデタッチすることはできません。このデフォルトの RCP では、プリンシパルとアクションへのアクセスがすべて RCP 評価を通過します。つまり、RCP を作成してアタッチするまで、既存の IAM アクセス許可がすべてそのまま維持されます。これにより、アクセスは付与されません。
| 要素 | 目的 |
|---|---|
| Version | ポリシーの処理に使用する言語構文ルールを指定します。 |
| Statement | ポリシー要素のコンテナとして機能します。RCP には複数のステートメントを含めることができます。 |
| Statement ID (Sid) | (オプション) ステートメントにわかりやすい名前を付けます。 |
| [Effect] (効果) | RCP ステートメントがアカウントのリソースへのアクセスを拒否するかどうかを定義します。 |
| プリンシパル | アカウントのリソースへのアクセスを許可または拒否するプリンシパルを指定します。 |
|
RCP が許可または拒否する AWS サービスとアクションを指定します。 |
|
| [リソース] | RCP が適用される AWS リソースを指定します。 |
| NotResource |
RCP から除外される AWS リソースを指定します。 |
| 条件 | ステートメントを実行するタイミングの条件を指定します。 |
トピック
Version 要素
すべての RCP には、"2012-10-17" 値を持つ要素 Version が含まれる必要があります。これは、IAM アクセス許可ポリシーの最新バージョンと同じバージョンの値です。
詳細については、IAM ユーザーガイドの「IAM JSON ポリシー要素: Version」を参照してください。
Statement 要素
RCP は、1 つ以上の Statement 要素で構成されます。ポリシーには Statement キーワードを 1 つだけ含めることができますが、値は、ステートメントの JSON 配列 ([ ] の文字で囲まれる) もあります。
以下の例は、単一の Effect、Principal、Action および Resource 要素で構成される単一のステートメントを示しています。
{ "Statement": { "Effect": "Deny", "Principal": "*", "Action": "s3:PutBucketPublicAccessBlock", "Resource": "*" } }
詳細については、IAM ユーザーガイドの「IAM JSON ポリシー要素: Statement」を参照してください。
ステートメント ID (Sid) 要素
Sid は、ポリシーステートメントに提供するオプションの識別子です。Sid 値は、ステートメント配列内の各ステートメントに割り当てることができます。次の RCP 例は、Sid ステートメント例を示しています。
{ "Statement": { "Sid": "DenyBPAConfigurations", "Effect": "Deny", "Principal": "*", "Action": "s3:PutBucketPublicAccessBlock", "Resource": "*" } }
詳細については、「IAM ユーザーガイド」の「IAM JSON ポリシー要素: Sid」を参照してください。
Effect 要素
各ステートメントには必ず Effect を 1 つ含める必要があります。Effect 要素に Deny の値を使用することで、RCP の有効時に特定のリソースへのアクセスを制限したり、条件を定義することができます。RCP を作成する場合、値は Deny である必要があります。詳細については、「RCP 評価」および「IAM ユーザーガイド」の「IAM JSON ポリシー要素 Effect」を参照してください。
Principal 要素
各ステートメントには必ず Principal 要素を含める必要があります。RCP の Principal 要素には「*」のみを指定できます。Conditions 要素を使用して、特定のプリンシパルを制限します。
詳細については、「IAM ユーザーガイド」の「AWS JSON ポリシーの要素: Principal」を参照してください。
Action 要素
各ステートメントには必ず Action 要素を含める必要があります。
Action 要素の値は、ステートメントによって許可または拒否される AWS サービスとアクションを識別する文字列の文字列またはリスト (JSON 配列) です。
各文字列は、サービスの略称 (「s3」、「sqs」、「sts」など) で構成されており、すべて小文字で、その後にコロン、次にサービスのアクションが続きます。一般的にこれらはすべて、大文字で始まり、残りは小文字の各単語で入力されます。例: "s3:ListAllMyBuckets"。
RCP ではアスタリスク (*) や疑問符 (?) などのワイルドカード文字を使用することもできます。
-
名前の一部を共有する複数のアクションを検索するには、アスタリスクをワイルドカードとして使用します。値
"s3:*"は、Amazon S3 サービス内のすべてのアクションを意味します。値は、「Get」で始まる AWS STS アクションのみ"sts:Get*"に一致します。 -
単一の文字を検索する場合は疑問符 (?) を使用します。
注記
ワイルドカード (*) と疑問符 (?) は、アクション名の任意の場所で使用できます。
カスタマーマネージド RCP のアクション要素で「*」を使用することはできません。また、アクセスを制限するサービスの略語 (「s3」、「sqs」、「sts」など) を指定する必要があります。
RCP をサポートするサービスのリストについては、「RCPs AWS のサービス をサポートする のリスト」を参照してください。が AWS のサービス サポートするアクションのリストについては、「サービス認可リファレンス」のAWS 「サービスのアクション、リソース、および条件キー」を参照してください。
詳細については、IAM ユーザーガイドの「IAM JSON ポリシーの要素: Action」を参照してください。
Resource および NotResource 要素
各ステートメントには必ず Resource または NotResource 要素を含める必要があります。
リソース要素では、アスタリスク (*) や疑問符 (?) などのワイルドカード文字を使用することができます。
-
名前の一部が同じである複数のリソースを検索するには、アスタリスク (*) をワイルドカードとして使用します。
-
単一の文字を検索する場合は疑問符 (?) を使用します。
詳細については、「IAM ユーザーガイド」の「IAM JSON ポリシー要素: Resource」および「IAM JSON ポリシー要素: NotResource」を参照してください。
Condition 要素
RCP の拒否ステートメントには、Condition 要素を指定することができます。
この RCP は、リクエストが安全なトランスポート経由で発生した (リクエストが TLS 経由で送信された) 場合を除き、Amazon S3 オペレーションとリソースへのアクセスを拒否します。
詳細については、「IAM ユーザーガイド」の「IAM JSON ポリシー要素: 条件」を参照してください。
サポートされていない要素
以下の要素は RCP ではサポートされていません。
-
NotPrincipal -
NotAction