

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# IAM ポリシーの構造
<a name="iam-policy-structure"></a>

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

**Topics**
+ [ポリシー構文](#policy-syntax)
+ [の API アクション AWS Batch](#UsingWithbatch_Actions)
+ [の Amazon リソースネーム AWS Batch](#batch_ARN_Format)
+ [ユーザーが必要なアクセス許可を持っていることを確認する](#check-required-permissions)

## ポリシー構文
<a name="policy-syntax"></a>

IAM ポリシーは 1 つ以上のステートメントで構成される JSON ドキュメントです。各ステートメントの構成は以下のとおりです。

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

ステートメントは 4 つの主なエレメントで構成されています。
+ **Effect**: *effect* は、`Allow` または `Deny` にすることができます。デフォルトでは、 ユーザーはリソースおよび API アクションを使用するアクセス許可がありません。そのため、すべてのリクエストが拒否されます。明示的な許可はデフォルトに上書きされます。明示的な拒否はすべての許可に上書きされます。
+ **Action]** (アクション): *action* は、アクセス許可を付与または拒否する対象とする、特定の API アクションです。*アクション*を指定する方法に関する指示は、[の API アクション AWS Batch](#UsingWithbatch_Actions) を参照してください。
+ **Resource]** (リソース): アクションによって影響を及ぼされるリソースです。 AWS Batch API アクションの中には、アクションによって作成/変更できるリソースをポリシー内で特定できるものもあります。ステートメントでリソースを指定するには、Amazon リソースネーム (ARN) を使用します。詳細については、「[AWS Batch API アクションでサポートされているリソースレベルのアクセス許可](batch-supported-iam-actions-resources.md)」および「[の Amazon リソースネーム AWS Batch](#batch_ARN_Format)」を参照してください。 AWS Batch API オペレーションが現在リソースレベルのアクセス許可をサポートしていない場合は、ワイルドカード (\$1) を含めて、すべてのリソースが アクションの影響を受けるように指定します。
+ **Condition]** (条件): condition はオプションです。ポリシーの発効条件を指定するために使用します。

の IAM ポリシーステートメントの例の詳細については AWS Batch、「」を参照してください[リソース: のポリシーの例 AWS Batch](ExamplePolicies_BATCH.md)。

## の API アクション AWS Batch
<a name="UsingWithbatch_Actions"></a>

IAM ポリシーステートメントで、IAM をサポートするすべてのサービスからの任意の API アクションを指定できます。の場合 AWS Batch、API アクションの名前に次のプレフィックスを使用します `batch:` (例: `batch:SubmitJob`および `batch:CreateComputeEnvironment`)。

単一のステートメントで複数のアクションを指定するには、各アクションをカンマで区切ります。

```
"Action": ["batch:action1", "batch:action2"]
```

またワイルドカード (\$1) を含めて、複数のアクションを指定することもできます。例えば、Describeという単語で始まる名前を用いて、すべてのアクションを指定できます。

```
"Action": "batch:Describe*"
```

すべての AWS Batch API アクションを指定するには、ワイルドカード (\$1) を含めます。

```
"Action": "batch:*"
```

 AWS Batch アクションのリストについては、 *AWS Batch API リファレンス*の[「アクション](https://docs.aws.amazon.com/batch/latest/APIReference/API_Operations.html)」を参照してください。

## の Amazon リソースネーム AWS Batch
<a name="batch_ARN_Format"></a>

各 IAM ポリシーステートメントは、ユーザーがAmazon リソースネーム（ARN）を使用して指定したリソースに適用されます。

Amazon リソースネーム (ARN) には、次の一般的な構文があります:

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

*service*  
サービス (例: `batch`)。

*region*  
リソース AWS リージョン の （例: `us-east-2`）。

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

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

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

AWS Batch API オペレーションは現在、複数の API オペレーションに対するリソースレベルのアクセス許可をサポートしています。詳細については、「[AWS Batch API アクションでサポートされているリソースレベルのアクセス許可](batch-supported-iam-actions-resources.md)」を参照してください。すべてのリソースを指定する場合、または特定の API アクションが ARN をサポートしていない場合は、`Resource` エレメントに (\$1) ワイルドカードを含めます。

```
"Resource": "*"
```

## ユーザーが必要なアクセス許可を持っていることを確認する
<a name="check-required-permissions"></a>

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

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

**注記**  
[IAM ポリシーシミュレーター](https://policysim.aws.amazon.com/home/index.jsp?#)を使用してポリシーをテストすることもできます。ポリシーシミュレーターの詳細については、*IAM ユーザーガイド*の[IAM ポリシーシミュレーターで作業する](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies_testing-policies.html)を参照してください。

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

**重要**  
ポリシーの変更が反映され、有効になるには数分間かかります。したがって、ポリシーの更新をテストする前に、合格するには、少なくとも5分みておくことをお勧めします。

認可チェックが失敗した場合、リクエストでは診断情報でエンコードされたメッセージが返されます。`DecodeAuthorizationMessage` アクションを使用してメッセージをデコードできます。詳細については、*AWS Security Token Service API リファレンス* の[DecodeAuthorizationMessage](https://docs.aws.amazon.com/STS/latest/APIReference/API_DecodeAuthorizationMessage.html)、および*AWS CLI コマンドリファレンス*の [decode-authorization-message](https://docs.aws.amazon.com/cli/latest/reference/sts/decode-authorization-message.html) を参照してください。