Amazon API Gateway
開発者ガイド

Amazon API Gateway のアクセスポリシー言語の概要

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

リソースポリシーは、IAM ポリシーと同じ構文を使用して指定されます。ポリシー言語の詳細については、IAM ユーザーガイド の「IAM ポリシーの概要」および「AWS Identity and Access Management ポリシーの参照」を参照してください。

指定されたリクエストを AWS のサービスが許可または拒否する方法については、「リクエストの許可または拒否を決定する」を参照してください。

アクセスポリシーの一般的なエレメント

基本的に、リソースポリシーには以下のエレメントが含まれます。

  • リソース – アクセス権限を許可または拒否できる Amazon API Gateway のリソースが API です。ポリシーでは、Amazon リソースネーム (ARN) を使用して、リソースを識別します。

    Resource エレメントの形式については、「API Gateway で API を実行するためのアクセス権限のリソース形式」を参照してください。

  • アクション – Amazon API Gateway では、リソースごとに一連のオペレーションをサポートします。許可 (または拒否) するリソースのオペレーションは、アクションキーワードを使用して指定します。

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

    Action エレメントの形式については、「API Gateway で API を実行するためのアクセス権限のアクション形式」を参照してください。

  • エフェクト – ユーザーが特定のアクションをリクエストする際のエフェクトです。値は Allow または Deny のいずれかになります。また、明示的にリソースへのアクセスを拒否すると、別のポリシーによってアクセスが許可されている場合でも、ユーザーはそのリソースにアクセスできなくなります。

    注記

    「暗黙的な拒否」は、「デフォルトでは拒否」と同じ意味です。

    「暗黙的な拒否」と「明示的な拒否」は異なります。 詳細については、「デフォルトによる拒否と明示的な拒否の違い」を参照してください。

  • プリンシパル – ステートメントのアクションやリソースへのアクセスが許可されているアカウントまたはユーザーを指します。リソースポリシーでは、プリンシパルは、このアクセス許可の被付与者である IAM ユーザーまたはアカウントを指します。

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

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "arn:aws:execute-api:region:account-id:*" }, { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "arn:aws:execute-api:region:account-id:*", "Condition": { "NotIpAddress": { "aws:SourceIp": "123.4.5.6/24" } } } ] }