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 esse 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 recurso DomainName devido à natureza confidencial do mTLS | Permissions management | |||
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 | Write | |||
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 | |||
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 | |||
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 |
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
|
|
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 | 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 |