Acciones, recursos y claves de condición para la administración de Amazon API Gateway - Referencia de autorizaciones de servicio

Acciones, recursos y claves de condición para la administración de Amazon API Gateway

La administración de Amazon API Gateway (prefijo de servicio: apigateway) proporciona los siguientes recursos, acciones y claves de contexto de condición específicos del servicio para usarse en las políticas de permisos de IAM.

Referencias:

Acciones definidas por la administración de Amazon API Gateway

Puede especificar las siguientes acciones en el elemento Action de una declaración de política de IAM. Utilice políticas para conceder permisos para realizar una operación en AWS. Cuando utiliza una acción en una política, normalmente permite o deniega el acceso a la operación de la API o comandos de la CLI con el mismo nombre. No obstante, en algunos casos, una sola acción controla el acceso a más de una operación. Asimismo, algunas operaciones requieren varias acciones diferentes.

La columna Resource types (Tipos de recurso) indica si la acción admite permisos de nivel de recursos. Si no hay ningún valor para esta columna, debe especificar todos los recursos ("*") en el elemento Resource de la instrucción de la política. Si la columna incluye un tipo de recurso, puede especificar un ARN de ese tipo en una instrucción con dicha acción. Los recursos necesarios se indican en la tabla con un asterisco (*). Si especifica un ARN de permiso de nivel de recursos en una instrucción mediante esta acción, debe ser de este tipo. Algunas acciones admiten varios tipos de recursos. Si el tipo de recurso es opcional (no se indica como obligatorio), puede elegir utilizar uno pero no el otro.

Para obtener información detallada sobre las columnas de la siguiente tabla, consulte Tabla Acciones.

Actions Descripción Nivel de acceso Tipos de recursos (*necesarios) Claves de condición Acciones dependientes
AddCertificateToDomain Otorga permiso para agregar certificados para la autenticación TLS mutua a un nombre de dominio. Este es un control de autorización adicional para administrar el recurso DomainName debido a la naturaleza sensible de la mTLS Permissions management

DomainName

DomainNames

DELETE Otorga permiso para eliminar un recurso determinado Write

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

GET Otorga permiso para leer un recurso determinado 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

UsagePlan

UsagePlanKey

UsagePlanKeys

UsagePlans

VpcLink

VpcLinks

PATCH Otorga permiso para actualizar un recurso determinado 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 Otorga permiso para crear un recurso determinado 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 Otorga permiso para actualizar un recurso determinado Write

DocumentationPart

GatewayResponse

IntegrationResponse

MethodResponse

RestApi

aws:RequestTag/${TagKey}

aws:TagKeys

RemoveCertificateFromDomain Otorga permiso para eliminar certificados para la autenticación TLS mutua de un nombre de dominio. Este es un control de autorización adicional para administrar el recurso DomainName debido a la naturaleza sensible de la mTLS Permissions management

DomainName

DomainNames

SetWebACL Otorga permiso para establecer una lista de control de acceso (ACL) de WAF. Este es un control de autorización adicional para administrar el recurso Stage debido a la naturaleza sensible de WebAcl Permissions management

Stage

Stages

UpdateRestApiPolicy Otorga permiso para administrar la política de recursos de IAM para una API. Este es un control de autorización adicional para administrar la API debido a la naturaleza de la política de recursos Permissions management

RestApi

RestApis

Tipos de recursos definidos por la administración de Amazon API Gateway

Los siguientes tipos de recurso están definidos por este servicio y se pueden utilizar en el elemento Resource de las instrucciones de política de permisos de IAM. Cada acción de la tabla Acciones identifica los tipos de recursos que se pueden especificar con dicha acción. Un tipo de recurso también puede definir qué claves de condición se pueden incluir en una política. Estas claves se muestran en la última columna de la tabla. Para obtener información detallada sobre las columnas de la siguiente tabla, consulte Tabla Tipos de recurso.

Tipos de recurso ARN Claves de condición
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

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}
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

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}
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}
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}
RequestValidators arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/requestvalidators
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}
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
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}
UsagePlanKeys arn:${Partition}:apigateway:${Region}::/usageplans/${UsagePlanId}/keys
VpcLink arn:${Partition}:apigateway:${Region}::/vpclinks/${VpcLinkId}

aws:ResourceTag/${TagKey}

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

aws:ResourceTag/${TagKey}

Claves de condición para la administración de Amazon API Gateway

La administración de Amazon API Gateway define las siguientes claves de condición que pueden utilizarse en el elemento Condition de una política de IAM. Puede utilizar estas claves para ajustar más las condiciones en las que se aplica la instrucción de política. Para obtener información detallada sobre las columnas de la siguiente tabla, consulte Tabla Claves de condición.

Para ver las claves de condición globales que están disponibles para todos los servicios, consulte Claves de condición globales disponibles.

Claves de condición Descripción Tipo
apigateway:Request/AccessLoggingDestination Filtra el acceso por destino del registro de acceso. Disponible durante las operaciones CreateStage y UpdateStage Cadena
apigateway:Request/AccessLoggingFormat Filtra el acceso por formato de registro de acceso. Disponible durante las operaciones CreateStage y UpdateStage Cadena
apigateway:Request/ApiKeyRequired Filtra el acceso en función de si una clave de API es necesaria o no. Disponible durante las operaciones CreateMethod y PutMethod. También disponible como colección durante la importación y reimportación ArrayOfBool
apigateway:Request/ApiName Filtra el acceso por nombre de API. Disponible durante las operaciones CreateRestApi y UpdateRestApi Cadena
apigateway:Request/AuthorizerType Filtra el acceso por tipo de autorizador en la solicitud; por ejemplo, TOKEN, REQUEST, JWT. Disponible durante CreateAuthorizer y UpdateAuthorizer. También disponible durante la importación y reimportación como ArrayOfString ArrayOfString
apigateway:Request/AuthorizerUri Filtra el acceso por URI de una función de autorización de Lambda. Disponible durante CreateAuthorizer y UpdateAuthorizer. También disponible durante la importación y reimportación como ArrayOfString ArrayOfString
apigateway:Request/DisableExecuteApiEndpoint Filtra el acceso por estado del punto de enlace ejecute-api predeterminado. Disponible durante las operaciones CreateRestApi y DeleteRestApi Bool
apigateway:Request/EndpointType Filtra el acceso por tipo de punto de enlace. Disponible durante las operaciones CreateDomainName, UpdateDomainName, CreateRestApi y UpdateRestApi ArrayOfString
apigateway:Request/MtlsTrustStoreUri Filtra el acceso por URI del almacén de confianza utilizado para la autenticación TLS mutua. Disponible durante las operaciones CreateDomainName y UpdateDomainName Cadena
apigateway:Request/MtlsTrustStoreVersion Filtra el acceso por versión del almacén de confianza utilizado para la autenticación TLS mutua. Disponible durante las operaciones CreateDomainName y UpdateDomainName Cadena
apigateway:Request/RouteAuthorizationType Filtra el acceso por tipo de autorización; por ejemplo, NONE, AWS_IAM, CUSTOM, JWT, COGNITO_USER_POOLS. Disponible durante las operaciones CreateMethod y PutMethod. También disponible como colección durante la importación ArrayOfString
apigateway:Request/SecurityPolicy Filtra el acceso por versión TLS. Disponible durante las operaciones CreateDomain y UpdateDomain ArrayOfString
apigateway:Request/StageName Filtra el acceso por nombre de etapa de la implementación que intenta crear. Disponible durante la operación CreateDeployment Cadena
apigateway:Resource/AccessLoggingDestination Filtra el acceso por destino del registro de acceso del recurso Stage actual. Disponible durante las operaciones UpdateStage y DeleteStage Cadena
apigateway:Resource/AccessLoggingFormat Filtra el acceso por formato del registro de acceso del recurso Stage actual. Disponible durante las operaciones UpdateStage y DeleteStage Cadena
apigateway:Resource/ApiKeyRequired Filtra el acceso en función de si se requiere o no una clave de API para el recurso Method existente. Disponible durante las operaciones PutMethod y DeleteMethod. También disponible como colección durante la reimportación ArrayOfBool
apigateway:Resource/ApiName Filtra el acceso por nombre de API del recurso RestApi existente. Disponible durante las operaciones UpdateRestApi y DeleteRestApi Cadena
apigateway:Resource/AuthorizerType Filtra el acceso por el tipo de autorizador actual; por ejemplo, TOKEN, REQUEST, JWT. Disponible durante las operaciones UpdateAuthorizer y DeleteAuthorizer. También disponible durante la reimportación como ArrayOfString ArrayOfString
apigateway:Resource/AuthorizerUri Filtra el acceso por URI de una función de autorización de Lambda. Disponible durante las operaciones UpdateAuthorizer y DeleteAuthorizer. También disponible durante la reimportación como ArrayOfString ArrayOfString
apigateway:Resource/DisableExecuteApiEndpoint Filtra el acceso por estado del punto de enlace execute-api predeterminado del recurso RestApi actual. Disponible durante las operaciones UpdateRestApi y DeleteRestApi Bool
apigateway:Resource/EndpointType Filtra el acceso por tipo de punto de enlace. Disponible durante las operaciones UpdateDomainName, DeleteDomainName, UpdateRestApi y DeleteRestApi ArrayOfString
apigateway:Resource/MtlsTrustStoreUri Filtra el acceso por URI del almacén de confianza utilizado para la autenticación TLS mutua. Disponible durante las operaciones UpdateDomainName y DeleteDomainName Cadena
apigateway:Resource/MtlsTrustStoreVersion Filtra el acceso por versión del almacén de confianza utilizado para la autenticación TLS mutua. Disponible durante las operaciones UpdateDomainName y DeleteDomainName Cadena
apigateway:Resource/RouteAuthorizationType Filtra el acceso por tipo de autorización del recurso Method existente; por ejemplo, NONE, AWS_IAM, CUSTOM, JWT, COGNITO_USER_POOLS. Disponible durante las operaciones PutMethod y DeleteMethod. También disponible como colección durante la reimportación ArrayOfString
apigateway:Resource/SecurityPolicy Filtra el acceso por versión TLS. Disponible durante las operaciones UpdateDomain y DeleteDomain ArrayOfString
aws:RequestTag/${TagKey} Filtra acciones en función de la presencia de pares de clave-valor de etiqueta en la solicitud. Cadena
aws:ResourceTag/${TagKey} Filtra acciones en función de pares de clave-valor de etiqueta asociados al recurso. Cadena
aws:TagKeys Filtra acciones en función de la presencia de claves de etiqueta en la solicitud. Cadena