Amazon API Gateway Management のアクション、リソース、および条件キー - サービス認可リファレンス

Amazon API Gateway Management のアクション、リソース、および条件キー

Amazon API Gateway Management (サービスプレフィックス: apigateway) では、IAM アクセス許可ポリシーで使用できるように、以下のサービス固有のリソースやアクション、条件コンテキストキーが用意されています。

参照:

Amazon API Gateway Management で定義されるアクション

IAM ポリシーステートメントの Action エレメントでは、以下のアクションを指定できます。ポリシーを使用して、AWS でオペレーションを実行するアクセス許可を付与します。ポリシーでアクションを使用する場合は、通常、同じ名前の API オペレーションまたは CLI コマンドへのアクセスを許可または拒否します。ただし、場合によっては、1 つのアクションによって複数のオペレーションへのアクセスが制御されます。あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。

[アクション] テーブルの [リソースタイプ] 列は、各アクションがリソースレベルの許可をサポートしているかどうかを示します。この列に値がない場合は、ポリシーステートメントの Resource 要素で、ポリシーが適用されるすべてのリソース (「*」) を指定する必要があります。列にリソースタイプが含まれる場合、そのアクションを含むステートメントでそのタイプの ARN を指定できます。アクションで 1 つ以上のリソースが必須となっている場合、呼び出し元には、それらのリソースを伴うアクションを使用するための許可が付与されている必要があります。必須リソースは、アスタリスク (*) でテーブルに示されています。IAM ポリシーの Resource 要素でリソースアクセスを制限する場合は、必要なリソースタイプごとに ARN またはパターンを含める必要があります。一部のアクションでは、複数のリソースタイプがサポートされています。リソースタイプがオプション (必須として示されていない) の場合、オプションのリソースタイプのいずれかを使用することを選択できます。

[アクション] テーブルの [条件キー] 列には、ポリシーステートメントの Condition 要素で指定できるキーが含まれます。サービスのリソースに関連付けられている条件キーの詳細については、[リソースタイプ] テーブルの [条件キー] 列を参照してください。

注記

リソース条件キーは、リソースタイプテーブルに一覧表示されています。アクションに適用されるリソースタイプへのリンクは、[アクション] テーブルの [リソースタイプ (* 必須)] 列にあります。[リソースタイプ] テーブルのリソースタイプには、[アクション] テーブルのアクションに適用されるリソース条件キーである、[条件キー] 列が含まれています。

以下の表の列の詳細については、「アクションテーブル」を参照してください。

アクション 説明 アクセスレベル リソースタイプ (* 必須) 条件キー 依存アクション
AddCertificateToDomain 相互 TLS 認証用の証明書をドメイン名に追加する許可を付与。これは、mTLS の機密性のため、DomainName リソースを管理するための追加の承認制御方法です。 Permissions management

DomainName

DomainNames

DELETE 特定のリソースを削除する許可を付与 書き込み

ApiKey

Authorizer

BasePathMapping

ClientCertificate

Deployment

DocumentationPart

DocumentationVersion

DomainName

GatewayResponse

Integration

IntegrationResponse

Method

MethodResponse

Model

RequestValidator

Resource

RestApi

Stage

Tags

Template

UsagePlan

UsagePlanKey

VpcLink

aws:RequestTag/${TagKey}

aws:TagKeys

GET 特定のリソースを読み取るアクセス許可を付与 読み込み

Account

ApiKey

ApiKeys

Authorizer

Authorizers

BasePathMapping

BasePathMappings

ClientCertificate

ClientCertificates

Deployment

Deployments

DocumentationPart

DocumentationParts

DocumentationVersion

DocumentationVersions

DomainName

DomainNames

GatewayResponse

GatewayResponses

Integration

IntegrationResponse

Method

MethodResponse

Model

Models

RequestValidator

RequestValidators

Resource

Resources

RestApi

RestApis

Sdk

Stage

Stages

Tags

UsagePlan

UsagePlanKey

UsagePlanKeys

UsagePlans

VpcLink

VpcLinks

PATCH 特定のリソースを更新する許可を付与 書き込み

Account

ApiKey

Authorizer

BasePathMapping

ClientCertificate

Deployment

DocumentationPart

DocumentationVersion

DomainName

GatewayResponse

Integration

IntegrationResponse

Method

MethodResponse

Model

RequestValidator

Resource

RestApi

Stage

Template

UsagePlan

UsagePlanKey

VpcLink

aws:RequestTag/${TagKey}

aws:TagKeys

POST トラッカーリソースを作成する許可を付与 書き込み

ApiKeys

Authorizers

BasePathMappings

ClientCertificates

Deployments

DocumentationParts

DocumentationVersions

DomainNames

GatewayResponses

IntegrationResponse

MethodResponse

Models

RequestValidators

Resources

RestApis

Stages

UsagePlanKeys

UsagePlans

VpcLinks

aws:RequestTag/${TagKey}

aws:TagKeys

PUT 特定のリソースを更新する許可を付与 Write

DocumentationPart

GatewayResponse

IntegrationResponse

MethodResponse

RestApi

Tags

aws:RequestTag/${TagKey}

aws:TagKeys

RemoveCertificateFromDomain ドメイン名から相互 TLS 認証用の証明書を削除する許可を付与。これは、mTLS の機密性のため、DomainName リソースを管理するための追加の承認制御方法です。 権限の管理

DomainName

DomainNames

SetWebACL WAF アクセスコントロールリスト (ACL) を設定するアクセス許可を付与します。これは、WebAcl の機密性が高いため、ステージリソースを管理するための追加の承認制御方法です。 Permissions management

Stage

Stages

UpdateRestApiPolicy API の IAM リソースポリシーを管理する許可を付与。これは、リソースポリシーの機密性が高いため、API を管理するための追加の承認制御方法です。 Permissions management

RestApi

RestApis

Amazon API Gateway Management で定義されるリソースタイプ

以下のリソースタイプは、このサービスによって定義され、IAM アクセス許可ポリシーステートメントの Resource エレメントで使用できます。アクションテーブルの各アクションは、そのアクションで指定できるリソースタイプを示しています。リソースタイプは、ポリシーに含めることができる条件キーを定義することもできます。これらのキーは、[リソースタイプ] テーブルの最後の列に表示されます。以下の表の列の詳細については、「リソースタイプテーブル」を参照してください。

リソースタイプ ARN 条件キー
Account arn:${Partition}:apigateway:${Region}::/account
ApiKey arn:${Partition}:apigateway:${Region}::/apikeys/${ApiKeyId}

aws:ResourceTag/${TagKey}

ApiKeys arn:${Partition}:apigateway:${Region}::/apikeys

aws:ResourceTag/${TagKey}

Authorizer arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/authorizers/${AuthorizerId}

apigateway:Request/AuthorizerType

apigateway:Request/AuthorizerUri

apigateway:Resource/AuthorizerType

apigateway:Resource/AuthorizerUri

aws:ResourceTag/${TagKey}

Authorizers arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/authorizers

apigateway:Request/AuthorizerType

apigateway:Request/AuthorizerUri

aws:ResourceTag/${TagKey}

BasePathMapping arn:${Partition}:apigateway:${Region}::/domainnames/${DomainName}/basepathmappings/${BasePath}

aws:ResourceTag/${TagKey}

BasePathMappings arn:${Partition}:apigateway:${Region}::/domainnames/${DomainName}/basepathmappings

aws:ResourceTag/${TagKey}

ClientCertificate arn:${Partition}:apigateway:${Region}::/clientcertificates/${ClientCertificateId}

aws:ResourceTag/${TagKey}

ClientCertificates arn:${Partition}:apigateway:${Region}::/clientcertificates

aws:ResourceTag/${TagKey}

Deployment arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/deployments/${DeploymentId}

aws:ResourceTag/${TagKey}

Deployments arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/deployments

apigateway:Request/StageName

aws:ResourceTag/${TagKey}

DocumentationPart arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/documentation/parts/${DocumentationPartId}

aws:ResourceTag/${TagKey}

DocumentationParts arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/documentation/parts

aws:ResourceTag/${TagKey}

DocumentationVersion arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/documentation/versions/${DocumentationVersionId}

aws:ResourceTag/${TagKey}

DocumentationVersions arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/documentation/versions

aws:ResourceTag/${TagKey}

DomainName arn:${Partition}:apigateway:${Region}::/domainnames/${DomainName}

apigateway:Request/EndpointType

apigateway:Request/MtlsTrustStoreUri

apigateway:Request/MtlsTrustStoreVersion

apigateway:Request/SecurityPolicy

apigateway:Resource/EndpointType

apigateway:Resource/MtlsTrustStoreUri

apigateway:Resource/MtlsTrustStoreVersion

apigateway:Resource/SecurityPolicy

aws:ResourceTag/${TagKey}

DomainNames arn:${Partition}:apigateway:${Region}::/domainnames

apigateway:Request/EndpointType

apigateway:Request/MtlsTrustStoreUri

apigateway:Request/MtlsTrustStoreVersion

apigateway:Request/SecurityPolicy

aws:ResourceTag/${TagKey}

GatewayResponse arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/gatewayresponses/${ResponseType}

aws:ResourceTag/${TagKey}

GatewayResponses arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/gatewayresponses

aws:ResourceTag/${TagKey}

Integration arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources/${ResourceId}/methods/${HttpMethodType}/integration

aws:ResourceTag/${TagKey}

IntegrationResponse arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources/${ResourceId}/methods/${HttpMethodType}/integration/responses/${StatusCode}

aws:ResourceTag/${TagKey}

Method arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources/${ResourceId}/methods/${HttpMethodType}

apigateway:Request/ApiKeyRequired

apigateway:Request/RouteAuthorizationType

apigateway:Resource/ApiKeyRequired

apigateway:Resource/RouteAuthorizationType

aws:ResourceTag/${TagKey}

MethodResponse arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources/${ResourceId}/methods/${HttpMethodType}/responses/${StatusCode}

aws:ResourceTag/${TagKey}

Model arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/models/${ModelName}

aws:ResourceTag/${TagKey}

Models arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/models

aws:ResourceTag/${TagKey}

RequestValidator arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/requestvalidators/${RequestValidatorId}

aws:ResourceTag/${TagKey}

RequestValidators arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/requestvalidators

aws:ResourceTag/${TagKey}

Resource arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources/${ResourceId}

aws:ResourceTag/${TagKey}

Resources arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources

aws:ResourceTag/${TagKey}

RestApi arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}

apigateway:Request/ApiKeyRequired

apigateway:Request/ApiName

apigateway:Request/AuthorizerType

apigateway:Request/AuthorizerUri

apigateway:Request/DisableExecuteApiEndpoint

apigateway:Request/EndpointType

apigateway:Request/RouteAuthorizationType

apigateway:Resource/ApiKeyRequired

apigateway:Resource/ApiName

apigateway:Resource/AuthorizerType

apigateway:Resource/AuthorizerUri

apigateway:Resource/DisableExecuteApiEndpoint

apigateway:Resource/EndpointType

apigateway:Resource/RouteAuthorizationType

aws:ResourceTag/${TagKey}

RestApis arn:${Partition}:apigateway:${Region}::/restapis

apigateway:Request/ApiKeyRequired

apigateway:Request/ApiName

apigateway:Request/AuthorizerType

apigateway:Request/AuthorizerUri

apigateway:Request/DisableExecuteApiEndpoint

apigateway:Request/EndpointType

apigateway:Request/RouteAuthorizationType

aws:ResourceTag/${TagKey}

Sdk arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/stages/${StageName}/sdks/${SdkType}

aws:ResourceTag/${TagKey}

Stage arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/stages/${StageName}

apigateway:Request/AccessLoggingDestination

apigateway:Request/AccessLoggingFormat

apigateway:Resource/AccessLoggingDestination

apigateway:Resource/AccessLoggingFormat

aws:ResourceTag/${TagKey}

Stages arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/stages

apigateway:Request/AccessLoggingDestination

apigateway:Request/AccessLoggingFormat

aws:ResourceTag/${TagKey}

Template arn:${Partition}:apigateway:${Region}::/restapis/models/${ModelName}/template

aws:ResourceTag/${TagKey}

UsagePlan arn:${Partition}:apigateway:${Region}::/usageplans/${UsagePlanId}

aws:ResourceTag/${TagKey}

UsagePlans arn:${Partition}:apigateway:${Region}::/usageplans

aws:ResourceTag/${TagKey}

UsagePlanKey arn:${Partition}:apigateway:${Region}::/usageplans/${UsagePlanId}/keys/${Id}

aws:ResourceTag/${TagKey}

UsagePlanKeys arn:${Partition}:apigateway:${Region}::/usageplans/${UsagePlanId}/keys

aws:ResourceTag/${TagKey}

arn:${Partition}:apigateway:${Region}::/vpclinks/${VpcLinkId}

aws:ResourceTag/${TagKey}

arn:${Partition}:apigateway:${Region}::/vpclinks

aws:ResourceTag/${TagKey}

Tags arn:${Partition}:apigateway:${Region}::/tags/${UrlEncodedResourceARN}

Amazon API Gateway Management の条件キー

Amazon API Gateway Management では、IAM ポリシーの Condition 要素で使用できる以下の条件キーを定義します。これらのキーを使用して、ポリシーステートメントが適用される条件をさらに絞り込むことができます。以下の表の列の詳細については、「条件キーテーブル」を参照してください。

すべてのサービスで使用できるグローバル条件キーを確認するには、「使用できるグローバル条件キー」を参照してください。

条件キー 説明 タイプ
apigateway:Request/AccessLoggingDestination アクセスログの宛先によってアクセスをフィルタリングします。CreateStage および UpdateStage 操作中に使用できます 文字列
apigateway:Request/AccessLoggingFormat アクセスログ形式でアクセスをフィルタリングします。CreateStage および UpdateStage 操作中に使用できます 文字列
apigateway:Request/ApiKeyRequired API キーが必要かどうかでアクセスをフィルタリングします。CreateMethod および PutMethod 操作中に使用できます。インポートおよび再インポート時にコレクションとしても使用できます ArrayOfBool
apigateway:Request/ApiName API 名でアクセスをフィルタリングします。CreateRestApi および UpdateRestApi 操作中に使用できます 文字列
apigateway:Request/AuthorizerType TOKEN、REQUEST、JWT など、リクエスト内のオーソライザーの種類によってアクセスをフィルタリングします。CreateAuthorizer および UpdateAuthorizer 中に使用できます。ArrayOfString としてインポートおよび再インポート時にも使用できます ArrayOfString
apigateway:Request/AuthorizerUri Lambda オーソライザー関数の URI でアクセスをフィルタリングします。CreateAuthorizer および UpdateAuthorizer 中に使用できます。ArrayOfString としてインポートおよび再インポート時にも使用できます ArrayOfString
apigateway:Request/DisableExecuteApiEndpoint デフォルトの execute-api エンドポイントのステータスでアクセスをフィルタリングします。CreateRestApi および DeleteRestAPI 操作中に使用できます Bool
apigateway:Request/EndpointType エンドポイントタイプでアクセスをフィルタリングします。CreateDomainName、UpdateDomainName、CreateRestApi、および UpdateRestApi 操作中に使用できます ArrayOfString
apigateway:Request/MtlsTrustStoreUri 相互 TLS 認証に使用されるトラストストアの URI でアクセスをフィルタリングします。CreateDomainName および UpdateDomainName 操作中に使用できます 文字列
apigateway:Request/MtlsTrustStoreVersion 相互 TLS 認証に使用されるトラストストアのバージョンでアクセスをフィルタリングします。CreateDomainName および UpdateDomainName 操作中に使用できます 文字列
apigateway:Request/RouteAuthorizationType NONE、AWS_IAM、CUSTOM、JWT、COGNITO_USER_POOLS などの認可タイプでアクセスをフィルタリングします。CreateMethod および PutMethod 操作中に使用でき、インポート時にコレクションとしても使用できます ArrayOfString
apigateway:Request/SecurityPolicy TLS バージョンでアクセスをフィルタリングします。CreateDomain および UpdateDomain 操作中に使用できます ArrayOfString
apigateway:Request/StageName 作成しようとするデプロイのステージ名でアクセスをフィルタリングします。CreateDeployment 操作中に使用できます 文字列
apigateway:Resource/AccessLoggingDestination 現在のステージリソースのアクセスログの宛先でアクセスをフィルタリングします。UpdateStage および DeleteStage 操作中に使用できます 文字列
apigateway:Resource/AccessLoggingFormat 現在のステージリソースのアクセスログ形式でアクセスをフィルタリングします。UpdateStage および DeleteStage 操作中に使用できます 文字列
apigateway:Resource/ApiKeyRequired 既存のメソッドリソースに対して API キーが必要かどうかでアクセスをフィルタリングします。PutMethod および DeleteMethod 操作中に使用できます。再インポート時にコレクションとしても使用できます ArrayOfBool
apigateway:Resource/ApiName 既存の RestApi リソースの API 名でアクセスをフィルタリングします。UpdateRestApi および DeleteRestApi 操作中に使用できます 文字列
apigateway:Resource/AuthorizerType TOKEN、REQUEST、JWT など、オーソライザーの現在のタイプでアクセスをフィルタリングします。UpdateAuthorizer および DeleteAuthorizer 操作中に使用できます。ArrayOfStringとして再インポート中にも使用できます ArrayOfString
apigateway:Resource/AuthorizerUri Lambda オーソライザー関数の URI でアクセスをフィルタリングします。UpdateAuthorizer および DeleteAuthorizer 操作中に使用できます。ArrayOfStringとして再インポート中にも使用できます ArrayOfString
apigateway:Resource/DisableExecuteApiEndpoint 現在の RestApi リソースのデフォルトの execute-api エンドポイントのステータスでアクセスをフィルタリングします。UpdateRestApi および DeleteRestApi 操作中に使用できます Bool
apigateway:Resource/EndpointType エンドポイントタイプでアクセスをフィルタリングします。UpdateDomainName、DeleteDomainName、UpdateRestApi、および DeleteRestApi 操作中に使用できます ArrayOfString
apigateway:Resource/MtlsTrustStoreUri 相互 TLS 認証に使用されるトラストストアの URI でアクセスをフィルタリングします。UpdateDomainName および DeleteDomainName 操作中に使用できます 文字列
apigateway:Resource/MtlsTrustStoreVersion 相互 TLS 認証に使用されるトラストストアのバージョンでアクセスをフィルタリングします。UpdateDomainName および DeleteDomainName 操作中に使用できます 文字列
apigateway:Resource/RouteAuthorizationType NONE、AWS_IAM、CUSTOM、JWT、COGNITO_USER_POOLS などの既存のメソッドリソースの認可タイプでアクセスをフィルタリングします。PutMethod および DeleteMethod 操作中に使用できます。再インポート時にコレクションとしても使用できます ArrayOfString
apigateway:Resource/SecurityPolicy TLS バージョンでアクセスをフィルタリングします。UpdateDomain および DeleteDomain 操作中に使用できます ArrayOfString
aws:RequestTag/${TagKey} リクエスト内のタグキーと値のペアによるアクセスをフィルタリングします 文字列
aws:ResourceTag/${TagKey} リソースにアタッチされたタグでアクセスをフィルタリングします 文字列
aws:TagKeys リクエスト内のタグキーでアクセスをフィルタリングします ArrayOfString