Um segredo do RAM é o AccessKey de um usuário do RAM, composto por um AccessKey ID e um AccessKey Secret. Utilize segredos do RAM para verificação de identidade ao chamar APIs da Alibaba Cloud e evitar vazamentos de credenciais causados por AccessKeys codificadas diretamente no código. Este tópico descreve como gerenciar e usar segredos do RAM.
Como funciona
Ao armazenar o AccessKey de um usuário do RAM como um segredo do RAM no Key Management Service (KMS), você elimina a necessidade de configurar o AccessKey diretamente na aplicação. Em vez disso, basta configurar o nome do segredo. Durante a execução, a aplicação recupera o AccessKey atual usando esse nome. Quando você rotaciona o segredo, o KMS cria um novo AccessKey no RAM, grava a nova credencial no segredo e exclui o AccessKey antigo. Esse processo reduz o risco de vazamento de credenciais.

Limitações
O gerenciamento de AccessKeys é suportado apenas para usuários do RAM. Não é possível gerenciar AccessKeys de contas da Alibaba Cloud.
Rotação de segredos do RAM
Durante a rotação, o Resource Access Management (RAM) cria primeiro um novo AccessKey e depois exclui o anterior. Simultaneamente, o KMS grava o novo AccessKey no valor do segredo e remove o valor antigo. O KMS oferece os dois métodos de rotação a seguir:
Método | Período de rotação | Casos de uso |
Rotação automática periódica | Cerca de 2 dias | Indicado para aplicações integradas que recuperam o segredo do RAM periodicamente. Recomendamos definir o período de rotação automática em até 90 dias para mitigar riscos de vazamento de AccessKey. |
Rotação imediata | É possível definir um período entre 10 minutos e 2 dias. Em caso de vazamento de um segredo do RAM, recomendamos configurar o período para 30 minutos. Para outros cenários, sugere-se um período de 2 dias. |
|
Não exclua o usuário do RAM associado enquanto um segredo do RAM estiver em rotação. Essa precaução evita falhas no processo.
Durante a rotação de um segredo do RAM, não é possível configurar uma política de rotação periódica nem acionar uma rotação imediata.
Pré-requisitos
Adquira e ative uma instância do KMS. Para mais informações, consulte Purchase and enable a KMS instance.
Crie uma chave simétrica na instância do KMS para criptografar o segredo. Para mais informações, consulte Create a key.
Se utilizar um usuário ou uma função do RAM, anexe as políticas de sistema
AliyunKMSSecretAdminAccesseAliyunRAMReadOnlyAccessao usuário ou à função do RAM. Para mais informações, consulte Grant permissions to a RAM user ou Grant permissions to a RAM role.
Etapa 1: Conceder permissão ao KMS para gerenciar AccessKeys
Para utilizar segredos do RAM, autorize o KMS a acessar os AccessKeys. Isso permite que o KMS gerencie os segredos do RAM e execute tarefas como a rotação de segredos.
Siga estas etapas para conceder as permissões:
Faça login no console do Key Management Service. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, escolha .
Clique em na aba RAM Secrets. Selecione um Instance ID e clique em Create Secret.
Na página de criação de segredo do RAM, clique em Authorize KMS to access AccessKey pairs. para acessar a página de Autorização de Acesso a Recursos da Cloud.
-
Na página de Autorização de Acesso a Recursos da Cloud, clique em Agree to Authorization.
AvisoSe você for um usuário do RAM ou estiver usando uma função do RAM, solicite a um administrador (como o proprietário da conta da Alibaba Cloud ou um usuário do RAM com permissões de gerenciamento de recursos) que utilize o link para concluir a autorização.
-
Após a conclusão da autorização, o sistema cria automaticamente a função vinculada ao service AliyunKMSManageRAMCredentialsRole e anexa a política de permissão AliyunKMSManageRAMCredentialsRolePolicy a essa função. O KMS utiliza essa função para gerenciar seus segredos do RAM e realizar tarefas como a rotação de segredos.
Acesse o console do RAM para visualizar os detalhes das funções vinculadas ao service e das políticas de permissão. Para mais informações, consulte View a RAM role e View permission policy details.
Etapa 2: Criar um segredo do RAM
Faça login no console do Key Management Service. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, escolha .
Clique em na aba RAM Secrets. Selecione um Instance ID e clique em Create Secret. Caso a mensagem Authorize KMS to access AccessKey pairs. seja exibida, conclua a autorização conforme solicitado. Para mais informações, consulte Step 1: Grant KMS permission to manage AccessKeys.
-
Configure os parâmetros do segredo do RAM e clique em OK. A tabela a seguir descreve os parâmetros.
Parâmetro
Descrição
Select RAM User
Selecione o usuário do RAM cuja credencial você deseja gerenciar. O usuário deve ter pelo menos um par de AccessKey. O nome da credencial é gerado automaticamente com base no nome de usuário do RAM.
Caso o usuário não possua um par de AccessKey, crie um antes de prosseguir.
Secret Value
Insira o AccessKey secret. O valor deve ter no máximo 30.720 bytes (30 KB).
CMK
Selecione a chave simétrica usada para criptografar o valor da credencial. A chave e a credencial devem pertencer à mesma instância do KMS.
ImportanteA chave e a credencial devem pertencer à mesma instância do KMS, e a chave deve ser simétrica. Para mais informações sobre as chaves simétricas suportadas pelo KMS, consulte Key types and specifications.
Se um usuário do RAM ou uma função do RAM for utilizada, ele deverá ter permissões para executar a operação GenerateDataKey usando a chave mestra de criptografia.
Automatic Rotation
Escolha se deseja ativar a rotação automática. Quando ativada, o KMS atualiza periodicamente o valor da credencial para reduzir o risco de vazamentos.
Days (7 Days to 365 Days)
Defina este parâmetro apenas quando a rotação automática estiver ativada. Especifica o intervalo de rotação.
Description
Uma descrição opcional da credencial para facilitar a identificação e o gerenciamento.
Defina a política de acesso da credencial para controlar quais usuários ou funções do RAM podem lê-la ou modificá-la.
Você pode selecionar inicialmente a política padrão e modificá-la posteriormente conforme necessário.
Etapa 3: Integrar o segredo do RAM
O KMS oferece diversos métodos, como Secret Client, KMS Instance SDK, Alibaba Cloud SDK e KMS Agent, para chamar a operação GetSecretValue (OpenAPI) ou GetSecretValue (KMS Instance API) (não recomendada) e recuperar segredos do RAM.
Recomendamos implementar um mecanismo de nova tentativa em caso de erro para aumentar a estabilidade do service.
O KMS suporta vários métodos de autenticação. Para maior segurança, utilize uma função do RAM de instância ECS ou uma função do RAM.
-
Endpoints:
Para gateway compartilhado, consulte Endpoints.
Para gateway dedicado, use o seguinte formato:
{Instance-ID}.cryptoservice.kms.aliyuncs.com.
Método | Casos de uso | Tipos de gateway |
|
| |
Sua aplicação foi desenvolvida em Java 8 ou superior, Go, Python ou Node.js. |
| |
Sua aplicação foi desenvolvida em Java 6 ou superior, PHP, Go, Python, .NET (apenas C#), C++ ou Node.js. |
| |
|
| |
KMS Instance SDK (não recomendado) | Sua aplicação foi desenvolvida em Java 8 ou superior, PHP, Go, Python ou .NET (apenas C#). | Gateway dedicado |
Mais operações
Rotação de segredos do RAM
Faça login no console do Key Management Service. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, escolha .
Clique em na aba RAM Secrets. Selecione um Instance ID. Localize o segredo que deseja rotacionar e clique em Details na coluna Actions.
-
Na página de detalhes do segredo, configure uma política de rotação.
Rotação automática periódica: No canto superior direito da página, clique em Configure Rotation, ative ou desative a rotação automática e clique em OK.
Rotação imediata: No canto superior direito da página, clique em Rotate Now. Na caixa de diálogo Configure Rotation, defina a Rotation Window com um valor entre 10 minutos e 2 dias e clique em OK.
Exclusão de segredos do RAM
A exclusão de um segredo do RAM remove-o apenas do Secrets Manager. O AccessKey correspondente do usuário do RAM não é excluído do RAM.
Antes de excluir um segredo, certifique-se de que ele não está mais em uso. Caso contrário, seus negócios poderão ser afetados.
Faça login no console do Key Management Service. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, escolha .
Clique em na aba . Selecione um Instance ID. Localize o segredo que deseja excluir e clique em Schedule Deletion na coluna Actions.
-
Na caixa de diálogo Schedule Deletion, selecione um método de exclusão para o segredo e clique em OK.
Schedule Deletion: Especifique um período de recuperação de 7 a 30 dias. O sistema excluirá o segredo após o término desse período.
Delete Immediately: O sistema exclui o segredo imediatamente.
Durante o período de recuperação, localize o segredo e clique em Cancel Deletion na coluna Actions para cancelar a exclusão.
Configurar tags de credencial
Atribua tags às credenciais para organizá-las e gerenciá-las. Cada tag consiste em um par chave-valor (Chave : Valor), incluindo uma chave de tag (Chave) e um valor de tag (Valor).
Observações sobre o uso de tags
Uma chave ou valor de tag pode conter até 128 caracteres, incluindo letras, dígitos, barras (/), barras invertidas (\), sublinhados (_), hifens (-), pontos (.), sinais de mais (+), sinais de igual (=), dois-pontos (:), arrobas (@) e espaços.
Uma chave de tag não pode começar com aliyun ou acs:. Essa restrição não se aplica aos valores de tag.
Cada credencial pode ter até 20 tags.
Procedimentos
Adicionar tag a uma única credencial
Faça login no console do Key Management Service. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, escolha .
Clique em na aba correspondente ao tipo de credencial, selecione um Instance ID e localize a credencial desejada.
-
Abra o editor de tags usando um dos seguintes métodos:
Método 1: Na lista de credenciais, clique em no ícone
na coluna Tags da credencial alvo.Método 2: Clique em Actions > Details para acessar a página de detalhes da credencial e, em seguida, clique em no ícone
ao lado de Tag.
Adicionar tags a várias credenciais em massa
Faça login no console do Key Management Service. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, escolha .
-
Clique em na aba correspondente ao tipo de credencial, selecione um Instance ID e marque as credenciais desejadas na lista.
Adicionar tags: Na parte inferior da lista de credenciais, clique em Add Tag, insira a Tag Key e o Tag Value, e clique em OK.
Excluir tags: Na parte inferior da lista de credenciais, clique em Remove Tag, selecione as tags a serem desvinculadas na caixa de diálogo Batch Remove, clique em Cancel e, em seguida, clique em Close na caixa de diálogo de confirmação.
Verificar conta associada
O recurso de verificação de conta confirma se o usuário do RAM associado a um segredo do RAM ainda existe no RAM. Ele também valida se o AccessKey ID armazenado no segredo corresponde ao AccessKey ID atual do usuário do RAM.
Faça login no console do Key Management Service. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, escolha .
Clique em na aba . Selecione um Instance ID. Localize o segredo desejado e clique em Details na coluna Actions.
Na seção Versions, clique em Check Account e visualize o resultado da verificação.
Recomendações de segurança
O uso do KMS para gerenciar segredos do RAM impede o armazenamento de AccessKey ID e AccessKey secret em texto simples ou sua codificação direta na aplicação.
Recomendamos configurar a AccessKey network ACL policy para permitir que apenas endereços IP confiáveis invoquem as credenciais. O gerenciamento de credenciais do KMS resolve questões de segurança de armazenamento, enquanto a lista de permissões de IP restringe a source das chamadas de api. A utilização conjunta dessas medidas estabelece uma defesa de segurança em duas camadas.