O Key Management service (KMS) usa pontos de acesso de aplicativo (AAPs) para controlar como os aplicativos autogerenciados se autenticam e acessam chaves e segredos em uma instância do KMS. Antes de usar uma chave ou um segredo, o aplicativo deve se autenticar por meio de um AAP.
Um AAP contém dois componentes: uma política de permissão e uma credencial.
Crie um AAP separado para cada aplicativo que acessa o KMS. Dessa forma, cada aplicativo tem suas próprias permissões de acesso e permite auditoria independente.
Como funciona
Cada AAP aplica duas camadas de controle:
Política de permissão — define quais chaves e segredos o aplicativo pode acessar e a partir de quais endereços IP
Credencial — autentica a identidade do aplicativo antes de conceder o acesso
Políticas de permissão
Uma política de permissão especifica quais recursos do KMS um aplicativo pode acessar e sob quais condições. Cada AAP suporta até três políticas de permissão.
Cada política inclui os seguintes elementos:
Permissões RBAC — as operações que o aplicativo pode executar
Recursos acessíveis — as chaves ou segredos que o aplicativo pode acessar
Regras de acesso à rede — os endereços IP de source permitidos
Permissões RBAC
|
Função |
Escopo |
Operações suportadas |
|
CryptoServiceKeyUser |
Chaves em uma instância do KMS |
Operações criptográficas pela API da instância. Consulte List of operations by function. |
|
CryptoServiceSecretUser |
Segredos em uma instância do KMS |
Operações relacionadas a segredos pela API da instância. Consulte List of operations by function. |
|
SecretUser |
Todos os segredos na conta atual da Alibaba Cloud |
GetSecretValue via openapi |
Credenciais
Uma credencial comprova a identidade do aplicativo que acessa o KMS. O KMS suporta dois tipos de credencial: chave de cliente e função RAM.
Escolha um tipo de credencial
|
Cenário |
Tipo de credencial |
|
O aplicativo requer autenticação de identidade e comportamento para usar chaves ou segredos em uma instância do KMS |
Chave de cliente |
|
O aplicativo é executado no Elastic Compute Service (ECS), Container Service for Kubernetes (ACK) ou Function Compute e está associado a uma função do Resource Access Management (RAM) |
Função RAM |
Chave de cliente
A chave de cliente assina as solicitações do aplicativo para o KMS e verifica essas assinaturas. Ela consiste em duas partes:
Segredo de acesso do aplicativo (ClientKeyContent)
Senha
Limites do ciclo de vida:
|
Propriedade |
Valor |
|
Período de validade padrão |
Cinco anos (um ano recomendado) |
|
Máximo de chaves de cliente por AAP |
Três |
|
Armazenamento |
O KMS não armazena chaves de cliente. Se você perder uma chave de cliente, exclua-a e crie uma nova. |
|
Em caso de comprometimento |
exclua a chave comprometida imediatamente e crie uma substituta. |
Para rotacionar uma chave de cliente antes da expiração, consulte Change a client key. Após mudar para a nova chave, exclua a antiga do KMS.
Função RAM
Use uma função RAM quando seu aplicativo for executado no ECS, ACK ou Function Compute, já esteja associado a uma função RAM e você precisar recuperar o valor de um segredo por meio de um endpoint do KMS. O KMS autentica as solicitações openapi usando o RAM, sem necessidade de uma chave de cliente.
SDKs com suporte à autenticação por chave de cliente
Diferentes SDKs do KMS suportam diferentes métodos de autenticação. Para obter uma visão geral completa, consulte SDK references.
Os seguintes SDKs suportam a autenticação por chave de cliente:
|
SDK |
Escopo de acesso |
Tipo de endpoint |
|
SDK da instância do KMS |
Chaves e segredos em uma instância do KMS |
Endpoint da instância do KMS (requer chave de cliente) |
|
SDK de segredos |
Segredos em uma instância do KMS ou segredos em toda a conta atual da Alibaba Cloud |
Endpoint da instância do KMS ou endpoint do KMS |
Ao usar o SDK de segredos com um endpoint do KMS, é possível se autenticar com uma chave de cliente, um par de AccessKey de um usuário RAM ou uma função RAM. O tipo de endpoint depende da configuração do escopo da política de permissão: defina-o como uma instância do KMS para usar um endpoint de instância do KMS ou como Shared KMS Gateway para usar um endpoint do KMS.
Notificações de expiração da chave de cliente
A Alibaba Cloud envia notificações de expiração por e-mail ou mensagem interna nos seguintes intervalos antes do vencimento da chave de cliente: seis meses, três meses, um mês e sete dias.
Para definir alertas proativos, configure o CloudMonitor para enviar notificações com 180, 90, 30 e 7 dias de antecedência. Consulte Alert events.
Logs e auditoria
Eventos de gerenciamento
O KMS se integra ao ActionTrail para registrar eventos de gerenciamento de AAPs. Consulte Audit events of KMS e Use ActionTrail to query KMS events.
Logs de chamadas de chave de cliente
O KMS se integra ao Simple Log service (SLS) para registrar chamadas feitas com chaves de cliente. O KMS retém os logs por 180 dias e permite pesquisas na página do Simple Log service para KMS. Para verificar se uma chave de cliente específica foi usada, insira o ID dela na caixa de pesquisa em kms_audit_log. Se o campo access_key_id nos resultados corresponder ao ID da chave de cliente, a chave foi utilizada.
Próximas etapas
Access a KMS instance by using an AAP — crie um AAP e integre-o ao seu aplicativo
SDK references — escolha e integre um SDK
Endpoint description — entenda a diferença entre endpoints de instância do KMS e endpoints do KMS
Performance quotas — limites de QPS (consultas por segundo)