As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
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:
-
Saiba como configurar este serviço.
-
Visualize uma lista das operações de API disponíveis para este serviço.
-
Saiba como proteger este serviço e seus recursos usando políticas de permissão do IAM.
Tópicos
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 DomainName recurso devido à natureza confidencial do mTLS. | Gerenciamento de permissões | |||
CreateAccessAssociation | Concede permissão para criar uma associação de acesso de uma fonte de associação de acesso a um nome de domínio personalizado para uso privado APIs | Gerenciamento de permissões | |||
DELETE | Concede permissão para excluir um recurso específico | Write | |||
GET | Concede permissão para ler um recurso específico | Read | |||
PATCH | Concede permissão para atualizar um recurso específico | Write | |||
POST | Concede permissão para criar um recurso específico | Write | |||
PUT | Concede permissão para atualizar um recurso específico | Escrever | |||
RejectAccessAssociation | Concede permissão para rejeitar uma associação de acesso existente pertencente a outra conta a um nome de domínio personalizado para uso privado APIs | Gerenciamento de permissões | |||
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 DomainName recurso devido à natureza confidencial do mTLS. | Gerenciamento de permissões | |||
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 WebAcl de | Gerenciamento de permissões | |||
UpdateDomainNameManagementPolicy | Concede permissão para atualizar a política de gerenciamento de um nome de domínio personalizado para uso privado APIs | Gerenciamento de permissões | |||
UpdateDomainNamePolicy | Concede permissão para atualizar a política de invocação de um nome de domínio personalizado para uso privado APIs | Gerenciamento de permissões | |||
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 | |||
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}
|
|
ApiKeys |
arn:${Partition}:apigateway:${Region}::/apikeys
|
|
Authorizer |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/authorizers/${AuthorizerId}
|
apigateway:Request/AuthorizerType apigateway:Request/AuthorizerUri apigateway:Resource/AuthorizerType |
Authorizers |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/authorizers
|
apigateway:Request/AuthorizerType |
BasePathMapping |
arn:${Partition}:apigateway:${Region}::/domainnames/${DomainName}/basepathmappings/${BasePath}
|
|
BasePathMappings |
arn:${Partition}:apigateway:${Region}::/domainnames/${DomainName}/basepathmappings
|
|
ClientCertificate |
arn:${Partition}:apigateway:${Region}::/clientcertificates/${ClientCertificateId}
|
|
ClientCertificates |
arn:${Partition}:apigateway:${Region}::/clientcertificates
|
|
Deployment |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/deployments/${DeploymentId}
|
|
Deployments |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/deployments
|
|
DocumentationPart |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/documentation/parts/${DocumentationPartId}
|
|
DocumentationParts |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/documentation/parts
|
|
DocumentationVersion |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/documentation/versions/${DocumentationVersionId}
|
|
DocumentationVersions |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/documentation/versions
|
|
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 |
DomainNames |
arn:${Partition}:apigateway:${Region}::/domainnames
|
apigateway:Request/EndpointType apigateway:Request/MtlsTrustStoreUri apigateway:Request/MtlsTrustStoreVersion |
DomainNameAccessAssociation |
arn:${Partition}:apigateway:${Region}:${Account}:/domainnameaccessassociations/domainname/${DomainName}/${SourceType}/${SourceId}
|
|
DomainNameAccessAssociations |
arn:${Partition}:apigateway:${Region}:${Account}:/domainnameaccessassociations
|
apigateway:Request/AccessAssociationSource |
GatewayResponse |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/gatewayresponses/${ResponseType}
|
|
GatewayResponses |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/gatewayresponses
|
|
Integration |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources/${ResourceId}/methods/${HttpMethodType}/integration
|
|
IntegrationResponse |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources/${ResourceId}/methods/${HttpMethodType}/integration/responses/${StatusCode}
|
|
Method |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources/${ResourceId}/methods/${HttpMethodType}
|
apigateway:Request/ApiKeyRequired apigateway:Request/RouteAuthorizationType apigateway:Resource/ApiKeyRequired |
MethodResponse |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources/${ResourceId}/methods/${HttpMethodType}/responses/${StatusCode}
|
|
Model |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/models/${ModelName}
|
|
Models |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/models
|
|
PrivateBasePathMapping |
arn:${Partition}:apigateway:${Region}::/domainnames/${DomainName}+${DomainIdentifier}/basepathmappings/${BasePath}
|
|
PrivateBasePathMappings |
arn:${Partition}:apigateway:${Region}::/domainnames/${DomainName}+${DomainIdentifier}/basepathmappings
|
|
PrivateDomainName |
arn:${Partition}:apigateway:${Region}:${Account}:/domainnames/${DomainName}+${DomainIdentifier}
|
apigateway:Request/EndpointType |
RequestValidator |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/requestvalidators/${RequestValidatorId}
|
|
RequestValidators |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/requestvalidators
|
|
Resource |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources/${ResourceId}
|
|
Resources |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources
|
|
RestApi |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}
|
apigateway:Request/ApiKeyRequired apigateway:Request/AuthorizerType apigateway:Request/AuthorizerUri apigateway:Request/DisableExecuteApiEndpoint apigateway:Request/EndpointType apigateway:Request/RouteAuthorizationType apigateway:Resource/ApiKeyRequired apigateway:Resource/AuthorizerType apigateway:Resource/AuthorizerUri apigateway:Resource/DisableExecuteApiEndpoint apigateway:Resource/EndpointType |
RestApis |
arn:${Partition}:apigateway:${Region}::/restapis
|
apigateway:Request/ApiKeyRequired apigateway:Request/AuthorizerType apigateway:Request/AuthorizerUri apigateway:Request/DisableExecuteApiEndpoint apigateway:Request/EndpointType |
Sdk |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/stages/${StageName}/sdks/${SdkType}
|
|
Stage |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/stages/${StageName}
|
apigateway:Request/AccessLoggingDestination apigateway:Request/AccessLoggingFormat apigateway:Resource/AccessLoggingDestination |
Stages |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/stages
|
apigateway:Request/AccessLoggingDestination |
Template |
arn:${Partition}:apigateway:${Region}::/restapis/models/${ModelName}/template
|
|
UsagePlan |
arn:${Partition}:apigateway:${Region}::/usageplans/${UsagePlanId}
|
|
UsagePlans |
arn:${Partition}:apigateway:${Region}::/usageplans
|
|
UsagePlanKey |
arn:${Partition}:apigateway:${Region}::/usageplans/${UsagePlanId}/keys/${Id}
|
|
UsagePlanKeys |
arn:${Partition}:apigateway:${Region}::/usageplans/${UsagePlanId}/keys
|
|
VpcLink |
arn:${Partition}:apigateway:${Region}::/vpclinks/${VpcLinkId}
|
|
VpcLinks |
arn:${Partition}:apigateway:${Region}::/vpclinks
|
|
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 | Tipo |
---|---|---|
apigateway:Request/AccessAssociationSource | Filtra o acesso por fonte de associação de acesso. Disponível durante a CreateDomainNameAccessAssociation operação | String |
apigateway:Request/AccessLoggingDestination | Filtra o acesso pelo destino do log de acesso. Disponível durante CreateStage as UpdateStage operações | String |
apigateway:Request/AccessLoggingFormat | Filtra o acesso pelo formato do log de acesso. Disponível durante CreateStage as UpdateStage operações | String |
apigateway:Request/ApiKeyRequired | Filtra o acesso com base na necessidade de uma chave de API ou não. Disponível durante CreateMethod as PutMethod operações e. 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 CreateRestApi as UpdateRestApi operações | String |
apigateway:Request/AuthorizerType | Filtra o acesso pelo tipo de autorizador na solicitação, por exemplo TOKEN, REQUEST, JWT. Disponível durante CreateAuthorizer UpdateAuthorizer e. Também disponível durante a importação e reimportação como ArrayOfString | ArrayOfString |
apigateway:Request/AuthorizerUri | Filtra o acesso pelo URI de uma função de autorizador do Lambda. Disponível durante CreateAuthorizer UpdateAuthorizer e. Também disponível durante a importação e reimportação como ArrayOfString | ArrayOfString |
apigateway:Request/DisableExecuteApiEndpoint | Filtra o acesso pelo status do endpoint execute-api padrão. Disponível durante CreateRestApi as DeleteRestApi operações | Bool |
apigateway:Request/DomainNameArn | Filtra o acesso por ARN do nome de domínio. Disponível durante a CreateDomainNameAccessAssociation operação | ARN |
apigateway:Request/EndpointType | Filtra o acesso pelo tipo de endpoint. Disponível durante as UpdateRestApi operações CreateDomainName UpdateDomainName CreateRestApi,, e | ArrayOfString |
apigateway:Request/MtlsTrustStoreUri | Filtra o acesso pelo URI do truststore usado para autenticação TLS mútua. Disponível durante CreateDomainName as UpdateDomainName operações | String |
apigateway:Request/MtlsTrustStoreVersion | Filtra o acesso pela versão do truststore usado para autenticação TLS mútua. Disponível durante CreateDomainName as UpdateDomainName operações | String |
apigateway:Request/RouteAuthorizationType | Filtra o acesso por tipo de autorização, por exemplo, NONE, CUSTOM, JWT AWS_IAM, COGNITO_USER_POOLS. Disponível durante as PutMethod operações CreateMethod e Também disponível como coleção durante a importação | ArrayOfString |
apigateway:Request/SecurityPolicy | Filtra o acesso pela versão do TLS. Disponível durante CreateDomain as UpdateDomain operações | ArrayOfString |
apigateway:Request/StageName | Filtra o acesso pelo nome de estágio da implantação que você tenta criar. Disponível durante a CreateDeployment operação | String |
apigateway:Resource/AccessLoggingDestination | Filtra o acesso pelo destino do log de acesso do recurso Stage atual. Disponível durante UpdateStage as DeleteStage operações | String |
apigateway:Resource/AccessLoggingFormat | Filtra o acesso pelo formato do log de acesso do recurso Stage atual. Disponível durante UpdateStage as DeleteStage operações | 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 PutMethod as DeleteMethod operações e. Também disponível como uma coleção durante a reimportação | ArrayOfBool |
apigateway:Resource/ApiName | Filtra o acesso pelo nome da API do RestApi recurso existente. Disponível durante UpdateRestApi e durante DeleteRestApi as operações | String |
apigateway:Resource/AuthorizerType | Filtra o acesso pelo tipo atual de autorizador, por exemplo TOKEN, REQUEST, JWT. Disponível durante UpdateAuthorizer e durante DeleteAuthorizer as operações. Também disponível durante a reimportação como ArrayOfString | ArrayOfString |
apigateway:Resource/AuthorizerUri | Filtra o acesso pelo URI de uma função de autorizador do Lambda. Disponível durante UpdateAuthorizer e durante DeleteAuthorizer as operações. Também disponível durante a reimportação como ArrayOfString | ArrayOfString |
apigateway:Resource/DisableExecuteApiEndpoint | Filtra o acesso por status do endpoint de execução da API padrão do recurso atual. RestApi Disponível durante UpdateRestApi e durante DeleteRestApi as operações | Bool |
apigateway:Resource/EndpointType | Filtra o acesso pelo tipo de endpoint. Disponível durante as DeleteRestApi operações UpdateDomainName DeleteDomainName UpdateRestApi,, e | ArrayOfString |
apigateway:Resource/MtlsTrustStoreUri | Filtra o acesso pelo URI do truststore usado para autenticação TLS mútua. Disponível durante UpdateDomainName e durante DeleteDomainName as operações | String |
apigateway:Resource/MtlsTrustStoreVersion | Filtra o acesso pela versão do truststore usado para autenticação TLS mútua. Disponível durante UpdateDomainName e durante DeleteDomainName as operações | String |
apigateway:Resource/RouteAuthorizationType | Filtra o acesso por tipo de autorização do recurso de método existente, por exemplo NONE, CUSTOM, JWT AWS_IAM, COGNITO_USER_POOLS. Disponível durante PutMethod as DeleteMethod operações e. 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 UpdateDomain e durante DeleteDomain as operações | 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 |