Este documento fornece exemplos sobre como conceder permissões de usuário para visualizar e usar recursos específicos no console do TencentDB usando uma política de CAM.
Política de acesso total para o TencentDB
Para conceder a um usuário permissões para criar e gerenciar instâncias do TencentDB, você pode implementar a política QcloudCDBFullAccess para o usuário.
QcloudCDBFullAccess: Esta política representa permissões totais de acesso de leitura e gravação para instâncias de TencentDB for MySQL, incluindo permissões do MySQL e grupos de segurança relacionados, monitoramento, grupos de usuários, backup, VPC e KMS. É adequada para usuários que precisam gerenciar e operar completamente instâncias de TencentDB for MySQL.
Acesse a interface Gerenciamento de políticas, pesquise por QcloudCDBFullAccess na caixa de pesquisa no canto superior direito para encontrar esta política. A sintaxe da política é a seguinte:
{
"version": "2.0",
“statement": [
{
"action": [
"cdb:*"
],
"resource": "*",
“effect": "allow”
},
{
"action": [
"vpc:*"
],
"resource": "*",
"effect": "allow"
},
{
"action": [
"cvm:*"
],
"resource": "qcs::cvm:::sg/*",
"effect": "allow"
},
{
"action": [
"cos:*"
],
"resource": "*",
"effect": "allow"
},
{
"effect": "allow",
"action": "monitor:*",
"resource": "*"
},
{
"action": [
"kms:CreateKey",
"kms:GenerateDataKey",
"kms:Decrypt",
"kms:ListKey"
],
"resource": "*",
"effect": "allow"
}
]
}
A política do CAM acima concede ao usuário permissões para usar todos os recursos do TencentDB, VPC, grupos de segurança, COS, KMS e Cloud Monitor.
Política de permissão somente leitura para o TencentDB
Se você deseja apenas que o usuário tenha permissão para consultar informações e dados de instâncias de TencentDB for MySQL, mas não tenha permissão para criar, excluir ou modificar, você pode usar a política com nome QcloudCDBInnerReadOnlyAccess para esse usuário.
QcloudCDBInnerReadOnlyAccess: Esta política representa permissões de acesso somente leitura para instâncias de TencentDB for MySQL. É adequada para usuários que precisam apenas visualizar informações e dados de instâncias de TencentDB for MySQL, mas não podem realizar operações de criação, exclusão, modificação ou alteração de configurações. Por exemplo: pessoal de finanças ou auditoria (precisa visualizar o uso de recursos do banco de dados e custos, mas não podem modificar instâncias).
Nota:
Recomenda-se configurar a política somente leitura para o TencentDB.
Você pode acessar a interface Gerenciamento de políticas, pesquisar por QcloudCDBInnerReadOnlyAccess na caixa de pesquisa no canto superior direito para encontrar esta política. A sintaxe da política é a seguinte:
{
"version": "2.0",
"statement": [
{
"action": [
"cdb:Describe*"
],
"resource": "*",
"effect": "allow"
}
]
}
Política de permissão somente leitura dos recursos relacionados ao TencentDB
Para conceder a um usuário permissões para visualizar instâncias do TencentDB e recursos relacionados (VPC, grupos de segurança, COS e Cloud Monitor), mas não criá-los, excluí-los ou modificá-los, você pode implementar a política QcloudCDBReadOnlyAccess para o usuário.
QcloudCDBReadOnlyAccess: Esta política representa permissões de acesso somente de leitura para recursos relacionados a TencentDB for MySQL. É adequada para usuários que precisam apenas visualizar instâncias e recursos relacionados de TencentDB for MySQL, mas não podem modificar ou excluir esses recursos. Por exemplo: pessoal de monitoramento de operação e manutenção (precisa apenas visualizar o status do banco de dados e monitorar os dados, sem necessidade de modificar configurações), desenvolvedores (precisam apenas consultar informações do banco de dados, mas não podem modificar configurações de instâncias), e assim por diante.
Acesse a interface Gerenciamento de políticas, pesquise por QcloudCDBReadOnlyAccess na caixa de pesquisa no canto superior direito para encontrar esta política. A sintaxe da política é a seguinte:
{
"version": "2.0",
"statement": [
{
"action": [
"cdb:Describe*"
],
"resource": "*",
"effect": "allow"
},
{
"action": [
"vpc:Describe*",
"vpc:Inquiry*",
"vpc:Get*"
],
"resource": "*",
"effect": "allow"
},
{
"action": [
"cvm:DescribeSecurityGroup*"
],
"resource": "*",
"effect": "allow"
},
{
"action": [
"cos:List*",
"cos:Get*",
"cos:Head*",
"cos:OptionsObject"
],
"resource": "*",
"effect": "allow"
},
{
"effect": "allow",
"action": "monitor:*",
"resource": "*"
}
]
}
A sintaxe de política de CAM acima concede ao usuário permissões das seguintes operações:
Todas as operações no TencentDB que começam com "Describe".
Todas as operações na VPC que começam com "Describe", "Inquiry" ou "Get".
Todas as operações no grupo de segurança que começam com palavra "DescribeSecurityGroup".
Todas as operações no COS que começam com "List", "Get" e "Head", bem como a operação "OptionsObject".
Todas as operações no Cloud Monitor.
Política para conceder a um usuário permissões para usar APIs fora do nível de recurso
Para conceder a um usuário permissões para usar apenas APIs fora do nível de recurso, você pode implementar a política QcloudCDBProjectToUser para o usuário.
QcloudCDBProjectToUser: Esta política representa permissões de projeto de subconta de TencentDB for MySQL, é adequada para conceder a um usuário as permissões de operação em interfaces de API não em nível de recursos. Esta política é adequada para testadores, e assim por diante. Acesse a interface Gerenciamento de políticas, pesquise por QcloudCDBProjectToUser na caixa de pesquisa no canto superior direito para encontrar esta política. A sintaxe da política é a seguinte:
{
"version": "2.0",
"statement": [
{
"action": [
"cdb:BalanceRoGroupLoad",
"cdb:CancelBatchOperation",
"cdb:CreateBatchJobFiles",
"cdb:CreateDBInstance",
"cdb:CreateDBInstanceHour",
"cdb:CreateMonitorTemplate",
"cdb:CreateParamTemplate",
"cdb:DeleteBatchJobFiles",
"cdb:DeleteMonitorTemplate",
"cdb:DeleteParamTemplate",
"cdb:DescribeBatchJobFileContent",
"cdb:DescribeBatchJobFiles",
"cdb:DescribeBatchJobInfo",
"cdb:DescribeProjectSecurityGroups",
"cdb:DescribeDefaultParams",
"cdb:DescribeMonitorTemplate",
"cdb:DescribeParamTemplateInfo",
"cdb:DescribeParamTemplates",
"cdb:DescribeRequestResult",
"cdb:DescribeRoGroupInfo",
"cdb:DescribeRoMinScale",
"cdb:DescribeTasks",
"cdb:DescribeUploadedFiles",
"cdb:ModifyMonitorTemplate",
"cdb:ModifyParamTemplate",
"cdb:ModifyRoGroupInfo",
"cdb:ModifyRoGroupVipVport",
"cdb:StopDBImportJob",
"cdb:UploadSqlFiles"
],
"effect": "allow",
"resource": "*"
}
]
}
Política para conceder a um usuário permissões para manipular uma instância específica do TencentDB
Se você desejar conceder a um usuário as permissões de operação nas instâncias específicas de TencentDB for MySQL, poderá associar a seguinte política a esse usuário. A seguinte política permite que o usuário tenha permissões de operação nas instâncias de TencentDB for MySQL com ID cdb-xxx, localizadas na região de Cantão:
{
"version": "2.0",
"statement": [
{
"action": "cdb:*",
"resource": "qcs::cdb:ap-guangzhou::instanceId/cdb-xxx",
"effect": "allow"
}
]
}
Política para conceder permissões de usuário para manipular instâncias do TencentDB em lotes
Se você desejar conceder a um usuário as permissões de operação nas instâncias em massa de TencentDB for MySQL, poderá associar a seguinte política a esse usuário. A seguinte política permite que o usuário tenha permissões de operação nas instâncias de TencentDB for MySQL com IDs cdb-xxx e cdb-yyy, localizadas na região de Cantão e nas instâncias de TencentDB for MySQL com ID cdb-zzz, localizadas na região de Pequim.
{
"version": "2.0",
"statement": [
{
"action": "cdb:*",
"resource": ["qcs::cdb:ap-guangzhou::instanceId/cdb-xxx", "qcs::cdb:ap-guangzhou::instanceId/cdb-yyy", "qcs::cdb:ap-beijing::instanceId/cdb-zzz"],
"effect": "allow"
}
]
}
Política para conceder permissões de usuário para manipular instâncias do TencentDB em uma região específica
Se você desejar conceder a um usuário as permissões de operação nas instâncias de TencentDB for MySQL nas regiões específicas, poderá associar a seguinte política a esse usuário. A seguinte política permite que o usuário tenha permissões de operação nas máquinas de TencentDB for MySQL localizadas na região de Cantão.
{
"version": "2.0",
"statement": [
{
"action": "cdb:*",
"resource": "qcs::cdb:ap-guangzhou::*",
"effect": "allow"
}
]
}
Políticas personalizadas
Se as políticas predefinidas não atenderem aos seus requisitos, é possível criar políticas personalizadas, conforme mostrado abaixo. Se as permissões forem concedidas por recursos para uma operação de API do TencentDB que não oferece suporte à autorização no nível do recurso, você ainda poderá autorizar um usuário a executá-la, mas deverá especificar * como o elemento de recurso na instrução de política.
A sintaxe das políticas personalizadas é a seguinte:
{
"version": "2.0",
"statement": [
{
"action": [
"Action"
],
"resource": "Resource",
"effect": "Effect"
}
]
}
Substitua "Action" pela operação a ser permitida ou negada.
Substitua "Resource” pelos recursos que você deseja autorizar o usuário a manipular.
Substitua "Effect" por "Allow" ou "Deny".
Documentos relacionados
Para entender a definição de Cloud Access Management, por favor, consulte Visão geral do CAM.