翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ポリシーの構造
次のトピックでは、IAM ポリシーの簡単な構造について説明します。
ポリシー構文
IAM ポリシーは 1 つ以上のステートメントで構成される JSON ドキュメントです。各ステートメントは次のように構成されます。
{ "Statement":[{ "Effect":"
effect
", "Action":"action
", "Resource":"arn
", "Condition":{ "condition
":{ "key
":"value
" } } } ] }
ステートメントはさまざまなエレメントで構成されます。
-
Effect: effect は、
Allow
またはDeny
にすることができます。デフォルトでは、 ユーザーはリソースおよび API アクションを使用するアクセス許可がありません。そのため、すべてのリクエストが拒否されます。明示的な許可はデフォルトに上書きされます。明示的な拒否はすべての許可に上書きされます。 -
Action] (アクション): action は、アクセス許可を付与または拒否する対象とする、特定の API アクションです。アクションを指定する方法に関する指示は、AWS Batch のアクション を参照してください。
-
Resource] (リソース): アクションによって影響を及ぼされるリソースです。AWS Batch API アクションの中には、アクションによって作成/変更できるリソースをポリシー内で特定できるものもあります。ステートメントでリソースを指定するには、Amazon リソースネーム (ARN) を使用します。詳細については、AWS Batch API アクションでサポートされるリソースレベルのアクセス許可およびAWS Batch 用の Amazon リソースネーム を参照してください。AWS Batch API オペレーションで、現在リソースレベルのアクセス許可がサポートされていない場合、ワイルドカード (*) を含めて、アクションがすべてのリソースに影響するように指定する必要があります。
-
Condition] (条件): condition はオプションです。ポリシーの発効条件を指定するために使用します。
AWS Batch のIAMポリシーステートメント例についての詳細は、AWS Batch IAM ポリシーの作成を参照してください。
AWS Batch のアクション
IAM ポリシーステートメントで、IAM をサポートするすべてのサービスから任意の API アクションを指定できます。AWS Batch の場合、API アクションの名前に以下のプレフィックスを使います: batch:
(例、batch:SubmitJob
および batch:CreateComputeEnvironment
)。
単一のステートメントで複数のアクションを指定するには、各アクションをカンマで区切ります。
"Action": ["batch:action1", "batch:action2"]
またワイルドカード (*) を含めて、複数のアクションを指定することもできます。例えば、Describeという単語で始まる名前を用いて、すべてのアクションを指定できます。
"Action": "batch:Describe*"
すべての AWS Batch API アクションを指定するには、ワイルドカード (*) を含みます。
"Action": "batch:*"
AWS Batchのアクションのリストについては、AWS Batch API リファレンスのアクションを参照してください
AWS Batch 用の Amazon リソースネーム
各 IAM ポリシーステートメントは、ユーザーがAmazon リソースネーム(ARN)を使用して指定したリソースに適用されます。
Amazon リソースネーム (ARN) には、次の一般的な構文があります:
arn:aws:[service]:[region]:[account]:resourceType/resourcePath
- service
-
サービス (例:
batch
)。 - region
-
リソースのAWS リージョン(例:
us-east-2
)。 - account
-
ハイフンなしの AWS アカウント ID (例:
123456789012
)。 - resourceType
-
リソースの種類 (例:
compute-environment
)。 - resourcePath
-
リソースを識別するパス。パスにワイルドカードの * が使用できます。
AWS Batch API オペレーションは、現在、複数の API オペレーションにおけるリソースレベルのアクセス許可をサポートしています。詳細については、AWS Batch API アクションでサポートされるリソースレベルのアクセス許可を参照してください。すべてのリソースを指定する場合、または特定の API アクションが ARN をサポートしていない場合は、Resource
エレメントに (*) ワイルドカードを含めます。
"Resource": "*"
ユーザーが必要なアクセス許可を持っているかどうかを確認する
IAM ポリシーを本稼働環境に置く前に、そのポリシーがユーザーに対し、特定の API アクションおよび必要なリソースを使用のアクセス許可を付与しているかどうかを確認することをお勧めします。
これを行うには、まずテスト目的のユーザーを作成して、IAM ポリシーをテストユーザーにアタッチします。次に、テストユーザーとしてリクエストを作成します。テストリクエストは、コンソールまたは AWS CLI を使用して行うことができます。
注記
IAM ポリシーシミュレーター
ポリシーが想定したアクセス許可をユーザーに付与していない場合、または過度に許可されている場合、必要に応じてポリシーを調整できます。必要な結果を得るまで再テストします。
重要
ポリシーの変更が反映され、有効になるには数分間かかります。したがって、ポリシーの更新をテストする前に、合格するには、少なくとも5分みておくことをお勧めします。
認証チェックが失敗した場合、リクエストでは診断情報でエンコードされたメッセージが返されます。DecodeAuthorizationMessage
アクションを使用してメッセージをデコードできます。詳細については、AWS Security Token Service API リファレンス のDecodeAuthorizationMessage、およびAWS CLI コマンドリファレンスのdecode-authorization-messageを参照してください。