Políticas de permisos y acciones admitidas
En este capítulo se describe la gestión detallada de permisos para su APIG.
Si su cuenta de Huawei Cloud no requiere usuarios individuales de IAM, omita esta sección.
De forma predeterminada, los nuevos usuarios de IAM no tienen permisos asignados. Debe agregar un usuario a uno o más grupos y adjuntar políticas o roles de permisos (en formato JSON) a estos grupos. Los usuarios heredan permisos de los grupos a los que se agregan y pueden realizar operaciones específicas a servicios en la nube según los permisos. Para obtener más información sobre la sintaxis de políticas y, por ejemplo, políticas, consulte Creación de un usuario y concesión de permisos de APIG.
Una cuenta tiene todos los permisos necesarios para llamar a todas las API, pero a los usuarios de IAM se les deben asignar los permisos necesarios. Los permisos necesarios para llamar a una API están determinados por las acciones admitidas por la API. Solo los usuarios de IAM a los que se les han concedido permisos para permitir las acciones pueden invocar a la API con éxito. Por ejemplo, si un usuario de IAM desea crear API mediante una API, debe haberle concedido permisos que permitan la acción apig:apis:create.
Acciones admitidas
Las operaciones admitidas por las políticas son específicas de las API. Los siguientes son conceptos comunes relacionados con las políticas:
- Permiso: Sentencia de una política que permite o niega ciertas operaciones.
- Acción: Operaciones específicas que están permitidas o denegadas.
- API: REST APIs a las que puede invocar un usuario al que se le han concedido permisos específicos.
- Ámbito de autorización: Tipo de proyectos en los que se pueden utilizar políticas para conceder permisos. Una política se puede aplicar a proyectos de IAM, proyectos de empresa o ambos. Las políticas que contienen acciones tanto para IAM como para proyectos empresariales pueden utilizarse y surtir efecto tanto para IAM como para Enterprise Management. Las políticas que solo contienen acciones para proyectos de IAM se pueden usar y solo tienen efecto para IAM. Para más detalles, consulte ¿Cuáles son las diferencias entre IAM Projects y Proyecto empresarials?
APIG admite acciones que se pueden definir en políticas personalizadas. Los permisos deben obtenerse antes de invocar a las API proporcionadas por APIG. Para obtener más información sobre cómo obtener permisos, visite Centro de ayuda de Identidad y Gestión de Acceso.
Descripción |
Acción |
API |
Proyectos de IAM |
Proyecto empresarial |
---|---|---|---|---|
Creación de un gateway dedicado |
apig:instances:create |
POST /v2/{project_id}/apigw/instances |
√ |
√ |
Eliminación de un gateway dedicado |
apig:instances:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id} |
√ |
√ |
Actualización de un gateway dedicado |
apig:instances:update |
PUT /v2/{project_id}/apigw/instances/{instance_id} |
√ |
√ |
Consulta de detalles de un gateway dedicado |
apig:instances:get |
GET /v2/{project_id}/apigw/instances/{instance_id} |
√ |
√ |
Consulta de una lista de gateway dedicado |
apig:instances:list |
GET /v2/{project_id}/apigw/instances |
√ |
√ |
Creación de un grupo de API |
apig:groups:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/api-groups |
√ |
√ |
Eliminación de un grupo de API |
apig:groups:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id} |
√ |
√ |
Consulta de detalles de un grupo de API |
apig:groups:get |
GET /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id} |
√ |
√ |
Consulta de una lista de grupos de API |
apig:groups:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/api-groups |
√ |
√ |
Vinculación de un nombre de dominio a un grupo de API |
apig:domains:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains |
√ |
√ |
Eliminación de un nombre de dominio enlazado a un grupo de API |
apig:domains:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id} |
√ |
√ |
Adición de un certificado a un nombre de dominio |
apig:domains:bindCertificate |
POST /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id}/certificate |
√ |
√ |
Eliminación de un certificado vinculado a un nombre de dominio |
apig:domains:unbindCertificate |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id}/certificate/{certificate_id} |
√ |
√ |
Consulta de detalles de un certificado vinculado a un nombre de dominio |
apig:domains:getCertificate |
GET /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id}/certificate/{certificate_id} |
√ |
√ |
Creación de una variable de entorno |
apig:variables:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/env-variables |
√ |
√ |
Eliminación de una variable de entorno |
apig:variables:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/env-variables/{env_variable_id} |
√ |
√ |
Consulta de detalles de una variable de entorno |
apig:variables:get |
GET /v2/{project_id}/apigw/instances/{instance_id}/env-variables/{env_variable_id} |
√ |
√ |
Consulta de una lista de variables de entorno |
apig:variables:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/env-variables |
√ |
√ |
Creación de una API |
apig:apis:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/apis |
√ |
√ |
Eliminación de una API |
apig:apis:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/apis/{api_id} |
√ |
√ |
Publicación de una API |
apig:apis:publish |
POST /v2/{project_id}/apigw/instances/{instance_id}/apis/action |
√ |
√ |
Desconexión de una API |
apig:apis:offline |
POST /v2/{project_id}/apigw/instances/{instance_id}/apis/action |
√ |
√ |
Depuración de una API |
apig:apis:debug |
POST /v2/{project_id}/apigw/instances/{instance_id}/apis/debug/{api_id} |
√ |
√ |
Importación de una API |
apig:apis:import |
POST /v2/{project_id}/apigw/instances/{instance_id}/openapi/import |
√ |
√ |
Exportación de una API |
apig:apis:export |
POST /v2/{project_id}/apigw/instances/{instance_id}/openapi/export |
√ |
√ |
Autorización a una aplicación para acceder a una API |
apig:apis:grantAppAccess |
POST /v2/{project_id}/apigw/instances/{instance_id}/app-auths |
√ |
√ |
Cancelación de la autorización de una aplicación para acceder a una API |
apig:apis:relieveAppAccess |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/app-auths/{app_auth_id} |
√ |
√ |
Vinculación de una clave de firma a una API |
apig:apis:bindSigns |
POST /v2/{project_id}/apigw/instances/{instance_id}/sign-bindings |
√ |
√ |
Desvinculación de una clave de firma de una API |
apig:apis:unbindSigns |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/{sign_bindings_id} |
√ |
√ |
Vinculación de una política de control de acceso a una API |
apig:apis:bindAcls |
POST /v2/{project_id}/apigw/instances/{instance_id}/acl-bindings |
√ |
√ |
Desvinculación de una política de control de acceso de una API |
apig:apis:unbindAcls |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/acl-bindings/{acl_bindings_id} |
√ |
√ |
Vinculación de una política de limitación de solicitudes a una API |
apig:apis:bindThrottles |
POST /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings |
√ |
√ |
Desvinculación de una política de limitación de solicitudes de una API |
apig:apis:unbindThrottles |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/{throttle_binding_id} |
√ |
√ |
Consulta de detalles de una API |
apig:apis:get |
GET /v2/{project_id}/apigw/instances/{instance_id}/apis/{api_id} |
√ |
√ |
Consulta de una lista de API |
apig:apis:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/apis |
√ |
√ |
Consulta de la lista de aplicaciones vinculadas a una API |
apig:apis:listBindedApps |
GET /v2/{project_id}/apigw/instances/{instance_id}/app-auths/binded-apps |
√ |
√ |
Consulta de la lista de claves de firma vinculadas a una API |
apig:apis:listBindedSigns |
GET /v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/binded-signs |
√ |
√ |
Consulta de la lista de políticas de control de acceso vinculadas a una API |
apig:apis:listBindedAcls |
GET /v2/{project_id}/apigw/instances/{instance_id}/acl-bindings/binded-acls |
√ |
√ |
Consulta de la lista de políticas de limitación de solicitudes vinculadas a una API |
apig:apis:listBindedTrottles |
GET /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/binded-throttles |
√ |
√ |
Creación de un entorno |
apig:envs:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/envs |
√ |
√ |
Eliminación de un entorno |
apig:envs:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/envs/{env_id} |
√ |
√ |
Consulta de una lista de entornos |
apig:envs:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/envs |
√ |
√ |
Creación de una aplicación |
apig:apps:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/apps |
√ |
√ |
Eliminación de una App |
apig:apps:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/apps/{app_id} |
√ |
√ |
Consulta de detalles de una aplicación |
apig:apps:get |
GET /v2/{project_id}/apigw/instances/{instance_id}/apps/{app_id} |
√ |
√ |
Consulta de una lista de aplicaciones |
apig:apps:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/apps |
√ |
√ |
Consulta de la lista de API vinculadas a una aplicación |
apig:apps:listBindedApis |
GET /v2/{project_id}/apigw/instances/{instance_id}/app-auths/binded-apis |
√ |
√ |
Consulta de la lista de APIs no vinculadas a una aplicación |
apig:apps:listUnbindedApis |
GET /v2/{project_id}/apigw/instances/{instance_id}/app-auths/unbinded-apis |
√ |
√ |
Creación de una clave de firma |
apig:signs:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/signs |
√ |
√ |
Eliminación de una clave de firma |
apig:signs:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/signs/{sign_id} |
√ |
√ |
Consulta de una lista de claves de firma |
apig:signs:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/signs |
√ |
√ |
Consulta de la lista de API vinculadas a una clave de firma |
apig:signs:listBindedApis |
GET /v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/binded-apis |
√ |
√ |
Consulta de la lista de APIs no vinculadas a una clave de firma |
apig:signs:listUnbindedApis |
GET /v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/unbinded-apis |
√ |
√ |
Creación de una política de control de acceso |
apig:acls:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/acls |
√ |
√ |
Eliminación de una política de control de acceso |
apig:acls:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/acls/{acl_id} |
√ |
√ |
Consulta de detalles de una política de control de acceso |
apig:acls:get |
GET /v2/{project_id}/apigw/instances/{instance_id}/acls/{acl_id} |
√ |
√ |
Consulta de una lista de políticas de control de acceso |
apig:acls:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/acls |
√ |
√ |
Consulta de la lista de API vinculadas a una política de control de acceso |
apig:acls:listBindedApis |
GET /v2/{project_id}/apigw/instances/{instance_id}/acl-bindings/binded-apis |
√ |
√ |
Consulta de la lista de APIs no vinculadas a una política de control de acceso |
apig:acls:listUnbindedApis |
GET /v2/{project_id}/apigw/instances/{instance_id}/acl-bindings/unbinded-apis |
√ |
√ |
Creación de una política de limitación de solicitudes |
apig:throttles:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/throttles |
√ |
√ |
Eliminación de una política de limitación de solicitudes |
apig:throttles:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id} |
√ |
√ |
Consulta de detalles de una política de limitación de solicitudes |
apig:throttles:get |
GET /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id} |
√ |
√ |
Consulta de una lista de políticas de control de solicitudes |
apig:throttles:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/throttles |
√ |
√ |
Consulta de la lista de API enlazadas a una política de control de solicitudes |
apig:throttles:listBindedApis |
GET /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/binded-apis |
√ |
√ |
Consulta de la lista de API no vinculadas a una política de control de solicitudes |
apig:throttles:listUnbindedApis |
GET /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/unbinded-apis |
√ |
√ |
Creación de una configuración de limitación de solicitudes excluidas |
apig:specialThrottles:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}/throttle-specials |
√ |
√ |
Eliminación de una configuración de limitación de solicitudes excluidas |
apig:specialThrottles:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}/throttle-specials/{strategy_id} |
√ |
√ |
Consulta de configuraciones de limitación de solicitudes excluidas |
apig:specialThrottles:get |
GET /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}/throttle-specials |
√ |
√ |
Creación de un canal de VPC |
apig:vpcChannels:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels |
√ |
√ |
Eliminación de un canal de VPC |
apig:vpcChannels:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id} |
√ |
√ |
Actualización de un canal de VPC |
apig:vpcChannels:update |
PUT /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id} |
√ |
√ |
Creación de una instancia de backend |
apig:vpcChannels:addInstance |
POST /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id}/members |
√ |
√ |
Eliminación de una instancia de backend |
apig:vpcChannels:deleteInstance |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id}/members/{member_id} |
√ |
√ |
Consulta de detalles de un canal de VPC |
apig:vpcs:get |
GET /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id} |
√ |
√ |
Consulta de una lista de canales de VPC |
apig:vpcs:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels |
√ |
√ |
Creación de un autorizador personalizado |
apig:authorizers:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/authorizers |
√ |
√ |
Eliminación de un autorizador personalizado |
apig:authorizers:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/authorizers/{authorizer_id} |
√ |
√ |
Consulta de detalles de un autorizador personalizado |
apig:authorizers:get |
GET /v2/{project_id}/apigw/instances/{instance_id}/authorizers/{authorizer_id} |
√ |
√ |
Consultar una lista de autorizadores personalizados |
apig:authorizers:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/authorizers |
√ |
√ |
Consulta de una lista de etiquetas |
apig:tags:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/tags |
√ |
√ |
Consulta de una lista de características de instancia |
apig:features:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/features |
√ |
√ |
Creación de una característica de instancia |
apig:features:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/features |
√ |
√ |