Amazon API Gateway
開発者ガイド

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

このセクションのトピックでは、Amazon API Gateway リソースポリシーで使用する基本エレメントについて説明します。

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

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

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

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

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

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

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

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

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

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

以下のリソースポリシーの例は、前述の一般的なポリシーのエレメントを示しています。このポリシーでは、指定されたリージョンの特定の API api-id へのアクセスが、送信元の IP アドレスの範囲が 203.0.113.0203.0.113.255 のユーザーにのみ付与されます。このポリシーでは、ユーザーの送信元 IP がこの範囲外の場合、API へのアクセスはすべて拒否されます。

{ "Id":"Policy1513815114229", "Version":"2012-10-17", "Statement":[ { "Sid":"Stmt1513815112643", "Effect":"Deny", "Principal":"*", "Action":[ "execute-api:Invoke" ], "Condition":{ "NotIpAddress":{ "aws:SourceIp":[ "203.0.113.0", "203.0.113.255" ] } }, "Resource":[ "arn:aws:execute-api:region:account-id:api-id/stage/method/path" ] } ] }