

# Amazon API Gateway のアクセスポリシー言語の概要
<a name="apigateway-control-access-policy-language-overview"></a>

このページでは、Amazon API Gateway リソースポリシーで使用される基本的な要素について説明します。

リソースポリシーは、IAM ポリシーと同じ構文を使用して指定されます。ポリシー言語の詳細については、*IAM ユーザーガイド*の「[IAM ポリシーの概要](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)」と「[AWS Identity and Access Management ポリシーリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)」を参照してください。

指定されたリクエストを AWS のサービスが許可または拒否する方法については、「[リクエストの許可または拒否を決定する](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow)」を参照してください。

## アクセスポリシーの一般的なエレメント
<a name="apigateway-common-elements-in-an-access-policy"></a>

基本的に、リソースポリシーには以下のエレメントが含まれます。
+ **リソース** – アクセス許可を許可または拒否できる Amazon API Gateway のリソースが API です。ポリシーでは、Amazon リソースネーム (ARN) を使用して、リソースを識別します。略式構文を使用することもできます。この構文はリソースポリシーの保存時に API Gateway によって完全な ARN に自動的に展開されます。詳細については、「[API Gateway リソースポリシーの例](apigateway-resource-policies-examples.md)」を参照してください。

  完全な `Resource` 要素の形式については、「[API Gateway で API を実行するためのアクセス許可のリソース形式](api-gateway-control-access-using-iam-policies-to-invoke-api.md#api-gateway-iam-policy-resource-format-for-executing-api)」を参照してください。
+ **アクション** – Amazon API Gateway により、リソースごとに一連のオペレーションがサポートされています。許可 (または拒否) するリソースのオペレーションは、アクションキーワードを使用して識別します。

  たとえば、`execute-api:Invoke` アクセス権限は、クライアントリクエスト時の API の呼び出しをユーザーに許可します。

  `Action` エレメントの形式については、「[API Gateway で API を実行するためのアクセス許可のアクション形式](api-gateway-control-access-using-iam-policies-to-invoke-api.md#api-gateway-iam-policy-action-format-for-executing-api)」を参照してください。
+ **エフェクト** – ユーザーが特定のアクションをリクエストする際のエフェクト – 値は `Allow` または `Deny` のいずれかになります。また、明示的にリソースへのアクセスを拒否すると、別のポリシーによってアクセスが許可されている場合でも、ユーザーはそのリソースにアクセスできなくなります。
**注記**  
「暗黙的な拒否」は、「デフォルトでは拒否」と同じ意味です。  
「暗黙的な拒否」は「明示的な拒否」とは異なります。詳細については、「[デフォルトによる拒否と明示的な拒否の違い](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#AccessPolicyLanguage_Interplay)」を参照してください。
+ **プリンシパル** – ステートメントのアクションやリソースへのアクセスが許可されているアカウントまたはユーザーを指します。リソースポリシーでは、プリンシパルは、このアクセス許可を受け取るユーザーまたはアカウントを指します。

以下のリソースポリシーの例は、前の一般的なポリシーのエレメントを示しています。このポリシーは、指定した{{リージョン}}で指定した {{account-id}} の API へのアクセスを、送信元 IP アドレスがアドレスブロック {{123.4.5.6/24}} にあるすべてのユーザーに許可します。このポリシーでは、ユーザーの送信元 IP がこの範囲外の場合、API へのアクセスはすべて拒否されます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws:execute-api:{{us-east-1}}:{{111111111111}}:*"
        },
        {
            "Effect": "Deny",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws:execute-api:{{us-east-1}}:{{111111111111}}:*",
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": "{{123.4.5.6/24}}"
                }
            }
        }
    ]
}
```

------