Ações, recursos e chaves de condição do Amazon API Gateway Management - Referência de autorização do serviço

Ações, recursos e chaves de condição do Amazon API Gateway Management

O Amazon API Gateway Management (prefixo de serviço: apigateway) fornece os recursos, ações e chaves de contexto de condição específicos do serviço a seguir para uso em políticas de permissão do IAM.

Referências:

Ações definidas pelo Amazon API Gateway Management

Você pode especificar as seguintes ações no elemento Action de uma declaração de política do IAM. Use políticas para conceder permissões para executar uma operação na AWS. Quando usa uma ação em uma política, você geralmente permite ou nega acesso à operação da API ou ao comando da CLI com o mesmo nome. No entanto, em alguns casos, uma única ação controla o acesso a mais de uma operação. Como alternativa, algumas operações exigem várias ações diferentes.

A coluna Tipos de recursos na tabela Ações indica se cada ação é compatível com permissões no nível do recurso. Se não houver valor para essa coluna, você deverá especificar todos os recursos ("*") aos quais a política se aplica no elemento Resource de sua declaração de política. Se a coluna incluir um tipo de recurso, você poderá especificar um ARN desse tipo em uma instrução com essa ação. Se a ação tiver um ou mais recursos necessários, o chamador deverá ter permissão para usar a ação com esses recursos. Os recursos obrigatórios são indicados na tabela com um asterisco (*). Se você limitar o acesso aos recursos com o elemento Resource em uma política do IAM, deverá incluir um ARN ou padrão para cada tipo de recurso necessário. Algumas ações oferecem suporte a vários tipos de recursos. Se o tipo de recurso for opcional (não indicado como obrigatório), você poderá optar por usar um dos tipos de recurso opcionais.

A coluna Chaves de condição na tabela Ações inclui chaves que você pode especificar em um elemento Condition da declaração de política. Para obter mais informações sobre as chaves de condição associadas aos recursos do serviço, consulte a coluna Chaves de condição da tabela Tipos de recursos.

nota

As chaves de condição do recurso estão listadas na tabela Tipos de recursos. Você pode encontrar um link para o tipo de recurso que se aplica a uma ação na coluna Tipos de recursos (*obrigatório) da tabela Ações. O tipo de recurso na tabela Tipos de recursos inclui a coluna Chaves de condição, que são as chaves de condição do recurso que se aplicam a uma ação na tabela Ações.

Para obter detalhes sobre as colunas na tabela a seguir, consulte Tabela de ações.

Ações Descrição Nível de acesso Tipos de recursos (*necessários) Chaves de condição Ações dependentes
AddCertificateToDomain Concede permissão para adicionar certificados para autenticação TLS mútua a um nome de domínio. Esse é um controle de autorização adicional para gerenciar o recurso DomainName devido à natureza confidencial do mTLS Permissions management

DomainName

DomainNames

DELETE Concede permissão para excluir um recurso específico Write

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 Concede permissão para ler um recurso específico Read

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 Concede permissão para atualizar um recurso específico Write

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 Concede permissão para criar um recurso específico Write

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 Concede permissão para atualizar um recurso específico Write

DocumentationPart

GatewayResponse

IntegrationResponse

MethodResponse

RestApi

Tags

aws:RequestTag/${TagKey}

aws:TagKeys

RemoveCertificateFromDomain Concede permissão para remover certificados para autenticação TLS mútua de um nome de domínio. Esse é um controle de autorização adicional para gerenciar o recurso DomainName devido à natureza confidencial do mTLS Gerenciamento de permissões

DomainName

DomainNames

SetWebACL Concede permissão para definir uma lista de controle de acesso (ACL) do WAF. Esse é um controle de autorização adicional para gerenciar o recurso Stage devido à natureza confidencial das WebAcls Permissions management

Stage

Stages

UpdateRestApiPolicy Concede permissão para gerenciar a política de recursos do IAM para uma API. Esse é um controle de autorização adicional para gerenciar uma API devido à natureza confidencial da política de recursos Permissions management

RestApi

RestApis

Tipos de recursos definidos pelo Amazon API Gateway

Os seguintes tipos de recursos são definidos por este serviço e podem ser usados no elemento Resource de declarações de políticas de permissão do IAM. Cada ação na Tabela de ações identifica os tipos de recursos que podem ser especificados com essa ação. Um tipo de recurso também pode definir quais chaves de condição você pode incluir em uma política. Essas chaves são exibidas na última coluna da tabela Tipos de recursos. Para obter detalhes sobre as colunas na tabela a seguir, consulte Tabela de tipos de recursos.

Tipos de recursos ARN Chaves de condição
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}

Chaves de condição do Amazon API Gateway Management

O Amazon API Gateway Management define as seguintes chaves de condição que podem ser usadas no elemento Condition de uma política do IAM. É possível usar essas chaves para refinar ainda mais as condições sob as quais a declaração de política se aplica. Para obter detalhes sobre as colunas na tabela a seguir, consulte Tabela de chaves de condição.

Para exibir as chaves de condição globais disponíveis para todos os serviços, consulte Chaves de condição globais disponíveis.

Chaves de condição Descrição Type
apigateway:Request/AccessLoggingDestination Filtra o acesso pelo destino do log de acesso. Disponível durante as operações CreateStage e UpdateStage String
apigateway:Request/AccessLoggingFormat Filtra o acesso pelo formato do log de acesso. Disponível durante as operações CreateStage e UpdateStage String
apigateway:Request/ApiKeyRequired Filtra o acesso com base na necessidade de uma chave de API ou não. Disponível durante as operações CreateMethod e PutMethod. Também disponível como coleção durante a importação e reimportação ArrayOfBool
apigateway:Request/ApiName Filtra o acesso pelo nome da API. Disponível durante as operações CreateRestApi e UpdateRestApi String
apigateway:Request/AuthorizerType Filtra o acesso pelo tipo de autorizador na solicitação, por exemplo TOKEN, REQUEST, JWT. Disponível durante CreateAuthorizer e UpdateAuthorizer. Também disponível durante a importação e a reimportação como um ArrayOfString ArrayOfString
apigateway:Request/AuthorizerUri Filtra o acesso pelo URI de uma função de autorizador do Lambda. Disponível durante CreateAuthorizer e UpdateAuthorizer. Também disponível durante a importação e a reimportação como um ArrayOfString ArrayOfString
apigateway:Request/DisableExecuteApiEndpoint Filtra o acesso pelo status do endpoint execute-api padrão. Disponível durante as operações CreateRestApi e DeleteRestApi Bool
apigateway:Request/EndpointType Filtra o acesso pelo tipo de endpoint. Disponível durante as operações CreateDomainName, UpdateDomainName, CreateRestApi e UpdateRestApi ArrayOfString
apigateway:Request/MtlsTrustStoreUri Filtra o acesso pelo URI do truststore usado para autenticação TLS mútua. Disponível durante as operações CreateDomainName e UpdateDomainName String
apigateway:Request/MtlsTrustStoreVersion Filtra o acesso pela versão do truststore usado para autenticação TLS mútua. Disponível durante as operações CreateDomainName e UpdateDomainName String
apigateway:Request/RouteAuthorizationType Filtra o acesso pelo tipo de autorização, por exemplo NONE, AWS_IAM, CUSTOM, JWT, COGNITO_USER_POOLS. Disponível durante as operações CreateMethod e PutMethod Também disponível como uma coleção durante a importação ArrayOfString
apigateway:Request/SecurityPolicy Filtra o acesso pela versão do TLS. Disponível durante as operações CreateDomain e UpdateDomain ArrayOfString
apigateway:Request/StageName Filtra o acesso pelo nome de estágio da implantação que você tenta criar. Disponível durante a operação CreateDeployment String
apigateway:Resource/AccessLoggingDestination Filtra o acesso pelo destino do log de acesso do recurso Stage atual. Disponível durante as operações UpdateStage e DeleteStage String
apigateway:Resource/AccessLoggingFormat Filtra o acesso pelo formato do log de acesso do recurso Stage atual. Disponível durante as operações UpdateStage e DeleteStage String
apigateway:Resource/ApiKeyRequired Filtra o acesso com base na necessidade de uma chave de API ou não para o recurso Method existente. Disponível durante as operações PutMethod e DeleteMethod. Também disponível como uma coleção durante a reimportação ArrayOfBool
apigateway:Resource/ApiName Filtra o acesso pelo nome da API do recurso RestApi existente. Disponível durante as operações UpdateRestApi e DeleteRestApi String
apigateway:Resource/AuthorizerType Filtra o acesso pelo tipo atual de autorizador, por exemplo TOKEN, REQUEST, JWT. Disponível durante as operações UpdateAuthorizer e DeleteAuthorizer. Também disponível durante a reimportação como um ArrayOfString ArrayOfString
apigateway:Resource/AuthorizerUri Filtra o acesso pelo URI de uma função de autorizador do Lambda. Disponível durante as operações UpdateAuthorizer e DeleteAuthorizer. Também disponível durante a reimportação como um ArrayOfString ArrayOfString
apigateway:Resource/DisableExecuteApiEndpoint Filtra o acesso pelo status do endpoint execute-api padrão do recurso RestApi atual. Disponível durante as operações UpdateRestApi e DeleteRestApi Bool
apigateway:Resource/EndpointType Filtra o acesso pelo tipo de endpoint. Disponível durante as operações UpdateDomainName, DeleteDomainName, UpdateRestApi e DeleteRestApi ArrayOfString
apigateway:Resource/MtlsTrustStoreUri Filtra o acesso pelo URI do truststore usado para autenticação TLS mútua. Disponível durante as operações UpdateDomainName e DeleteDomainName String
apigateway:Resource/MtlsTrustStoreVersion Filtra o acesso pela versão do truststore usado para autenticação TLS mútua. Disponível durante as operações UpdateDomainName e DeleteDomainName String
apigateway:Resource/RouteAuthorizationType Filtra o acesso por tipo de autorização do recurso Method existente, por exemplo NONE, AWS_IAM, CUSTOM, JWT, COGNITO_USER_POOLS. Disponível durante as operações PutMethod e DeleteMethod. Também disponível como uma coleção durante a reimportação ArrayOfString
apigateway:Resource/SecurityPolicy Filtra o acesso pela versão do TLS. Disponível durante as operações UpdateDomain e DeleteDomain ArrayOfString
aws:RequestTag/${TagKey} Filtra o acesso pelos pares de chave-valor da etiqueta na solicitação String
aws:ResourceTag/${TagKey} Filtra o acesso pelas etiquetas anexadas ao recurso String
aws:TagKeys Filtra o acesso pelas chaves da etiqueta na solicitação ArrayOfString