Permissões e ações suportadas
Este capítulo descreve o gerenciamento refinado de permissões para suas instâncias do Kafka. Se sua HUAWEI ID não precisar de usuários individuais do IAM, você poderá pular este capítulo.
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 de permissões ou funções 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 de nuvem com base nas permissões.
Você pode conceder permissões aos usuários usando funções e políticas. As funções são um tipo de mecanismo de autorização de alta granularidade que define permissões relacionadas às responsabilidades do usuário. As políticas definem permissões baseadas em API para operações em recursos específicos sob determinadas condições, permitindo um controle de acesso mais refinado e seguro dos recursos na nuvem.
Para obter detalhes sobre as políticas do sistema DMS for Kafka, consulte Gerenciamento de permissões.
A autorização baseada em políticas é útil se você deseja permitir ou negar o acesso a uma API.
Uma conta tem todas as permissões necessárias para chamar todas as APIs, mas as permissões necessárias devem ser atribuídas aos usuários do IAM. As permissões necessárias para chamar uma API são determinadas pelas ações suportadas pela API. Somente os usuários que receberam permissões que permitem as ações podem chamar a API com sucesso. Por exemplo, se um usuário do IAM quiser consultar instâncias do Kafka usando uma API, o usuário deverá ter recebido permissões que permitam a ação dms:instance:create.
Ações suportadas
O DMS for Kafka fornece políticas definidas pelo sistema que podem ser usadas diretamente no IAM. Você também pode criar políticas personalizadas e usá-las para complementar políticas definidas pelo sistema, implementando um controle de acesso mais refinado. 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 certas operações.
- APIs: as APIs REST que podem ser chamadas por um usuário que recebeu permissões específicas.
- Ação: operações específicas que são permitidas ou negadas.
- Projetos do IAM ou projetos empresariais: uma política personalizada pode ser aplicada a projetos do IAM ou projetos empresariais ou a 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. Os administradores podem verificar se uma ação é compatível com projetos do IAM ou projetos empresariais na lista de ações. Para obter detalhes sobre as diferenças entre o IAM e os projetos empresariais, consulte Quais são as diferenças entre o IAM e o Enterprise Management?
O DMS for Kafka oferece suporte às seguintes ações em políticas personalizadas:
- Ações de gerenciamento do ciclo de vida, incluindo ações suportadas pelas APIs de gerenciamento do ciclo de vida da instância do Kafka, como as APIs para criar uma instância, consultar a lista de instâncias, modificar informações de instâncias e reiniciar ou excluir instâncias em lote.
- Ações de gerenciamento de instâncias, incluindo ações suportadas pelas APIs de gerenciamento de instâncias do Kafka, como as APIs para redefinir senhas e ativar ou desativar a criação automática de tópicos.
- Ações de gerenciamento de despejo, incluindo ações suportadas por APIs de gerenciamento de despejo, como as APIs para criar um conector de despejo, criar uma tarefa de despejo e consultar a lista de tarefas de despejo.
- Ação de gerenciamento de modificação de especificação, suportada pela API de gerenciamento de modificação de especificação para modificar especificações de instância.
- Ações de gerenciamento de tópicos, incluindo ações suportadas por APIs de gerenciamento de tópicos, como as APIs para criar, consultar e modificar tópicos.
- Ações de gerenciamento de usuários, incluindo ações suportadas por APIs de gerenciamento de usuários, como as APIs para criar usuários, consultar usuários e configurar permissões de usuário.
- Ações de consulta de mensagens, incluindo ações suportadas por APIs de consulta de mensagens, como a API para consultar mensagens.
- Ações de gerenciamento de tarefas em segundo plano, incluindo ações suportadas por APIs de gerenciamento de tarefas em segundo plano, como as APIs para consultar a lista de tarefas em segundo plano de uma instância e consultar uma tarefa em segundo plano especificada.
- Ações de gerenciamento de tags, incluindo ações suportadas por APIs de gerenciamento de tags, como as APIs para consultar tags de instância e tags de projeto.
Gerenciamento do ciclo da vida
Permissão |
API |
Ação |
IAM (Projeto) |
Empresarial (Projeto empresarial) |
---|---|---|---|---|
Criação de uma instância |
POST /v2/{engine}/{project_id}/instances |
dms:instance:create |
√ |
√ |
Consulta de todas as instâncias |
GET /v2/{project_id}/instances |
dms:instance:list |
√ |
√ |
Consulta de uma instância |
GET /v2/{project_id}/instances/{instance_id} |
dms:instance:get |
√ |
√ |
Exclusão de uma instância |
DELETE /v2/{project_id}/instances/{instance_id} |
dms:instance:delete |
√ |
√ |
Modificação das informações da instância |
PUT /v2/{project_id}/instances/{instance_id} |
dms:instance:modify |
√ |
√ |
Reinicialização ou exclusão em lote de instâncias |
POST /v2/{project_id}/instances/action |
Reinicialização: dms:instance:modifyStatus Exclusão: dms:instance:delete |
√ |
√ |
Gerenciamento de instâncias
Permissão |
API |
Ação |
IAM (Projeto) |
Empresarial (Projeto empresarial) |
---|---|---|---|---|
Redefinição de uma senha |
POST /v2/{project_id}/instances/{instance_id}/password |
dms:instance:resetAuthInfo |
√ |
√ |
Redefinição da senha do Kafka Manager |
PUT /v2/{project_id}/instances/{instance_id}/kafka-manager-password |
dms:instance:resetAuthInfo |
√ |
√ |
Reinicialização do Kafka Manager |
PUT /v2/{project_id}/instances/{instance_id}/restart-kafka-manager |
dms:instance:modifyStatus |
√ |
√ |
Configuração da criação automática dos tópicos |
POST /v2/{project_id}/instances/{instance_id}/autotopic |
dms:instance:modify |
√ |
√ |
Modificação do endereço IP privado para acesso entre VPCs |
POST /v2/{project_id}/instances/{instance_id}/crossvpc/modify |
dms:instance:modify |
√ |
√ |
Redefinição do deslocamento do grupo de consumidores para a posição especificada |
POST /v2/{project_id}/instances/{instance_id}/management/groups/{group}/reset-message-offset |
dms:instance:modify |
√ |
√ |
Gerenciamento de despejos
Permissão |
API |
Ação |
Projetos de IAM |
Projetos empresariais |
---|---|---|---|---|
Criação de um conector de despejo para uma instância |
POST /v2/{project_id}/instances/{instance_id}/connector |
dms:instance:connector |
√ |
√ |
Criação de uma tarefa de despejo |
POST /v2/{project_id}/connectors/{connector_id}/sink-tasks |
dms:instance:createConnectorSinkTask |
√ |
√ |
Listagem de tarefas de despejo |
GET /v2/{project_id}/connectors/{connector_id}/sink-tasks |
dms:instance:listConnectorSinkTask |
√ |
√ |
Modificação das cotas de tarefas de despejo |
PUT /v2/{project_id}/connectors/{connector_id}/sink-tasks |
dms:instance:createConnectorSinkTask |
√ |
√ |
Consulta de uma tarefa de despejo |
GET /v2/{project_id}/connectors/{connector_id}/sink-tasks/{task_id} |
dms:instance:getConnectorSinkTask |
√ |
√ |
Exclusão de uma tarefa de despejo |
POST /v2/{project_id}/connectors/{connector_id}/sink-tasks/{task_id} |
dms:instance:deleteConnectorSinkTask |
√ |
√ |
Gerenciamento de modificação de especificação
Permissão |
API |
Ação |
Projetos de IAM |
Projetos empresariais |
---|---|---|---|---|
Modificação das especificações da instância |
POST /v2/{engine}/{project_id}/instances/{instance_id}/extend |
dms:instance:scale |
√ |
√ |
Gerenciamento de tópicos
Permissão |
API |
Ação |
Projetos de IAM |
Projetos empresariais |
---|---|---|---|---|
Criação de um tópico em uma instância do Kafka |
POST /v2/{project_id}/instances/{instance_id}/topics |
dms:instance:modify |
√ |
√ |
Consulta de um tópico em uma instância de Kafka |
GET /v2/{project_id}/instances/{instance_id}/topics |
dms:instance:get |
√ |
√ |
Modificação dos tópicos de uma instância de Kafka |
PUT /v2/{project_id}/instances/{instance_id}/topics |
dms:instance:modify |
√ |
√ |
Exclusão dos tópicos em uma instância de Kafka em lote |
POST /v2/{project_id}/instances/{instance_id}/topics/delete |
dms:instance:modify |
√ |
√ |
Gerenciamento de usuário
Permissão |
API |
Ação |
Projetos de IAM |
Projetos empresariais |
---|---|---|---|---|
Consulta da lista de usuários |
GET /v2/{project_id}/instances/{instance_id}/users |
dms:instance:get |
√ |
√ |
Criação de um usuário |
POST /v2/{project_id}/instances/{instance_id}/users |
dms:instance:modify |
√ |
√ |
Exclusão de usuários em lote |
PUT /v2/{project_id}/instances/{instance_id}/users |
dms:instance:modify |
√ |
√ |
Redefinição de uma senha do usuário |
PUT /v2/{project_id}/instances/{instance_id}/users/{user_name} |
dms:instance:get |
√ |
√ |
Consulta das permissões de usuário |
GET /v1/{project_id}/instances/{instance_id}/topics/{topic_name}/accesspolicy |
dms:instance:get |
√ |
√ |
Concessão de permissões de usuário |
POST /v1/{project_id}/instances/{instance_id}/topics/accesspolicy |
dms:instance:modify |
√ |
√ |
Consulta de mensagem
Permissão |
API |
Ação |
Projetos de IAM |
Projetos empresariais |
---|---|---|---|---|
Consulta das mensagens |
GET /v2/{project_id}/instances/{instance_id}/messages |
dms:instance:get |
√ |
√ |
Gerenciamento de tarefas em segundo plano
Permissão |
API |
Ação |
Projetos de IAM |
Projetos empresariais |
---|---|---|---|---|
Listagem das tarefas em segundo plano |
GET /v2/{project_id}/instances/{instance_id}/tasks |
dms:instance:getBackgroundTask |
√ |
√ |
Consulta das tarefas em segundo plano |
GET /v2/{project_id}/instances/{instance_id}/tasks/{task_id} |
dms:instance:getBackgroundTask |
√ |
√ |
Exclusão de uma tarefa em segundo plano |
DELETE /v2/{project_id}/instances/{instance_id}/tasks/{task_id} |
dms:instance:deleteBackgroundTask |
√ |
√ |
Gerenciamento de tags
Permissão |
API |
Ação |
Projetos de IAM |
Projetos empresariais |
---|---|---|---|---|
Adição ou exclusão das tags em lote |
POST /v2/{project_id}/kafka/{instance_id}/tags/action |
dms:instance:modify |
√ |
√ |
Listagem das tags de uma instância |
GET /v2/{project_id}/kafka/{instance_id}/tags |
dms:instance:get |
√ |
√ |
Listagem das tags de um projeto |
GET /v2/{project_id}/kafka/tags |
dms:instance:get |
√ |
√ |