AWS Batch
ユーザーガイド

ポリシーの構造

次のトピックでは、IAM ポリシーの簡単な構造について説明します。

ポリシー構文

IAM ポリシーは 1 つ以上のステートメントで構成される JSON ドキュメントです。各ステートメントは次のように構成されます。

{ "Statement":[{ "Effect":"effect", "Action":"action", "Resource":"arn", "Condition":{ "condition":{ "key":"value" } } } ] }

ステートメントはさまざまなエレメントで構成されます。

  • [Effect]: effect は、Allow または Deny にすることができます。デフォルトでは、IAM ユーザーはリソースおよび API アクションを使用するアクセス許可がないため、リクエストはすべて拒否されます。明示的な許可はデフォルトに優先します。明示的な拒否はすべての許可に優先します。

  • [Action]: action は、アクセス許可を付与または拒否する対象とする、特定の API アクションです。action の指定については、AWS Batch のアクション を参照してください。

  • [Resource]: アクションによって影響を及ぼされるリソースです。 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 アクションのリストについては、「Actions」 (AWS Batch API リファレンス) を参照してください。

AWS Batch の Amazon リソースネーム (ARN)

各 IAM ポリシーステートメントは、ARN を使用して指定したリソースに適用されます。

ARN には以下の一般的な構文があります。

arn:aws:[service]:[region]:[account]:resourceType/resourcePath
service

サービス (例: batch)。

リージョン

リソースのリージョン (例: us-east-1)。

アカウント

ハイフンなしの AWS アカウント ID (例: 123456789012)。

resourceType

リソースの種類 (例: compute-environment)。

resourcePath

リソースを識別するパス。パスにワイルドカードの * が使用できます。

AWS Batch API オペレーションでは、現在リソースレベルのアクセス権限はサポートされていません。すべてのリソースを指定するには、次のように、Resource エレメント内で * ワイルドカードを使用します。

"Resource": "*"

ユーザーが必要なアクセス許可を持っているかどうかを確認する

IAM ポリシーを作成したら、ポリシーを本稼働環境に置く前に、そのポリシーがユーザーに特定の API アクションおよび必要なリソースを使用するアクセス許可を付与しているかどうかを確認することをお勧めします。

まずテスト目的の IAM ユーザーを作成し、作成した IAM ポリシーをテストユーザーにアタッチします。次に、テストユーザーとしてリクエストを作成します。テストリクエストは、コンソールまたは AWS CLI を使用して行うことができます。

注記

IAM Policy Simulator を使用してポリシーをテストすることもできます。ポリシーシミュレーターの詳細については、IAM ユーザーガイド の「IAM Policy Simulator の使用」を参照してください。

ポリシーが想定したアクセス許可をユーザーに付与していない場合、または過度に許可されている場合、必要に応じてポリシーを調整し、必要な結果を得るまで再テストできます。

重要

ポリシーの変更が反映され、有効になるには数分間かかります。したがって、ポリシーの更新をテストするには 5 分かかると見ておいてください。

認証チェックが失敗した場合、リクエストでは診断情報でエンコードされたメッセージが返されます。DecodeAuthorizationMessage アクションを使用してメッセージをデコードできます。詳細については、「AWS Security Token Service API リファレンス」の「DecodeAuthorizationMessage」、および「AWS CLI Command Reference」の「decode-authorization-message」を参照してください。