Todos os produtos
Search
Central de documentação

Key Management Service:Gerenciar e usar secrets do ApsaraDB RDS

Última atualização: Sep 18, 2026

Aplicações de negócios geralmente armazenam senhas de contas de banco de dados em código ou arquivos de configuração, o que gera risco de vazamento. Ao delegar o gerenciamento de senhas de contas do RDS para secrets do KMS, as aplicações recuperam dinamicamente os valores das senvas por meio do SDK e oferecem suporte à rotação automática, reduzindo efetivamente o risco de vazamento de secrets.

Como funciona

Com os secrets do RDS, as aplicações não precisam codificar credenciais de banco de dados diretamente no código ou em arquivos de configuração. Após um administrador criar um secret do RDS no KMS, a aplicação chama a operação da API GetSecretValue para recuperar as informações da conta e da senha do banco de dados e acessar o banco de dados RDS. Os casos de uso comuns incluem:

  • Acesso a banco de dados de aplicações na cloud: Aplicações implantadas em services da Alibaba Cloud, como ECS ou ACK, exigem gerenciamento centralizado de credenciais de acesso ao banco de dados, evitando a gestão dispersa em várias instâncias.

  • Requisitos regulares de conformidade de segurança: Políticas de segurança corporativas exigem rotação regular de senhas de banco de dados. A rotação automática por meio de secrets do KMS atende aos requisitos de auditoria de conformidade.

  • Gerenciamento de credenciais multiambiente: Ambientes de produção, teste e desenvolvimento requerem credenciais de acesso ao banco de dados isoladas. Use tags de secret para gerenciar credenciais por dimensão.

Importante

Após armazenar credenciais do RDS no KMS, não modifique nem exclua as credenciais no ApsaraDB RDS para evitar interrupções de service.

image

Antes de começar

  • Bancos de dados compatíveis: ApsaraDB RDS for MySQL, ApsaraDB RDS for MariaDB, ApsaraDB RDS for SQL Server (exceto 2017 Cluster Edition) e ApsaraDB RDS for PostgreSQL.

  • Preparação de chave do KMS: Crie uma chave simétrica na instância do KMS para criptografia. A chave deve residir na mesma instância do secret. Para mais informações, consulte Manage RAM user permissions.

  • Permissões do RAM: Se você usar um usuário do RAM ou uma função do RAM, anexe a política de sistema AliyunKMSSecretAdminAccess ao usuário ou à função do RAM na conta da Alibaba Cloud. Para mais informações, consulte Grant permissions to a RAM role ou Manage RAM user permissions.

  • Limitações de uso: Não delegue a mesma conta de banco de dados RDS para múltiplos secrets do RDS. Quando os secrets passam por rotação, a senha é alterada. Isso faz com que outros secrets da mesma conta fiquem com uma senha desatualizada, resultando em falhas de login.

Criar um secret do RDS

Configure a rotação periódica automática ao criar uma credencial para reduzir o risco de segurança associado a vazamentos.

  1. Faça logon no console do Key Management Service. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, escolha Resources > Secrets.

  2. Clique na aba Database Secrets, selecione um Instance ID e clique em Create Secret > Create Single Secret. Configure os parâmetros e clique em Confirm.

    Nota
    • Os secrets do RDS não suportam criação em lote.

    • Recomendamos ativar a rotação automática de secrets regularmente para reduzir o risco de vazamento.

    Parâmetro

    Descrição

    Database Type

    Selecione ApsaraDB RDS Secrets.

    Secret Name

    Nome personalizado da credencial. Deve ser único na região atual.

    ApsaraDB RDS Instance

    Selecione uma instância do RDS em sua conta da Alibaba Cloud.

    Account Management

    • Manage Dual Accounts (Recomendado): Adequado para acesso programático ao banco de dados. O KMS gerencia duas contas com permissões idênticas para evitar interrupção de conexão durante a rotação.

      • Clique em Create Account para configurar o nome da conta, selecionar um banco de dados e especificar permissões.

        Nota
        • A criação e autorização com um clique não cria imediatamente a nova conta. A conta é criada após você revisar e confirmar as informações da credencial.

        • Para RDS PostgreSQL, não é possível obter o nome do banco de dados durante a criação. Defina manualmente o DBName.

      • Clique em Import Existing Accounts para selecionar um nome de usuário e configurar a senha.

        Nota

        Recomendamos definir a senha como aquela usada ao criar a conta de usuário da instância do RDS. Se o nome de usuário e a senha importados não corresponderem, você poderá obter a conta e a senha corretas após a primeira rotação da credencial.

    • Manage Single Account: Indicado para contas privilegiadas ou cenários de hospedagem de contas de O&M manual. A versão atual da credencial pode ficar temporariamente indisponível logo após a redefinição da senha.

      • Clique em Create Account para configurar o nome da conta e selecionar o tipo de conta.

        Suporta Standard Account e Privileged Account. Ao selecionar Standard Account, também é necessário selecionar um banco de dados e especificar permissões.

      • Clique na aba Import Existing Accounts para selecionar um nome de usuário e configurar a senha.

    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.

    Importante
    • A 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 compatíveis com o KMS, consulte Key types and specifications.

    • Se um usuário do RAM ou uma função do RAM for utilizada, ela deve ter permissões para executar a operação GenerateDataKey usando a chave mestra de criptografia.

    Tags

    Adicione tags à credencial para classificação. Cada tag consiste em um par chave-valor.

    Nota
    • Formato de uma chave de tag e um valor de tag: Uma chave ou valor de tag pode ter até 128 caracteres e conter 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:.

    • Cada credencial suporta até 20 pares chave-valor de tag.

    Automatic Rotation

    Selecione se deseja ativar a rotação automática. Quando ativado, o KMS atualiza periodicamente o valor da credencial para reduzir o risco de vazamentos.

    Rotation Period

    Defina este parâmetro apenas quando a rotação automática estiver ativada. Valores válidos: de 6 horas a 365 dias.

    Especifica o intervalo de rotação. O KMS atualiza periodicamente o valor da credencial com base nesta configuração.

    Description

    Descrição opcional da credencial para identificação e gerenciamento.

    Advanced Settings > Policy Settings

    Defina a política de acesso para a credencial a fim de controlar quais usuários ou funções do RAM podem lê-la ou modificá-la.

    Selecione primeiro a política padrão e modifique-a posteriormente conforme necessário.

  3. Após a criação, verifique se o novo secret aparece na lista de credenciais de banco de dados com o status Normal.

    Nota

    O sistema cria automaticamente a função vinculada ao service AliyunServiceRoleForKMSSecretsManagerForRDS e anexa a política AliyunServiceRolePolicyForKMSSecretsManagerForRDS. O KMS usa essa função para gerenciar secrets do RDS, incluindo a rotação de senhas de contas do RDS.

Gerenciar secrets do RDS

Rotacionar secret do RDS

Mecanismo de rotação de secrets do RDS

O KMS oferece suporte à rotação automática de senhas para instâncias associadas do ApsaraDB RDS. Durante a rotação, o KMS redefine a senha da conta correspondente do RDS mantendo o nome da conta inalterado.

  • Modos de rotação: O KMS oferece suporte aos modos gerenciados de conta única e conta dupla para secrets do RDS.

    Item de comparação

    Conta única gerenciada

    Conta dupla gerenciada

    Cenário

    Cenários simples em que as aplicações toleram breves interrupções.

    Cenários de alta disponibilidade que exigem alta continuidade de negócios para aplicações críticas.

    Princípio de rotação

    Gera uma nova senha para a conta durante a rotação.

    Mantém duas contas alternadas (Usuário A e Usuário B).

    Disponibilidade

    Possui uma breve janela de indisponibilidade: durante a troca de senha, a credencial antiga torna-se inválida antes que a nova entre totalmente em vigor, o que pode causar falhas temporárias de conexão. Recomendamos configurar uma política de nova tentativa para suas aplicações.

    Totalmente disponível durante toda a rotação: durante o processo, as credenciais de uma das contas permanecem sempre válidas, tornando o processo transparente para suas aplicações.

  • Fluxograma de rotação de conta dupla: Ao criar um secret, a senha da conta do RDS para o primeiro usuário já existe. Durante a primeira rotação, o KMS chama a API do RDS para criar a senha da conta do segundo usuário. Na segunda rotação, o KMS modifica a senha do primeiro usuário. Nas rotações subsequentes, o KMS alterna a modificação das senhas dos dois usuários.

    image

Precauções

  • Confirme a integração da aplicação: Antes da rotação, garanta que todas as aplicações de negócios estejam configuradas para recuperar credenciais dinamicamente do KMS. Se as aplicações tiverem codificado a senha antiga, a rotação causará falhas de conexão.

  • Verifique o status do recurso: Recomendamos usar o recurso antes da rotação para verificar se a instância do RDS e a conta associadas ao secret existem e estão em estado normal.

  • Não exclua recursos: Durante ou após a entrada em vigor da configuração de rotação, não exclua a instância do RDS associada ou a conta do banco de dados. Caso contrário, a tarefa de rotação falhará.

Procedimento

Configurar a rotação automática periódica de credenciais reduz efetivamente o risco de vazamento causado pela falta de atualizações prolongada. Além disso, o console oferece suporte à rotação manual imediata, permitindo resposta rápida a incidentes de segurança e mitigação oportuna de ameaças potenciais.

  1. Faça logon no console do Key Management Service. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, escolha Resources > Secrets.

  2. Clique na aba Database Secrets, selecione um Instance ID, localize o secret a ser rotacionado e clique em Details na coluna Actions.

  3. Na seção Versions na parte inferior da página de detalhes do secret, clique em Configure Rotation.

    • Rotação automática agendada: Ative este recurso e selecione um período de rotação. Este parâmetro aceita valores de 6 horas a 365 dias.

      Nota

      Ao criar um secret, é possível ativar a rotação automática e definir o Rotation Period.

    • Rotacionar agora: Acione manualmente uma rotação imediata.

Verificar a conta do secret

O KMS verifica se a conta do banco de dados RDS protegida pelo secret pertence à instância do RDS configurada. Se a verificação for bem-sucedida, o secret poderá ser rotacionado normalmente. Caso contrário, exclua o secret e crie um novo secret do RDS.

  1. Faça logon no console do Key Management Service. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, escolha Resources > Secrets.

  2. Clique na aba Database Secrets, selecione um Instance ID, localize o secret desejado e clique em Details na coluna Actions.

  3. Na seção Versions, clique em Check Account. Após a conclusão da verificação, visualize o resultado.

Configurar o nome do banco de dados (DBName)

Após a criação de um secret do RDS, se for necessário alterar o nome do banco de dados RDS associado, especifique o DBName correto na seção Extended Configurations. Para isso:

Importante

Para RDS PostgreSQL, adicione manualmente o campo DBName. Caso contrário, o secret do RDS não poderá ser usado.

  1. Faça logon no console do Key Management Service. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, escolha Resources > Secrets.

  2. Na aba Customer-managed Secrets, selecione Database Secrets, escolha a instância do KMS desejada e clique em Details na coluna Actions do secret alvo.

  3. Na aba Extended Configurations, clique em Edit na coluna Actions referente a CustomData.

  4. Na caixa de diálogo Edit Custom Data, clique em Add Key-value Pair e configure o seguinte:

    Nota

    Se já existir um par chave-valor DBName, modifique o valor de Value.

    • Key: Insira DBName.

    • Value: Insira o nome do banco de dados da instância do RDS desejada. Obtenha esse nome fazendo logon no console do RDS e navegando até a página de detalhes da instância.

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).

Notas de 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:. Esta restrição não se aplica a valores de tag.

  • Cada credencial pode ter até 20 tags.

Procedimentos

Marcar uma única credencial

  1. Faça logon no console do Key Management Service. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, escolha Resources > Secrets.

  2. Clique na aba correspondente ao tipo de credencial, selecione um Instance ID e localize a credencial desejada.

  3. Abra o editor de tags usando um dos seguintes métodos:

    • Método 1: Na lista de credenciais, clique no ícone image.png na coluna Tags da credencial alvo.

    • Método 2: Clique em Actions > Details para ir à página de detalhes da credencial e clique no ícone image.png ao lado de Tag.

  4. Na caixa de diálogo Edit Tag, insira a Tag Key e o Tag Value e clique em OK.

Marcar múltiplas credenciais em lote

  1. Faça logon no console do Key Management Service. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, escolha Resources > Secrets.

  2. Clique na aba correspondente ao tipo de credencial, selecione um Instance ID e selecione as credenciais a serem operadas na lista de credenciais.

    • 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.

Excluir um secret do RDS

Aviso

Antes de excluir um secret, certifique-se de que ele não está mais em uso para evitar falhas de service.

Agende uma exclusão ou exclua imediatamente um secret que não seja mais necessário. A exclusão de um secret do RDS remove apenas as informações do secret do KMS e não afeta a conta correspondente ou sua senha no RDS.

  1. Faça logon no console do Key Management Service. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, escolha Resources > Secrets.

  2. Clique na aba Database Secrets, selecione um Instance ID, localize o secret que deseja excluir e clique em Schedule Deletion na coluna Actions.

  3. Na caixa de diálogo Schedule Deletion, selecione um método de exclusão para o secret e clique em OK.

    • Schedule Deletion: Especifique um período de recuperação de 7 a 30 dias. O sistema exclui o secret após o término do período de recuperação.

    • Delete Immediately: O sistema exclui o secret imediatamente.

    Durante o período de recuperação, localize o secret e clique em Restore Secret na coluna Actions para cancelar a exclusão.

Integrar secrets do RDS em aplicações

O KMS oferece vários métodos para obter valores de secrets do RDS. Selecione um método com base nas seguintes prioridades. Para etapas detalhadas de integração, consulte a documentação específica vinculada a cada método.

Prioridade

Caso de uso

Tipo de gateway compatível

Prioridade 1: Secret JDBC Client

  • A aplicação é desenvolvida em Java 8 ou posterior.

  • O tipo de banco de dados é MySQL, SQL Server, PostgreSQL ou MariaDB.

Nota

O Secret JDBC Client encapsula lógica de negócios, melhores práticas e padrões de projeto. Ele lida diretamente com a autenticação de identidade para conexões de banco de dados e fornece acesso ao banco de dados por meio de interfaces JDBC padrão.

Gateway compartilhado / Gateway dedicado

Prioridade 2: Secret Client

A aplicação é desenvolvida em Java (Java 8 ou posterior), Go ou Python.

Gateway compartilhado / Gateway dedicado

Prioridade 3: Alibaba Cloud SDK

A aplicação é desenvolvida em Java (Java 6 ou posterior), PHP, Go, Python, .NET (apenas C#), C++ ou Node.js.

Gateway dedicado (recomendado) / Gateway compartilhado

Prioridade 4: KMS agent

  • Indicado para implantação centralizada de aplicações que requerem acesso em larga escala ao KMS.

  • O KMS Agent fornece services baseados em APIs HTTP padrão, oferecendo suporte a aplicações de negócios desenvolvidas em qualquer linguagem de programação.

Gateway dedicado (recomendado) / Gateway compartilhado

Prioridade 5: KMS instance SDK (não recomendado)

A aplicação é desenvolvida em Java (Java 8 ou posterior), PHP, Go, Python ou .NET (apenas C#).

Gateway dedicado

FAQ

Rotação de secrets

  • A rotação falha com "Your secret is being rotated. Try again later."?

    Tipo de secret

    Possível causa

    Secret do RAM

    O secret do RAM está sendo rotacionado.

    A rotação do secret do RAM leva tempo para ser concluída dentro de uma janela de rotação. A janela de rotação para rotação automática é de aproximadamente 48 horas. A janela de rotação para rotação manual corresponde à duração definida por você.

    Se a rotação não for concluída dentro da janela de rotação, verifique se o usuário do RAM ainda existe no console do RAM.

    Secret do RDS

    Normalmente, a rotação do secret do RDS é concluída instantaneamente. Se a rotação não for concluída em 2 minutos, verifique se a instância do RDS e a conta do RDS estão em estado normal.

    Secret do ECS

    Normalmente, a rotação do secret do ECS é concluída instantaneamente. Se a rotação não for concluída em 2 minutos, verifique se a instância do ECS e a conta do ECS estão em estado normal.

  • O status do secret aparece como indisponível ou chamadas de API retornam "Rejected.Unavailable"?

    A instância do KMS expirou. Renove a instância do KMS dentro de 15 dias corridos após a expiração, caso contrário, a instância será liberada. Para mais informações, consulte Billing.

    Se você não planeja usar a instância do KMS no momento, mas pode precisar das chaves ou secrets nela contidos posteriormente, recomendamos fazer backup deles antecipadamente. Para mais informações, consulte KMS backup management.

Configuração de secrets

  • Por que um secret do RDS PostgreSQL não funciona?

    O RDS PostgreSQL não preenche automaticamente o campo DBName. Adicione-o manualmente nas configurações estendidas durante a criação do secret. Para mais informações, consulte Manage and use ApsaraDB RDS secrets.

  • A mesma conta do RDS pode ser delegada a múltiplos secrets?

    Não recomendado. Cada secret faz rotação independentemente, alterando a senha. Se múltiplos secrets referenciarem a mesma conta, a rotação de um fará com que os outros fiquem com credenciais desatualizadas e falhem nas tentativas de login. Em vez disso, faça com que várias aplicações recuperem credenciais do mesmo secret e use políticas do RAM para controlar o acesso.

Permissões e gerenciamento

  • Qual é a diferença entre excluir um secret no KMS e excluir uma conta no RDS?

    Excluir um secret no KMS remove apenas as informações criptografadas da credencial e não afeta a conta real do RDS. Excluir uma conta no RDS invalida a senha armazenada no secret do KMS e causa falha na rotação.

  • Qual é a finalidade das tags de secret?

    As tags permitem o gerenciamento categorizado e a recuperação rápida de secrets por ambiente, projeto ou outras dimensões. Combinadas com políticas do RAM, as tags também podem implementar controle de acesso baseado em tags. Planeje sua estratégia de tags ao criar secrets.