Sintaxe das políticas de permissões refinadas
Nos serviços reais, talvez seja necessário conceder permissões de operação diferentes em recursos a usuários de diferentes funções. O serviço IAM fornece controle de acesso refinado. Um administrador do IAM (um usuário no grupo admin) pode criar uma política personalizada contendo as permissões necessárias. Depois que uma política é concedida a um grupo de usuários, os usuários do grupo podem obter todas as permissões definidas pela política. Dessa forma, o IAM implementa o gerenciamento de permissões refinado.
Para controlar as operações do GaussDB(DWS) em recursos com mais precisão, você pode usar a função de gerenciamento de usuários do IAM para conceder permissões de operação diferentes a usuários de diferentes funções para controle de permissão refinado.
Estrutura da política
Uma política refinada consiste em uma Version e uma Statement. Cada política pode ter várias instruções.
Sintaxe da política
No painel de navegação no console do IAM, clique em Policies e, em seguida, clique no nome de uma política para exibir seus detalhes. A política DWS ReadOnlyAccess é usada como um exemplo para descrever a sintaxe de políticas refinadas.
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "vpc:*:get*", "vpc:*:list*", "evs:*:get*", "evs:*:list*", "mrs:*:get*", "bss:*:list*", "bss:*:get*" ] } ] }
- Version: distingue entre controle de acesso baseado em função (RBAC) e políticas refinadas.
- 1.0: políticas RBAC. Uma política RBAC consiste em permissões para um serviço inteiro. Os usuários em um grupo com essa política atribuída recebem todas as permissões necessárias para esse serviço.
- 1.1: políticas refinadas. Uma política refinada consiste em permissões baseadas em API para operações em tipos de recursos específicos. Políticas refinadas, como o nome sugere, permitem um controle mais refinado do que as políticas RBAC. Os usuários concedidos permissões de tal política só podem executar operações específicas no serviço correspondente. Políticas refinadas incluem políticas de sistema e personalizadas.
- Statement: permissões definidas por uma política, incluindo Effect e Action.
- Effect
Os valores válidos para Effect são Allow e Deny. As políticas do sistema contêm apenas instruções Allow. Para políticas personalizadas contendo instruções Allow e Deny, as instruções Deny têm precedência.
- Action
Permissões no formato Service name:Resource type:Operation. Uma política pode conter uma ou mais permissões. O curinga (*) tem permissão para indicar todos os serviços, tipos de recursos ou operações, dependendo de sua localização na ação.
Exemplo: dws:cluster:create, permissões para criar clusters de armazém de dados.
- Effect
Lista de ações suportadas
Ao criar uma política personalizada no IAM, você pode adicionar as operações nos recursos do GaussDB(DWS) ou as permissões correspondentes às APIs RESTful à lista de ações da instrução de autorização de política para que a política contenha as permissões de operação. A tabela a seguir lista as permissões do GaussDB(DWS).
- API REST
Para obter detalhes sobre as ações da API RESTful suportadas pelo GaussDB(DWS), consulte Políticas de permissões e ações suportadas.
- Operações do console de gerenciamento
Tabela 1 descreve as operações do GaussDB(DWS) nos recursos e as permissões correspondentes.
Algumas permissões do GaussDB(DWS) dependem das ações do ECS, VPC, EVS, ELB, MRS e OBS. Conceda ao GaussDB(DWS) as permissões de administrador de serviço necessárias.
Operação |
Permissão |
Permissão dependente |
Escopo |
---|---|---|---|
Criação de um cluster |
"dws:cluster:create" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "vpc:securityGroupRules:delete", "vpc:ports:update", "evs:*:get*", "evs:*:list*", "evs:*:create*", |
|
Obtenção da lista de clusters |
"dws:cluster:list" |
-- |
|
Obtenção dos detalhes de um cluster |
"dws:cluster:getDetail" |
"dws:*:get*", "dws:*:list*", "vpc:vpcs:list", "vpc:securityGroups:get" |
|
Definição da política de snapshot automatizada |
"dws:cluster:setAutomatedSnapshot" |
"dws:backupPolicy:list" |
|
Configuração de parâmetros/grupos de parâmetros de segurança |
"dws:cluster:setSecuritySettings" |
"dws:*:get*", "dws:*:list*", |
|
Reinicialização de um cluster |
"dws:cluster:restart" |
"dws:*:get*", "dws:*:list*", |
|
Expansão de clusters |
"dws:cluster:scaleOut" |
"dws:*:get*", "dws:*:list*", "dws:cluster:scaleOutOrOpenAPIResize", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "vpc:*:update*", "evs:*:get*", "evs:*:list*", "evs:*:create*", |
|
Expansão ou redimensionamento de um cluster via API |
"dws:cluster:scaleOutOrOpenAPIResize" |
"dws:*:get*", "dws:*:list*", "vpc:vpcs:list", "vpc:ports:create", "vpc:ports:get", "vpc:ports:update", "vpc:subnets:get", "vpc:subnets:update", "vpc:subnets:create", "vpc:routers:get", "vpc:routers:update", "vpc:networks:create", "vpc:networks:get", "vpc:networks:update", "ecs:serverInterfaces:use", "ecs:serverInterfaces:get", "ecs:cloudServerFlavors:get" |
|
Redefinição da sua senha |
"dws:cluster:resetPassword" |
"dws:*:get*", "dws:*:list*", |
|
Exclusão de um cluster |
"dws:cluster:delete" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:delete*", "vpc:*:get*", "vpc:*:list*", "vpc:*:delete*", "evs:*:get*", "evs:*:list*", "evs:*:delete*", |
|
Configuração de janelas de manutenção |
"dws:cluster:setMaintainceWindow" |
"dws:*:get*", "dws:*:list*", |
|
Vinculação de EIPs |
"dws:eip:operate" |
"dws:*:get*", "dws:*:list*", "eip:*:get*", "eip:*:list*" |
|
Desvinculação de EIPs |
"dws:eip:operate" |
"dws:*:get*", "dws:*:list*", "eip:*:get*", "eip:*:list*" |
|
Criação de nomes de domínio do DNS |
"dws:dns:create" |
"dws:*:get*", "dws:*:list*", |
|
Liberação de nomes de domínio do DNS |
"dws:dns:release" |
"dws:*:get*", "dws:*:list*", |
|
Modificação de nomes de domínio do DNS |
"dws:dns:edit" |
"dws:*:get*", "dws:*:list*", |
|
Criação de conexões do MRS |
"dws:MRSConnection:create" |
"dws:*:get*", "dws:*:list*", "mrs:*:get*", "mrs:*:list*", "mrs:cluster:create", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "evs:*:get*", "evs:*:list*", "evs:*:create*" |
|
Atualização de conexões do MRS |
"dws:MRSConnection:update" |
"dws:*:get*", "dws:*:list*", "mrs:*:get*", "mrs:*:list*", "mrs:cluster:create", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "evs:*:get*", "evs:*:list*", "evs:*:create*" |
|
Exclusão de conexões do MRS |
"dws:MRSConnection:delete" |
"dws:*:get*", "dws:*:list*", "mrs:*:get*", "mrs:*:list*", "mrs:cluster:create" "ecs:*:get*", "ecs:*:list*", "ecs:*:delete*", "vpc:*:get*", "vpc:*:list*", "vpc:*:delete*", "evs:*:get*", "evs:*:list*", "evs:*:delete*", |
|
Lista de fontes de dados do MRS |
"dws:MRSSource:list" |
"mrs:cluster:list", "mrs:tag:listResource", "mrs:tag:list", "dws:*:get*", "dws:*:list*" |
|
Adição/exclusão de tags |
"dws:tag:addAndDelete" |
"dws:*:get*", "dws:*:list*", "dws:openAPITag:update", "dws:openAPITag:getResourceTag", |
|
Edição de tags |
"dws:tag:edit" |
"dws:*:get*", "dws:*:list*", "dws:openAPITag:update", "dws:openAPITag:getResourceTag", |
|
Criação de um snapshot |
"dws:snapshot:create" |
"dws:*:get*", "dws:*:list*", |
|
Obtenção da lista de snapshots |
"dws:snapshot:list" |
-- |
|
Exibição da lista de snapshots de um cluster |
"dws:clusterSnapshot:list" |
"dws:cluster:list", "dws:openAPICluster:getDetail" |
|
Exclusão de snapshots |
"dws:snapshot:delete" |
"dws:snapshot:list" |
|
Cópia de snapshots |
"dws:snapshot:copy" |
"dws:snapshot:list", "dws:snapshot:create" |
|
Restauração de dados em um novo cluster |
"dws:cluster:restore" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "evs:*:get*", "evs:*:list*", "evs:*:create*" |
|
Redimensionamento de um cluster |
"dws:cluster:resize" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "ecs:*:delete*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "vpc:*:delete*", "evs:*:get*", "evs:*:list*", "evs:*:create*", "evs:*:delete*" |
|
Reversão |
"dws:cluster:switchover" |
"dws:*:get*", "dws:*:list*" |
|
Consulta da lista do ELB |
"dws:elb:list" |
"dws:*:get*", "dws:*:list*", "elb:*:get*", "elb:*:list*", |
|
Associação do ELB |
"dws:elb:bind" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "vpc:*:get*", "vpc:*:list*", "evs:*:get*", "evs:*:list*", "elb:*:get*", "elb:*:list*", "elb:*:delete*", "elb:*:create*", |
|
Desassociação do ELB |
"dws:elb:unbind" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "vpc:*:get*", "vpc:*:list*", "evs:*:get*", "evs:*:list*", "elb:*:get*", "elb:*:list*", "elb:*:delete*", |
|
Consulta de configurações de snapshot |
"dws:snapshotConfig:list" |
"dws:*:get*", "dws:*:list*", |
|
Atualização de uma política de snapshot |
"dws:backupPolicyDetail:update" |
"dws:*:get*", "dws:*:list*", |
|
Exclusão de uma política de snapshot |
"dws:backupPolicy:delete" |
"dws:*:get*", "dws:*:list*", |
|
Consulta de uma política de snapshot |
"dws:backupPolicy:list" |
"dws:cluster:list" |
|
Consulta de informações de criptografia de cluster |
"dws:clusterEncryptInfo:list" |
"dws:*:get*", "dws:*:list*", "KMS Administrator" |
|
Criação de um agente |
"dws:createAgency:create" |
"dws:*:get*", "dws:*:list*", "security administrator" |
|
Consulta de informações do bucket do OBS |
"dws:queryBuckets:list" |
"dws:*:get*", "dws:*:list*", |
|
Adição de um nó |
"dws:expandWithExistedNodes:update" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "vpc:*:update*", "evs:*:get*", "evs:*:list*", "evs:*:create*", |
|
Exclusão de um backup de DR |
"dws:disasterRecovery:delete" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:delete*", "vpc:*:get*", "vpc:*:list*", "vpc:*:delete*", "evs:*:get*", "evs:*:list*", "evs:*:delete*" |
|
Criação de um backup de DR |
"dws:disasterRecovery:create" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "evs:*:get*", "evs:*:list*", "evs:*:create*", |
|
Outras operações de DR e backup |
"dws:disasterRecovery:otherOperate" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "evs:*:get*", "evs:*:list*", "evs:*:create*" |
|
Consulta de operações de DR e backup |
"dws:disasterRecovery:get" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "vpc:*:get*", "vpc:*:list*", "evs:*:get*", "evs:*:list*" |
|
Adição de um CN |
"dws:module:install" |
"dws:*:get*", "dws:*:list*", |
|
Exclusão de um CN |
"dws:module:uninstall" |
"dws:*:get*", "dws:*:list*", |
|
Remoção de nós |
"dws:clusterNodes:operate" |
"dws:*:get*", "dws:*:list*" |
|
Atualização do alias do nó |
dws:instanceAliasName:update |
dws:cluster:list |
|
Redistribuição de dados |
"dws:redistribution:operate" |
"dws:*:get*", "dws:*:list*", |
|
Consulta de redistribuição |
"dws:redistributionInfo:list" |
"dws:*:get*", "dws:*:list*", |
|
Interrupção da redistribuição |
"dws:redistribution:suspend" |
"dws:*:get*", "dws:*:list*", |
|
Retomada da redistribuição |
"dws:redistribution:recover" |
"dws:*:get*", "dws:*:list*", |
|
Adição da capacidade de disco |
"dws:disk:expand" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "evs:*:get*", "evs:*:list*", "evs:*:create*", |
|
Redução de um cluster |
"dws:cluster:shrink" |
"dws:*:get*", "dws:*:list*", "dws:createAgency:create", "ecs:*:get*", "ecs:*:list*", "ecs:*:delete*", "vpc:*:get*", "vpc:*:list*", "vpc:*:delete*", "evs:*:get*", "evs:*:list*", "evs:*:delete*" |
|
Consulta das especificações do produto |
"dws:specProduct:list" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*" |
|
Alteração de pagamento por uso para anual/mensal |
"dws:ondemandToPeriod:operate" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "vpc:securityGroupRules:delete", "evs:*:get*", "evs:*:list*", "evs:*:create*", "bss:coupon:view", "bss:order:pay", "bss:order:view", "bss:contract:update", "bss:balance:view", "bss:renewal:view", "bss:unsubscribe:update", "bss:renewal:update", "bss:order:update" |
|
Modificação de um cluster anual/mensal |
"dws:periodCluster:modify" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:delete*", "vpc:*:get*", "vpc:*:list*", "vpc:*:delete*", "evs:*:get*", "evs:*:list*", "evs:*:delete*", "bss:coupon:view", "bss:order:pay", "bss:order:view", "bss:contract:update", "bss:balance:view", "bss:renewal:view", "bss:unsubscribe:update", "bss:renewal:update", "bss:order:update" |
|
Criação de um cluster anual/mensal |
"dws:periodCluster:create" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "evs:*:get*", "evs:*:list*", "evs:*:create*", "bss:coupon:view", "bss:order:pay", "bss:order:view", "bss:contract:update", "bss:balance:view", "bss:renewal:view", "bss:unsubscribe:update", "bss:renewal:update", "bss:order:update" |
|
Realização de uma verificação antes de adicionar capacidade de disco a um cluster anual/mensal |
"dws:periodExpandPrecheck:operate" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "evs:*:get*", "evs:*:list*", "evs:*:create*", |
|
Consulta sobre se o DAS é suportado |
"dws:supportDas:list" |
"dws:*:get*", "dws:*:list*", "das:*:get*", "das:*:list*", |
|
Vinculação do endereço IP do plano de gerenciamento |
"dws:bindManageIp:operate" |
"dws:*:get*", "dws:*:list*" |
|
Obtenção de autorização do usuário |
"dws:checkAuthorize:operate" |
"dws:*:get*", "dws:*:list*", "dws:checkSupport:operate" |
|
Autorização de um usuário |
"dws:authorize:operate" |
"dws:*:get*", "dws:*:list*", "dws:checkSupport:operate" |
|
Consulta de bancos de dados de usuários |
"dws:userDatabase:list" |
"dws:*:get*", "dws:*:list*", "dws:checkSupport:operate" |
|
Consulta de esquemas de usuários |
"dws:schemas:list" |
"dws:*:get*", "dws:*:list*", "dws:checkSupport:operate" |
|
Consulta de tabelas de usuários |
"dws:tables:list" |
"dws:*:get*", "dws:*:list*", |
|
Restauração de tabelas |
"dws:tableRestore:operate" |
"dws:*:get*", "dws:*:list*", |
|
Verificação do nome da tabela a ser restaurada |
"dws:tableRestoreCheck:operate" |
"dws:*:get*", "dws:*:list*", |
|
Verificação da compatibilidade de um cluster com o backup refinado |
"dws:checkSupport:operate" |
"dws:*:get*", "dws:*:list*", |
|
Consulta da lista de flavors que podem ser alterados |
"dws:supportFlavors:list" |
"dws:*:get*", "dws:*:list*", |
|
Alteração do flavor do nó |
"dws:specResize:operate" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*" |
|
Interrupção da criação de snapshot |
"dws:snapshot:stop" |
"dws:snapshot:list" |
|
Encerramento de uma sessão |
"dws:dmsSession:terminate" |
"dws:dmsGrpcOuter:operation" |
|
Operações de relatório de carga de trabalho |
"dws:dmsWorkloadDiagnosisReport:create" |
"dws:dmsGrpcOuter:operation" |
|
Modificação de uma regra de alarme |
"dws:dmsAlarmRule:update" |
"dws:dmsQuery:list" |
|
Habilitação de uma regra de alarme |
"dws:dmsAlarmRule:enable" |
"dws:dmsQuery:list" |
|
Habilitação de um alarme de cluster |
"dws:dmsClusterAlarm:enable" |
"dws:dmsQuery:list" |
|
Desabilitação de um alarme de cluster |
"dws:dmsClusterAlarm:disable" |
"dws:dmsQuery:list" |
|
Serviço externo gRPC |
"dws:dmsGrpcOuter:operation" |
"dws:dmsQuery:list", "dws:cluster:setSecuritySettings", "obs:bucket:ListAllMyBuckets" |
|
Adição de um teste SQL |
"dws:dmsProbe:add" |
"dws:dmsGrpcOuter:operation" |
|
Modificação de um teste SQL |
"dws:dmsProbe:update" |
"dws:dmsGrpcOuter:operation" |
|
Exclusão de um teste SQL |
"dws:dmsProbe:delete" |
"dws:dmsGrpcOuter:operation" |
|
Ativação ou desativação de um teste SQL |
"dws:dmsProbe:enable" |
"dws:dmsGrpcOuter:operation" |
|
Criação de um painel de usuário |
"dws:dmsUserBoard:create" |
"dws:dmsQuery:list" |
|
Modificação de um painel de usuário |
"dws:dmsUserBoard:update" |
"dws:dmsQuery:list" |
|
Exclusão de um painel de usuário |
"dws:dmsUserBoard:delete" |
"dws:dmsQuery:list" |
|
Encerramento de uma consulta |
"dws:dmsQuery:terminate" |
"dws:dmsGrpcOuter:operation" |
|
Ativação ou desativação do DMS |
"dws:dmsService:enableOrDisable" |
"dws:dmsQuery:list" |
|
Modificação de configurações de armazenamento do DMS |
"dws:dmsStorageConfig:modify" |
"dws:dmsQuery:list" |
|
Obtenção ou criação de uma revisão DDL |
"dws:dmsDdlExamine:getOrCreate" |
"dws:dmsGrpcOuter:operation" |
|
Operações de snapshot da carga de trabalho |
"dws:dmsWorkloadDiagnosisSnapshot:create" |
"dws:dmsGrpcOuter:operation" |
|
Criação de uma regra de alarme |
"dws:dmsAlarmRule:add" |
"dws:dmsQuery:list" |
|
Exclusão de uma regra de alarme |
"dws:dmsAlarmRule:delete" |
"dws:dmsQuery:list" |
|
Execução de um teste SQL |
"dws:dmsProbe:execute" |
"dws:dmsGrpcOuter:operation" |
|
Exclusão de um item de monitoramento |
"dws:dmsPerformanceMonitor:delete" |
"dws:dmsQuery:list" |
|
Ativação ou desativação de métricas de monitoramento do DMS |
"dws:dmsCollectItem:enableOrDisable" |
"dws:dmsGrpcOuter:operation" |
|
Modificação de configurações de monitoramento do DMS |
"dws:dmsCollectConfig:modify" |
"dws:dmsGrpcOuter:operation" |
|
Consulta condicional |
"dws:dmsQuery:list" |
"dws:cluster:list" |
|
Consulta condicional de OpenAPI |
"dws:dmsOpenapiQuery:list" |
"dws:cluster:list" |
|
Desabilitação de uma regra de alarme |
"dws:dmsAlarmRule:disable" |
"dws:dmsQuery:list" |
|
Exclusão de um registro de alarme |
"dws:dmsAlarmRecord:delete" |
"dws:dmsQuery:list" |
|
Verificação de testes SQL |
"dws:dmsProbe:check" |
"dws:dmsGrpcOuter:operation" |
|
Adição de um item de monitoramento |
"dws:dmsPerformanceMonitor:add" |
"dws:dmsQuery:list" |
|
Modificação de métricas de monitoramento |
"dws:dmsPerformanceMonitor:update" |
"dws:dmsQuery:list" |
|
Baixa de tendência de monitoramento histórico |
"dws:dmsTrendHistory:down" |
"dws:dmsQuery:list" |
|
Obtenção de informações do anel de cluster |
"dws:ring:list" |
"dws:*:get*", "dws:*:list*" |
|
Obtenção da topologia do processo de cluster |
"dws:processTopo:list" |
"dws:*:get*", "dws:*:list*" |
|
Consulta de informações de O&M inteligente |
"dws:operationalTask:get" |
"dws:*:get*", "dws:*:list*" |
|
Operações de O&M inteligente |
"dws:operationalTask:operate" |
"dws:*:get*", "dws:*:list*" |
|
Adição, exclusão e modificação de um cluster lógico |
"dws:logicalCluster:operate" |
"dws:*:get*", "dws:*:list*" |
|
Consulta de um cluster lógico |
"dws:logicalCluster:get" |
"dws:*:get*", "dws:*:list*" |
|
Planejamento de cluster lógico elástico |
"dws:logicalClusterPlan:operate" |
"dws:*:get*", "dws:*:list*", "dws:logicalCluster:*", "dws:cluster:scaleOut", "iam:agencies:*", "iam:permissions:*Agency*" |
|
Criação de um serviço do ponto de extremidade |
"dws:vpcEndpointService:create" |
"dws:*:get*", "dws:*:list*" |
|
Consulta da lista de gerenciamento de recursos |
"dws:workLoadManager:get" |
"dws:*:get*", "dws:*:list*" |
|
Operações de gerenciamento de recursos |
"dws:workLoadManager:operate" |
"dws:*:get*", "dws:*:list*" |
|
Operações do LTS |
"dws:ltsAccess:operate" |
"dws:*:get*", "dws:*:list*" |
|
Consulta de informações do LTS |
"dws:ltsAccess:get" |
"dws:*:get*", "dws:*:list*" |
|
Consulta de eventos |
"dws:event:list" |
"dws:*:get*", "dws:*:list*" |
|
Consulta de especificações do ECS |
"dws:event:list" |
"dws:*:get*", "dws:*:list*" |
|
Consulta de assinaturas de eventos |
"dws:eventSub:list" |
"dws:*:get*", "dws:*:list*" |
|
Criação de uma assinatura de evento |
"dws:eventSub:create" |
"dws:*:get*", "dws:*:list*", |
|
Atualização de uma assinatura de evento |
"dws:eventSub:update" |
"dws:*:get*", "dws:*:list*" |
|
Exclusão de uma assinatura de evento |
"dws:eventSub:delete" |
"dws:*:get*", "dws:*:list*" |
|
Consulta de estatísticas de alarme |
"dws:alarmStatistic:list" |
"dws:*:get*", "dws:*:list*" |
|
Consulta de detalhes do alarme |
"dws:alarmDetail:list" |
"dws:*:get*", "dws:*:list*" |
|
Consulta das configurações do alarme |
"dws:alarmConfig:list" |
"dws:*:get*", "dws:*:list*" |
|
Consulta de assinaturas de alarme |
"dws:alarmSub:list" |
"dws:*:get*", "dws:*:list*" |
|
Criação de uma assinatura de alarme |
"dws:alarmSub:create" |
"dws:*:get*", "dws:*:list*", |
|
Atualização de uma assinatura de alarme |
"dws:alarmSub:update" |
"dws:*:get*", "dws:*:list*" |
|
Exclusão de uma assinatura de alarme |
"dws:alarmSub:delete" |
"dws:*:get*", "dws:*:list*" |
|
Entrega de operações de atualização de cluster (atualização, reversão, envio e repetição) |
"dws:cluster:doUpdate" |
"dws:*:get*", "dws:*:list*" |
|
Consulta dos caminhos de atualização disponíveis de um cluster |
"dws:cluster:getUpgradePaths" |
"dws:*:get*", "dws:*:list*" |
|
Consulta de registros de atualização de cluster |
"dws:cluster:getUpgradeRecords" |
"dws:*:get*", "dws:*:list*" |
|
Autorização usando a política de permissão refinada
- Faça logon no console do IAM e crie uma política personalizada.
Para obter detalhes, consulte Criação de políticas personalizadas no Guia de usuário do Identity and Access Management.
Consulte o seguinte para criar a política:
- Use a conta de administrador do IAM, ou seja, o usuário no grupo de usuários admin, porque somente o administrador do IAM tem permissões para criar usuários e grupos de usuários e modificar permissões de grupo de usuários.
- GaussDB(DWS) é um serviço de nível de projeto, portanto, seu Scope deve ser definido como Project-level services. Se essa política for necessária para entrar em vigor em vários projetos, a autorização será necessária para cada projeto.
- Dois modelos de política do GaussDB(DWS) são pré-configurados no IAM. Ao criar uma política personalizada, você pode selecionar um dos modelos a seguir e modificar a instrução de autorização de política com base no modelo:
- DWS Admin: tem todas as permissões de execução no GaussDB(DWS).
- DWS Viewer: tem a permissão somente leitura no GaussDB(DWS).
- Você pode adicionar permissões correspondentes a operações do GaussDB(DWS) ou de APIs RESTful listadas em Lista de ações suportadas à lista de ações na instrução de autorização de política, para que a política possa obter as permissões.
Por exemplo, se dws:cluster:create for adicionado à lista de ações de uma instrução de política, a política terá permissão para criar ou restaurar clusters.
- Se você quiser usar outros serviços, conceda permissões de operação relacionadas a esses serviços. Para obter detalhes, consulte os documentos de ajuda dos serviços relacionados.
Por exemplo, ao criar um cluster de armazém de dados, é necessário configurar a VPC à qual o cluster pertence. Para obter a lista de VPCs, adicione a permissão vpc:*:get* à instrução de política.
- Crie um grupo de usuários.
Para obter detalhes, consulte Criação de um grupo de usuários no Guia de usuário de Identity and Access Management.
- Adicione usuários ao grupo de usuários e conceda a nova política personalizada ao grupo de usuários para que os usuários nele possam obter as permissões definidas pela política.
Para obter detalhes, consulte Visualização e modificação das informações do grupo de usuários no Guia de usuário do Identity and Access Management.
Lógica de autenticação
Se um usuário receber permissões de várias políticas ou de apenas uma política contendo as instruções Allow e Deny, a autenticação começará a partir das instruções Deny. A figura a seguir mostra a lógica de autenticação para acesso a recursos.
As ações em cada política possuem a relação OR.
- Um usuário acessa o sistema e faz uma solicitação de operação.
- O sistema avalia todas as políticas de permissões atribuídas ao usuário.
- Nessas políticas, o sistema procura por negações explícitas. Se o sistema encontrar uma negação explícita aplicável, a decisão Deny será retornada, e a autenticação se encerrará.
- Se nenhuma negação explícita for encontrada, o sistema procurará por permissões que se aplicariam à solicitação. Se o sistema encontrar uma permissão explícita aplicável, a decisão Allow será retornada, e a autenticação se encerrará.
- Se nenhuma permissão explícita for encontrada, o IAM retornará a decisão Deny, e a autenticação se encerrará.