O Key Management Service (KMS) permite compartilhar uma única instância do KMS com várias contas membro da sua organização. Em vez de cada equipe ou departamento provisionar sua própria instância do KMS, uma conta central possui uma instância e concede acesso às demais. Isso reduz custos e consolida a política de segurança em um único local.
Como funciona
O compartilhamento entre contas depende de dois serviços da Alibaba Cloud: Resource Directory (para gerenciamento da organização) e Resource Sharing (para delegação de acesso).
O fluxo de trabalho envolve três fases:
Configure uma organização. Use o Resource Directory para agrupar todas as contas relevantes da Alibaba Cloud em uma única organização.
Compartilhe a instância do KMS. O proprietário do recurso cria um compartilhamento de recursos, adiciona a instância do KMS e especifica quais membros (principais) podem acessá-la.
-
Conceda permissões. Duas camadas de permissão se aplicam:
Resource Sharing layer: O proprietário do recurso anexa
AliyunRSDefaultPermissionKMSInstanceao compartilhamento de recursos. Isso permite que os principais se conectem à instância do KMS.Camada do RAM: Cada principal deve configurar uma política de Resource Access Management (RAM) para seus usuários ou funções do RAM, permitindo chamadas específicas da API do KMS, como
kms:Encryptekms:Decrypt.
Exemplo: O Departamento A possui uma instância do KMS. O Departamento B precisa de recursos de gerenciamento de chaves. Em vez de adquirir uma instância separada, a empresa usa o Resource Directory para unificar ambas as contas em uma organização e, em seguida, compartilha a instância do KMS do Departamento A com o Departamento B por meio do Resource Sharing.
Pré-requisitos
Antes de começar, verifique se você tem:
Uma instância de gerenciamento de chaves de software ou hardware habilitada (instâncias desabilitadas não podem ser compartilhadas)
Uma conta de gerenciamento para o Resource Directory
O proprietário da instância e todos os principais pertencem à mesma empresa verificada e ao mesmo Resource Directory
Escolha um modo de compartilhamento
O compartilhamento de instâncias do KMS oferece suporte a dois modos, que diferem na forma como a propriedade dos dados é tratada:
|
**Propriedade independente** |
**Propriedade conjunta** |
|
|
Casos de uso |
Segredos entre contas com o mesmo nome ou isolamento rigoroso de permissões entre contas |
Equipe central (como TI ou segurança) gerencia e audita todas as chaves e segredos entre contas |
|
Propriedade dos dados |
O proprietário do recurso não pode gerenciar ou acessar chaves e segredos criados pelos principais |
O proprietário do recurso pode gerenciar e acessar chaves e segredos criados pelos principais |
|
Recursos com o mesmo nome |
Permitido — o principal e o proprietário do recurso podem criar segredos com o mesmo nome |
Não permitido — todos os nomes de chaves e segredos na instância devem ser exclusivos |
|
Alteração de modo |
Não pode ser alterado para propriedade conjunta |
Pode ser alterado para propriedade independente (irreversível) |
Para obter o detalhamento completo das permissões por função, consulte Apêndice: Permissões de recursos em diferentes modos de compartilhamento.
Configure o compartilhamento (proprietário da instância)
Etapa 1: Configure o Resource Directory e ative o compartilhamento de recursos
Set up Resource Directory:
Faça login no console do Resource Management usando a conta de gerenciamento.
No painel de navegação à esquerda, acesse Resource Directory > Enable Resource Directory e clique em Enable Resource Directory. Para mais detalhes, consulte Enable a resource directory.
Crie uma pasta para agrupar membros: acesse Resource Directory > Management, clique em Resource Organization View no canto superior direito, selecione a pasta desejada na árvore de diretórios e, na aba Member, clique em Create Folder. Insira um Folder Name e clique em OK. Para mais detalhes, consulte Create a folder.
-
Adicione membros à pasta: na aba Member, clique em Create Member ou Invite Member. Configure os seguintes parâmetros:
Convidar membros
Parâmetro
Descrição
Account ID or logon email address
Insira um ID de conta ou o e-mail de login usado para registrar a conta. Separe vários IDs de conta com vírgulas para convidar em lote. Para encontrar um ID de conta, consulte How do I view the ID of an Alibaba Cloud account?
Remarks
Uma observação para ajudar o convidado a verificar a autenticidade do convite.
Tag
Tags para vincular ao membro, facilitando o gerenciamento.
Parent folder
A pasta onde a conta convidada será colocada. O padrão é a pasta raiz. Clique em Modify para alterar.
Criar um membro
Parâmetro
Descrição
Alibaba Cloud account name
Identificador exclusivo do membro no resource directory. Deve ter de 2 a 50 caracteres e pode conter letras, números e
_.-. Deve começar e terminar com uma letra ou número e não pode conter caracteres especiais consecutivos.Display name
De 2 a 50 caracteres; suporta caracteres chineses, letras, dígitos e
_.-.Billing account
Escolha quem paga as taxas do novo membro: a conta de gerenciamento, um membro existente ou o próprio novo membro.
Tag
Tags para vincular ao membro, facilitando o gerenciamento.
Parent folder
O padrão é a pasta raiz. Clique em Modify para alterar.
Enable resource sharing:
Faça login no console do Resource Sharing usando a conta de gerenciamento. No painel de navegação à esquerda, acesse Resource Sharing > Settings.
-
Clique em Enable e, em seguida, clique em OK na caixa de diálogo Resource Sharing Service-Linked Role.
O sistema cria automaticamente uma função vinculada ao serviço chamada
AliyunServiceRoleForResourceSharingpara recuperar informações da organização no Resource Directory. Para mais detalhes, consulte Service-linked role for Resource Sharing .
Etapa 2: Compartilhe a instância do KMS
Faça login no console do Key Management Service como proprietário da instância. Selecione uma região na barra de menu superior e clique em Instances no painel de navegação à esquerda.
Localize a instância do KMS desejada e clique em Share Resources na coluna Actions. No painel RD Multi-account Sharing Settings, selecione um modo de compartilhamento.
-
No painel Add to Resource Share, escolha como configurar o compartilhamento de recursos:
AvisoAdicionar uma instância do KMS a um compartilhamento de recursos existente concede a todos os principais atuais desse compartilhamento acesso automático à nova instância. Isso consome a Cota de Gerenciamento de Acesso da instância e pode causar escalonamento não intencional de permissões. Prossiga com cautela.
**Criar (recomendado)**
**Selecionar um compartilhamento de recursos existente**
Quando usar
Ao compartilhar pela primeira vez ou quando for necessário isolamento de permissões por instância
Ao adicionar a instância atual a um compartilhamento existente para reutilizar seus principais e permissões
Escopo da permissão
Apenas a instância atual do KMS; somente contas recém-adicionadas obtêm acesso
Todos os principais existentes obtêm acesso automaticamente à nova instância; alterações de permissão afetam todos os recursos no compartilhamento
-
Configure os parâmetros do compartilhamento de recursos e clique em OK:
Se estiver criando um novo compartilhamento de recursos:
Resource share name — Até 50 caracteres; suporta caracteres chineses, letras, dígitos e
._-.-
Principals — Especifique quais contas podem usar esta instância do KMS. Cada principal adicionado consome a Cota de Gerenciamento de Acesso da instância. Adicionar ou remover principais de um compartilhamento de recursos existente afeta todos os recursos dentro desse compartilhamento. Três tipos de principais são suportados:
Tipo de principal
Escopo
Alibaba Cloud Account
Compartilha recursos apenas com IDs de conta especificados
Resource Directory Organization
Compartilha recursos com todas as contas membro em todo o resource directory, incluindo membros adicionados posteriormente
Folder (organizational unit)
Compartilha recursos com todos os membros na pasta especificada (formato:
fd-xxxxxxxx), incluindo membros adicionados posteriormente. Para encontrar IDs de pastas, consulte View the basic information of a folder.Adicione principais por pasta ou Conta da Alibaba Cloud para obter controle refinado.
Permissions — Selecione
AliyunRSDefaultPermissionKMSInstance(recomendado). Duas versões estão disponíveis (v1 e v2); novos compartilhamentos usam a v2 por padrão. Para verificar a versão em uso, consulte View permission details. A permissãoAliyunRSPermissionKMSInstanceReadWriteestá obsoleta e não é recomendada para novos compartilhamentos.
Se estiver selecionando um compartilhamento de recursos existente:
Select resource share — O console lista todos os compartilhamentos de recursos em sua conta. Consulte Create a resource share para referência.
Shared resources — Somente leitura. Mostra os recursos existentes no compartilhamento selecionado. Após esta operação, a instância atual do KMS será adicionada.
Principals e Permissions — Mesmas opções disponíveis ao criar um novo compartilhamento. Observação:
AliyunRSPermissionKMSInstanceReadWriteestá obsoleta; se usada anteriormente, continue utilizando-a apenas para esse compartilhamento específico.
Use a instância compartilhada (principal)
Faça login no console do Key Management Service. Na página Instances, localize a instância do KMS com a tag Being Shared para confirmar que o compartilhamento está ativo.
Crie chaves e segredos na aba Keys ou Secrets. Selecione a instância compartilhada em KMS Instance. Para detalhes de configuração, consulte Create a key e Create a secret.
Conceda aos usuários ou funções do RAM as permissões necessárias. Configure uma política do RAM que inclua as operações relevantes do KMS, como
kms:Encryptekms:Decrypt. Para instruções, consulte Use RAM for access control.-
Use as chaves e segredos em outros serviços da Alibaba Cloud ou em suas próprias aplicações:
Criptografia no lado do servidor para produtos em nuvem: Overview of KMS integration for cloud products e Cloud products that support KMS integration
Integre segredos com serviços em nuvem: Integrate cloud products with KMS secrets
Aplicações autogerenciadas: Self-built application integration with KMS
Gerencie e mantenha o compartilhamento
Modifique os principais de um compartilhamento de recursos
Pelo console do KMS:
Faça login no console do Key Management Service como proprietário da instância. Selecione uma região e clique em Instances no painel de navegação à esquerda.
Na página Instances, abra a aba Software Key Management ou Hardware Key Management conforme o tipo da instância.
Localize a instância e clique em Share Resources na coluna Actions.
No painel RD Multi-account Share Settings, selecione um Resource Share. Na seção Principals, clique em Edit para adicionar ou remover principais e, em seguida, clique em OK.
Pelo console do Resource Sharing:
Para instruções detalhadas, consulte Modify a resource share.
Revogue o compartilhamento de uma instância do KMS
Revogar um compartilhamento significa excluir o compartilhamento de recursos. Após a exclusão, todos os principais perdem o acesso aos recursos desse compartilhamento.
Antes de revogar um compartilhamento, cada principal deve excluir todas as chaves e segredos que criou na instância compartilhada. Se houver recursos restantes, a revogação falhará. Confirme que nenhum recurso associado ainda está em uso para evitar interrupções nos negócios.
Execute esta operação exclusivamente pelo console do Resource Sharing:
Faça login no console do Resource Sharing usando uma conta de gerenciamento.
No painel de navegação à esquerda, acesse Resource Sharing > Resources I Share. Localize o compartilhamento de recursos desejado e clique em seu ID.
Clique em Delete Resource Share no canto superior direito. Na caixa de diálogo de confirmação, clique em OK.
Aplicação em produção
Conectividade de rede
Se a aplicação de um principal for executada em uma VPC e precisar acessar o KMS por meio de um gateway privado, o proprietário da instância deve anexar a VPC do principal à instância compartilhada do KMS. Para instruções, consulte Access a KMS instance from multiple VPCs in the same region.
Auditoria e conformidade
Proprietário do recurso: Ative o ActionTrail para registrar todas as operações de gerenciamento na instância compartilhada e todas as operações de chave realizadas pelos principais.
Principal: Ative o ActionTrail para registrar todas as chamadas de API dentro da sua conta.
Gerenciamento de mudanças
Revogação de compartilhamento: Antes de revogar um compartilhamento, os principais devem excluir todas as chaves e segredos que criaram na instância compartilhada. Se houver recursos restantes, a revogação falhará. Para instruções, consulte Revoke sharing for a KMS instance.
Modificação de principais: Adicionar ou remover principais de um compartilhamento de recursos afeta todos os recursos dentro desse compartilhamento. Crie compartilhamentos de recursos separados para diferentes cenários de negócios ou equipes para evitar conflitos de permissão. Para instruções, consulte Modify the principals of a resource share.
Limitações
Chaves padrão (como
alias/acs/oss) não podem ser compartilhadas.Os principais não podem acessar uma instância compartilhada do KMS entre regiões.
No modo Joint Ownership, todos os nomes de chaves e segredos na instância devem ser globalmente exclusivos.
-
Cota de Gerenciamento de Acesso: Compartilhar uma instância do KMS consome a Cota de Gerenciamento de Acesso do proprietário do recurso. A cota utilizada equivale ao número de contas compartilhadas mais o número de VPCs anexadas. Por exemplo, compartilhar com 3 contas e anexar 2 VPCs consome uma cota de 5. Se precisar aumentar sua cota, upgrade the KMS instance.
ImportanteSe a adição de um principal falhar devido a cota insuficiente, o sistema não tentará novamente automaticamente após você aumentar a cota. Remova manualmente o principal do compartilhamento de recursos e adicione-o novamente.
Perguntas frequentes
Por que um principal recebe um erro "AccessDenied" ou "Forbidden" ao chamar uma API do KMS?
Verifique as quatro condições a seguir nesta ordem:
Resource sharing status: No console do Resource Sharing, confirme se a conta do principal foi adicionada ao compartilhamento de recursos e se o status do compartilhamento está ativo.
Permissão da instância do KMS: Verifique se a permissão anexada ao compartilhamento de recursos é
AliyunRSDefaultPermissionKMSInstance.Permissão de chamada do RAM: Confirme se o usuário ou função do RAM que faz a chamada possui uma política do RAM que concede as operações necessárias do KMS, como
kms:Encryptekms:Decrypt.Propriedade do recurso: No modo Independent Ownership, confirme se o principal atual criou a chave ou o segredo que está sendo acessado.
Por que recebo um erro de conflito de nome ao criar um segredo no modo de propriedade conjunta?
No modo de propriedade conjunta, todos os nomes de chaves e segredos na instância do KMS devem ser exclusivos em todas as contas. Nem o proprietário do recurso nem qualquer principal podem criar um recurso com um nome já em uso.
Para resolver isso: escolha um nome diferente ou alterne o modo de compartilhamento para Independent Ownership se o seu caso de uso exigir recursos com o mesmo nome entre contas.
A alteração de propriedade conjunta para propriedade independente é irreversível. Avalie o impacto antes de prosseguir.
Apêndice: Permissões de recursos em diferentes modos de compartilhamento
Propriedade conjunta
| Recurso | Sub-recurso | Proprietário da instância | Principal |
|---|---|---|---|
| Gerenciamento de instâncias | Visualizar detalhes da instância do KMS | Suportado | Não suportado |
| Configurar acesso multi-VPC às instâncias do KMS | |||
| Atualizar instâncias | |||
| Renovar instâncias | |||
| Revogar compartilhamento | |||
| Gerenciamento de chaves | Criar chaves | Suportado | Suportado |
| Visualizar metadados da chave | Suportado — aplica-se a todas as chaves, incluindo aquelas criadas pelos principais | Suportado — aplica-se apenas às chaves criadas pelo principal | |
| Definir rotação de chave | Suportado | Suportado | |
| Agendar exclusão de chave | Suportado | Suportado | |
| Ativar proteção contra exclusão | Suportado | Suportado | |
| Criar e gerenciar aliases de chave | Suportado | Suportado | |
| Adicionar e gerenciar tags de chave | Suportado | Suportado | |
| Operações criptográficas | — | Suportado | Não aplicável |
| Gerenciamento de segredos | Criar segredos | Suportado | Suportado |
| Visualizar metadados do segredo | Suportado — aplica-se a todos os segredos, incluindo aqueles criados pelos principais | Suportado — aplica-se apenas aos segredos criados pelo principal | |
| Excluir segredos | Suportado | Suportado | |
| Definir rotação de segredo | Suportado | Suportado | |
| Adicionar e gerenciar tags de segredo | Suportado | Suportado | |
| Obter valor do segredo | Não aplicável | Suportado | |
| Gerenciamento de backup | — | Suportado — pode fazer backup de todas as chaves e segredos, incluindo aqueles criados pelos principais | Não suportado |
| Acesso à aplicação | Criar pontos de acesso à aplicação | Suportado | Suportado |
Propriedade independente
| Recurso | Sub-recurso | Proprietário da instância | Principal |
|---|---|---|---|
| Gerenciamento de instâncias | Visualizar detalhes da instância do KMS | Suportado | Não suportado |
| Configurar acesso multi-VPC para instâncias do KMS | |||
| Atualizar instâncias | |||
| Renovar instâncias | |||
| Revogar compartilhamento | |||
| Gerenciamento de chaves | Criar chaves | Suportado | Suportado |
| Visualizar metadados da chave | Suportado — aplica-se apenas às chaves criadas pelo proprietário da instância | Suportado — aplica-se apenas às chaves criadas pelo principal | |
| Definir rotação de chave | Suportado | Suportado | |
| Agendar exclusão de chave | Suportado | Suportado | |
| Ativar proteção contra exclusão | Suportado | Suportado | |
| Criar e gerenciar aliases de chave | Suportado | Suportado | |
| Adicionar e gerenciar tags de chave | Suportado | Suportado | |
| Operações criptográficas | — | Suportado | Não aplicável |
| Gerenciamento de segredos | Criar segredos | Suportado | Suportado |
| Visualizar metadados do segredo | Suportado — aplica-se apenas aos segredos criados pelo proprietário da instância | Suportado — aplica-se apenas aos segredos criados pelo principal | |
| Excluir segredos | Suportado | Suportado | |
| Definir rotação de segredo | Suportado | Suportado | |
| Adicionar e gerenciar tags de segredo | Suportado | Suportado | |
| Obter valor do segredo | Não aplicável | Suportado | |
| Gerenciamento de backup | — | Suportado — aplica-se apenas às chaves criadas pelo proprietário da instância | Não suportado |
| Acesso à aplicação | Criar pontos de acesso à aplicação | Suportado | Suportado |