Políticas de permissões e ações suportadas
Este capítulo descreve o gerenciamento de permissões refinado para seu APIG.
Se sua conta da Huawei Cloud não requer usuários individuais do IAM, pule esta seção.
Por padrão, os novos usuários do IAM não têm permissões atribuídas. Você precisa adicionar um usuário a um ou mais grupos e anexar políticas ou funções de permissões (no formato JSON) a esses grupos. Os usuários herdam permissões dos grupos aos quais são adicionados e podem executar operações especificadas em serviços em nuvem com base nas permissões. Para obter mais informações sobre sintaxe de política, consulte Criação de um usuário e concessão de permissões do APIG.
Uma conta tem todas as permissões necessárias para chamar todas as API, mas os usuários do IAM devem receber as permissões necessárias. As permissões necessárias para chamar uma API são determinadas pelas ações suportadas pela API. Somente usuários do IAM que receberam permissões que permitem as ações podem chamar a API com sucesso. Por exemplo, se um usuário do IAM quiser criar APIs usando uma API, o usuário deverá ter recebido permissões que permitam a ação apig:apis:create.
Ações suportadas
As operações suportadas pelas políticas são específicas das APIs. Seguem-se conceitos comuns relacionados com as políticas:
- Permissão: uma declaração em uma política que permite ou nega determinadas operações.
- Ação: operações específicas que são permitidas ou negadas.
- API: as APIs REST que podem ser chamadas por um usuário que recebeu permissões específicas.
- Escopo de autorização: tipo de projetos nos quais as políticas podem ser usadas para conceder permissões. Uma política pode ser aplicada a projetos do IAM, projetos corporativos ou ambos. As políticas que contêm ações para projetos do IAM e empresariais podem ser usadas e entrar em vigor para o IAM e o Enterprise Management. As políticas que contêm apenas ações para projetos do IAM podem ser usadas e só entram em vigor para o IAM. Para obter detalhes, consulte Quais são as diferenças entre projetos do IAM e projetos corporativos?
O APIG suporta ações que podem ser definidas em políticas personalizadas. As permissões devem ser obtidas antes de chamar as APIs fornecidas pelo APIG. Para obter detalhes sobre como obter permissões, visite o Central de ajuda do Identity and Access Management.
Descrição |
Ação |
API |
Projeto do IAM |
Projeto empresarial |
---|---|---|---|---|
Criação de um gateway dedicado |
apig:instances:create |
POST /v2/{project_id}/apigw/instances |
√ |
√ |
Exclusão de um gateway dedicado |
apig:instances:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id} |
√ |
√ |
Atualização de um gateway dedicado |
apig:instances:update |
PUT /v2/{project_id}/apigw/instances/{instance_id} |
√ |
√ |
Consulta de detalhes de um gateway dedicado |
apig:instances:get |
GET /v2/{project_id}/apigw/instances/{instance_id} |
√ |
√ |
Consulta de uma lista de gateway dedicada |
apig:instances:list |
GET /v2/{project_id}/apigw/instances |
√ |
√ |
Criação de um grupo de API |
apig:groups:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/api-groups |
√ |
√ |
Exclusão de um grupo da API |
apig:groups:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id} |
√ |
√ |
Consulta de detalhes de um grupo de APIs |
apig:groups:get |
GET /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id} |
√ |
√ |
Consulta de uma lista de grupos de API |
apig:groups:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/api-groups |
√ |
√ |
Vinculação de um nome de domínio a um grupo de APIs |
apig:domains:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains |
√ |
√ |
Exclusão de um nome de domínio vinculado a um grupo de APIs |
apig:domains:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id} |
√ |
√ |
Adição de um certificado a um nome de domínio |
apig:domains:bindCertificate |
POST /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id}/certificate |
√ |
√ |
Exclusão de um certificado vinculado a um nome de domínio |
apig:domains:unbindCertificate |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id}/certificate/{certificate_id} |
√ |
√ |
Consulta de detalhes de um certificado vinculado a um nome de domínio |
apig:domains:getCertificate |
GET /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id}/certificate/{certificate_id} |
√ |
√ |
Criação de uma variável de ambiente |
apig:variables:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/env-variables |
√ |
√ |
Exclusão de uma variável de ambiente |
apig:variables:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/env-variables/{env_variable_id} |
√ |
√ |
Consulta de detalhes de uma variável de ambiente |
apig:variables:get |
GET /v2/{project_id}/apigw/instances/{instance_id}/env-variables/{env_variable_id} |
√ |
√ |
Consulta de uma lista de variáveis de ambiente |
apig:variables:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/env-variables |
√ |
√ |
Criação de uma API |
apig:apis:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/apis |
√ |
√ |
Exclusão de uma API |
apig:apis:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/apis/{api_id} |
√ |
√ |
Publicação de uma API |
apig:apis:publish |
POST /v2/{project_id}/apigw/instances/{instance_id}/apis/action |
√ |
√ |
Deixar uma API off-line |
apig:apis:offline |
POST /v2/{project_id}/apigw/instances/{instance_id}/apis/action |
√ |
√ |
Depuração de uma API |
apig:apis:debug |
POST /v2/{project_id}/apigw/instances/{instance_id}/apis/debug/{api_id} |
√ |
√ |
Importação de uma API |
apig:apis:import |
POST /v2/{project_id}/apigw/instances/{instance_id}/openapi/import |
√ |
√ |
Exportação de uma API |
apig:apis:export |
POST /v2/{project_id}/apigw/instances/{instance_id}/openapi/export |
√ |
√ |
Autorização de uma aplicação a acessar uma API |
apig:apis:grantAppAccess |
POST /v2/{project_id}/apigw/instances/{instance_id}/app-auths |
√ |
√ |
Cancelamento da autorização de uma aplicação para acessar uma API |
apig:apis:relieveAppAccess |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/app-auths/{app_auth_id} |
√ |
√ |
Vinculação de uma chave de assinatura a uma API |
apig:apis:bindSigns |
POST /v2/{project_id}/apigw/instances/{instance_id}/sign-bindings |
√ |
√ |
Desvinculação de uma chave de assinatura de uma API |
apig:apis:unbindSigns |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/{sign_bindings_id} |
√ |
√ |
Vinculação de uma política de controle de acesso a uma API |
apig:apis:bindAcls |
POST /v2/{project_id}/apigw/instances/{instance_id}/acl-bindings |
√ |
√ |
Desvinculação de uma política de controle de acesso de uma API |
apig:apis:unbindAcls |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/acl-bindings/{acl_bindings_id} |
√ |
√ |
Vinculação de uma política de limitação de solicitações a uma API |
apig:apis:bindThrottles |
POST /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings |
√ |
√ |
Desvinculação de uma política de limitação de solicitações de uma API |
apig:apis:unbindThrottles |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/{throttle_binding_id} |
√ |
√ |
Consulta de detalhes de uma API |
apig:apis:get |
GET /v2/{project_id}/apigw/instances/{instance_id}/apis/{api_id} |
√ |
√ |
Consulta de uma lista de APIs |
apig:apis:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/apis |
√ |
√ |
Consulta da lista de aplicações vinculadas a uma API |
apig:apis:listBindedApps |
GET /v2/{project_id}/apigw/instances/{instance_id}/app-auths/binded-apps |
√ |
√ |
Consulta da lista de chaves de assinatura vinculadas a uma API |
apig:apis:listBindedSigns |
GET /v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/binded-signs |
√ |
√ |
Consulta da lista de políticas de controle de acesso vinculadas a uma API |
apig:apis:listBindedAcls |
GET /v2/{project_id}/apigw/instances/{instance_id}/acl-bindings/binded-acls |
√ |
√ |
Consulta da lista de políticas de limitação de solicitações vinculadas a uma API |
apig:apis:listBindedTrottles |
GET /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/binded-throttles |
√ |
√ |
Criação de um ambiente |
apig:envs:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/envs |
√ |
√ |
Exclusão de um ambiente |
apig:envs:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/envs/{env_id} |
√ |
√ |
Consulta de uma lista de ambientes |
apig:envs:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/envs |
√ |
√ |
Criação de uma aplicação |
apig:apps:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/apps |
√ |
√ |
Exclusão de uma aplicação |
apig:apps:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/apps/{app_id} |
√ |
√ |
Consulta de detalhes de uma aplicação |
apig:apps:get |
GET /v2/{project_id}/apigw/instances/{instance_id}/apps/{app_id} |
√ |
√ |
Consulta de uma lista de aplicações |
apig:apps:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/apps |
√ |
√ |
Consulta da lista de APIs vinculadas a uma aplicação |
apig:apps:listBindedApis |
GET /v2/{project_id}/apigw/instances/{instance_id}/app-auths/binded-apis |
√ |
√ |
Consulta da lista de APIs que não estão vinculadas a uma aplicação |
apig:apps:listUnbindedApis |
GET /v2/{project_id}/apigw/instances/{instance_id}/app-auths/unbinded-apis |
√ |
√ |
Criação de uma chave de assinatura |
apig:signs:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/signs |
√ |
√ |
Exclusão de uma chave de assinatura |
apig:signs:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/signs/{sign_id} |
√ |
√ |
Consulta de uma lista de chaves de assinatura |
apig:signs:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/signs |
√ |
√ |
Consulta da lista de APIs vinculadas a uma chave de assinatura |
apig:signs:listBindedApis |
GET /v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/binded-apis |
√ |
√ |
Consulta da lista de APIs não vinculadas a uma chave de assinatura |
apig:signs:listUnbindedApis |
GET /v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/unbinded-apis |
√ |
√ |
Criação de uma política de controle de acesso |
apig:acls:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/acls |
√ |
√ |
Exclusão de uma política de controle de acesso |
apig:acls:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/acls/{acl_id} |
√ |
√ |
Consulta de detalhes de uma política de controle de acesso |
apig:acls:get |
GET /v2/{project_id}/apigw/instances/{instance_id}/acls/{acl_id} |
√ |
√ |
Consulta de uma lista de políticas de controle de acesso |
apig:acls:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/acls |
√ |
√ |
Consulta da lista de APIs vinculadas a uma política de controle de acesso |
apig:acls:listBindedApis |
GET /v2/{project_id}/apigw/instances/{instance_id}/acl-bindings/binded-apis |
√ |
√ |
Consulta da lista de APIs não vinculadas a uma política de controle de acesso |
apig:acls:listUnbindedApis |
GET /v2/{project_id}/apigw/instances/{instance_id}/acl-bindings/unbinded-apis |
√ |
√ |
Criação de uma política de limitação de solicitações |
apig:throttles:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/throttles |
√ |
√ |
Exclusão de uma política de limitação de solicitação |
apig:throttles:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id} |
√ |
√ |
Consulta de detalhes de uma política de limitação de solicitações |
apig:throttles:get |
GET /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id} |
√ |
√ |
Consulta de uma lista de políticas de controle de solicitação |
apig:throttles:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/throttles |
√ |
√ |
Consulta da lista de APIs vinculadas a uma política de controle de solicitação |
apig:throttles:listBindedApis |
GET /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/binded-apis |
√ |
√ |
Consulta da lista de APIs não vinculadas a uma política de controle de solicitação |
apig:throttles:listUnbindedApis |
GET /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/unbinded-apis |
√ |
√ |
Criação de uma configuração de limitação de solicitação excluída |
apig:specialThrottles:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}/throttle-specials |
√ |
√ |
Exclusão de uma configuração de limitação de solicitação excluída |
apig:specialThrottles:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}/throttle-specials/{strategy_id} |
√ |
√ |
Consulta de configurações de limitação de solicitação excluída |
apig:specialThrottles:get |
GET /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}/throttle-specials |
√ |
√ |
Criação de um canal da VPC |
apig:vpcChannels:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels |
√ |
√ |
Exclusão de um canal da VPC |
apig:vpcChannels:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id} |
√ |
√ |
Atualização de um canal da VPC |
apig:vpcChannels:update |
PUT /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id} |
√ |
√ |
Criação de uma instância de back-end |
apig:vpcChannels:addInstance |
POST /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id}/members |
√ |
√ |
Exclusão de uma instância de back-end |
apig:vpcChannels:deleteInstance |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id}/members/{member_id} |
√ |
√ |
Consulta de detalhes de um canal da VPC |
apig:vpcs:get |
GET /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id} |
√ |
√ |
Consulta de uma lista de canais da VPC |
apig:vpcs:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels |
√ |
√ |
Criação de um autorizador personalizado |
apig:authorizers:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/authorizers |
√ |
√ |
Exclusão de um autorizador personalizado |
apig:authorizers:delete |
DELETE /v2/{project_id}/apigw/instances/{instance_id}/authorizers/{authorizer_id} |
√ |
√ |
Consulta de detalhes de um autorizador personalizado |
apig:authorizers:get |
GET /v2/{project_id}/apigw/instances/{instance_id}/authorizers/{authorizer_id} |
√ |
√ |
Consulta de uma lista personalizada de autorizadores |
apig:authorizers:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/authorizers |
√ |
√ |
Consulta de uma lista de tags |
apig:tags:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/tags |
√ |
√ |
Consulta de uma lista de recursos de instância |
apig:features:list |
GET /v2/{project_id}/apigw/instances/{instance_id}/features |
√ |
√ |
Criação de um recurso de instância |
apig:features:create |
POST /v2/{project_id}/apigw/instances/{instance_id}/features |
√ |
√ |