Se as políticas de sistema do Alibaba Cloud Elasticsearch não atenderem às suas necessidades, crie políticas personalizadas para controle de acesso granular. Este tópico descreve como criar uma política personalizada e fornece exemplos de concessão de permissões a instâncias e tags específicas.
Informações básicas
O Alibaba Cloud Elasticsearch oferece suporte às seguintes políticas de sistema:
|
Nome da política |
Descrição |
|
AliyunElasticsearchReadOnlyAccess |
Concede permissões somente leitura em instâncias do Alibaba Cloud Elasticsearch ou Logstash. Destinada a usuários com perfil de apenas leitura. |
|
AliyunElasticsearchFullAccess |
Concede permissões totais de gerenciamento em instâncias do Alibaba Cloud Elasticsearch, instâncias do Logstash e coletores Beats para administradores. |
Essas políticas não incluem permissões para CloudMonitor ou tags. Crie políticas personalizadas para conceder essas permissões. Para obter mais informações, consulte Specific instance policy.
Pré-requisitos
Familiarize-se com a estrutura básica e a sintaxe da linguagem de políticas. Para obter mais informações, consulte Policy structure and syntax.
Observações de uso
As políticas personalizadas entram em vigor no nível da conta, e não no nível do grupo de recursos. Para visualizar apenas recursos específicos no console para um usuário RAM, conceda permissões usando um grupo de recursos. Para obter mais informações, consulte Authorize a RAM user to manage specific instances by using a resource group.
Procedimento
Para criar uma política personalizada, consulte Create a custom policy on the JSON tab. Insira um documento de política conforme seus requisitos de negócios ou importe e modifique uma política de sistema existente.
Exemplos de documentos de política:
-
Permissão para acessar os recursos da Virtual Private Cloud (VPC) pertencentes à sua conta Alibaba Cloud.
"elasticsearch:DescribeVpcs","elasticsearch:DescribeVSwitches" { "Version": "1", "Statement": [ { "Action": [ "elasticsearch:DescribeVpcs", "elasticsearch:DescribeVSwitches" ], "Resource": "*", "Effect": "Allow" } ] } -
Permissão para um usuário RAM pagar pedidos.
{ "Version": "1", "Statement": [ { "Action": [ "bss:PayOrder" ], "Resource": "*", "Effect": "Allow" } ] }
Para mais exemplos de políticas, consulte Policy examples.
Exemplos de políticas
Antes de usar os exemplos de código a seguir, substitua os espaços reservados pelas suas informações reais:
<yourAccountId>: Substitua pelo ID da sua conta Alibaba Cloud. Não há suporte para caracteres curinga (
*). Para encontrar seu Account ID, passe o mouse sobre o avatar do usuário no canto superior direito do console e visualize o Account ID.<yourInstanceId>: Substitua pelo ID da instância de destino. Não há suporte para caracteres curinga (
*). Para localizar o Instance ID, consulte View the basic information of an instance.
Política de administrador
A política a seguir concede a um usuário RAM da conta Alibaba Cloud <yourAccountId> permissões operacionais completas em todas as instâncias do Alibaba Cloud Elasticsearch.
{
"Statement": [
{
"Action": [
"elasticsearch:*"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Action": [
"cms:*"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Action": "bss:PayOrder",
"Effect": "Allow",
"Resource": "*"
},
{
"Action": "ram:CreateServiceLinkedRole",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": [
"collector.elasticsearch.aliyuncs.com"
]
}
}
}
],
"Version": "1"
}
Política para instância específica
A política abaixo concede a um usuário RAM da conta Alibaba Cloud <yourAccountId> as seguintes permissões:
Executar todas as operações relacionadas ao Elasticsearch em uma instância específica.
Visualizar a lista de instâncias.
Visualizar as tags de todas as instâncias.
Visualizar a lista de coletores.
A página de gerenciamento de instâncias no console do Alibaba Cloud Elasticsearch integra-se a serviços externos, como coletores Beats, Advanced Monitoring and Alerting e tags. Portanto, ao conceder permissões em uma instância específica, também é necessário conceder permissões para esses service dependentes, conforme demonstrado no exemplo de política a seguir.
{
"Statement": [
{
"Action": [
"elasticsearch:*"
],
"Effect": "Allow",
"Resource": "acs:elasticsearch:*:<yourAccountId>:instances/<yourInstanceId>"
},
{
"Action": [
"cms:DescribeActiveMetricRuleList",
"cms:ListAlarm",
"cms:QueryMetricList"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Action": [
"elasticsearch:ListTags"
],
"Effect": "Allow",
"Resource": "acs:elasticsearch:*:<yourAccountId>:tags/*"
},
{
"Action": [
"elasticsearch:ListInstance",
"elasticsearch:ListSnapshotReposByInstanceId"
],
"Effect": "Allow",
"Resource": "acs:elasticsearch:*:<yourAccountId>:instances/*"
},
{
"Action": [
"elasticsearch:ListLogstash"
],
"Effect": "Allow",
"Resource": "acs:elasticsearch:*:<yourAccountId>:logstashes/*"
},
{
"Action": [
"elasticsearch:ListCollectors"
],
"Effect": "Allow",
"Resource": "acs:elasticsearch:*:<yourAccountId>:collectors/*"
}
],
"Version": "1"
}
|
Action |
Descrição |
|
Permissões para o CloudMonitor. A lista a seguir descreve cada permissão:
|
|
Permite pagar pedidos. Com essa permissão, o usuário RAM pode pagar pedidos de compra de instâncias. |
|
Concede ao usuário RAM permissão para acessar as listas de Virtual Private Cloud (VPC) e vSwitch da sua conta. Isso permite que o usuário selecione uma VPC e um vSwitch ao criar uma instância. Importante
Ao conceder a um usuário RAM a permissão para criar uma instância, inclua também a Action |
|
Concede todas as permissões operacionais em instâncias do Alibaba Cloud Elasticsearch. O usuário RAM poderá executar qualquer operação em todas as instâncias ou em instâncias especificadas. Importante
A permissão |
|
Concede permissão para visualizar as tags das instâncias do Alibaba Cloud Elasticsearch. |
|
|
|
Concede permissão para visualizar a lista de coletores Beats no console. |
|
Concede permissão para visualizar a lista de todas as instâncias do Logstash de uma região na página de lista de instâncias. |
|
Effect |
Descrição |
|
Allow |
Permite que o usuário RAM execute as operações especificadas no elemento Action. |
|
Deny |
Proíbe o usuário RAM de executar as operações especificadas no elemento Action. |
|
Parâmetro |
Descrição |
|
* |
Todos os recursos de instância. |
|
<yourInstanceId> |
Um recurso de instância específico. Substitua este valor pelo ID da instância de destino. Para localizar o id, consulte View the basic information of an instance. |
Permissões de API
A tabela a seguir lista os elementos Resource e Action para operações da API do Elasticsearch.
|
Método |
URI |
Resource |
Action |
|
GET |
/instances |
instances/* |
ListInstance |
|
POST |
/instances |
instances/* |
CreateInstance |
|
GET |
/instances/instanceId |
instances/instanceId |
DescribeInstance |
|
DELETE |
/instances/instanceId |
instances/instanceId |
DeleteInstance |
|
POST |
/instances/instanceId/actions/restart |
instances/instanceId |
RestartInstance |
|
PUT |
/instances/instanceId |
instances/instanceId |
UpdateInstance |
Próximas etapas
Após criar uma política personalizada, conceda permissões a um usuário RAM usando o console RAM, uma API ou um SDK. Para obter mais informações, consulte Grant permissions to a RAM user.