Ao integrar uma aplicação personalizada ao SDK da instância KMS ou ao SDK de secrets, você precisa usar um ClientKey de um application access point para verificação de identidade e permissão. Este tópico descreve como criar um application access point.
Observações
Como prática recomendada de segurança, crie um application access point separado para cada aplicação integrada ao KMS. Isso garante o isolamento das permissões de acesso.
Por padrão, um ClientKey é válido por cinco anos. É possível especificar um período de validade ao criar o ClientKey. Recomendamos definir o período de validade para um ano. Faça a rotação do ClientKey antes do vencimento para evitar interrupções no serviço. Para mais informações, consulte Rotate a ClientKey.
Pré-requisitos
Você adquiriu e ativou uma instância KMS. Para mais informações, consulte Purchase and enable a KMS instance.
Você criou uma chave ou um secret. Para mais informações, consulte Get started with Key Management e Get started with Secrets Manager.
Criar um application access point pelo console
Você pode usar a criação rápida ou a criação padrão. Para integrar rapidamente sua aplicação a um SDK, utilize a criação rápida. Em comparação com a criação padrão, a criação rápida apresenta as seguintes limitações:
Na criação rápida, o acesso a chaves e secrets ocorre apenas por meio do endpoint de uma instância KMS. A criação padrão também permite acessar secrets por meio de um endpoint do serviço KMS.
O período de validade do ClientKey é fixado em cinco anos e não pode ser personalizado. Recomendamos fazer a rotação do ClientKey após um ano de uso. Para mais informações, consulte Rotate a ClientKey.
Na política de permissão do application access point, o parâmetro Accessible Resources assume como padrão todas as chaves e secrets da instância KMS especificada. Modifique a política de permissão após criar o application access point. Para mais informações, consulte Manage an application access point.
Método 1: Criação rápida
Acesse o Key Management Service console. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, escolha .
-
Na aba Application Access, clique em Create AAP. No painel Create AAP, configure os parâmetros.
Parâmetro
Descrição
Mode
Selecione Quick Creation.
Scope (KMS Instance)
Selecione a instância KMS que sua aplicação precisa acessar.
Application Access Point Name
Insira um nome para o application access point.
Authentication Method
Definido como ClientKey e não pode ser alterado.
Encryption Algorithm
Selecione o algoritmo de criptografia usado para cifrar o ClientKey. Valores válidos: TripleDES-CBC e RC2-CBC (padrão).
NotaRC2-CBC funciona na maioria dos ambientes e é o recomendado. Se o seu ambiente tiver requisitos de algoritmo mais rigorosos e não for compatível com RC2-CBC, selecione TripleDES-CBC.
Default Permission Policy
O valor é
key/secret/e não pode ser alterado. Isso significa que a aplicação pode acessar todas as chaves e secrets da instância KMS especificada. -
Clique em OK. O navegador baixa automaticamente o ClientKey. O ClientKey inclui os seguintes arquivos:
Credential (ClientKeyContent): O nome de arquivo padrão é
clientKey_****.json.Credential password (ClientKeyPassword): O nome de arquivo padrão é
clientKey_****_Password.txt.
Método 2: Criação padrão
Acesse o Key Management Service console. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, escolha .
-
Crie uma regra de acesso à rede.
NotaSe não for necessário restringir o acesso com base nos endereços IP de origem, a criação de uma regra de acesso à rede não é obrigatória. Ainda assim, para maior segurança, recomendamos configurar uma.
Clique na aba Network Access Rules e, em seguida, clique em Create Network Access Rule.
-
No painel Create Network Access Rule, configure os parâmetros e clique em OK.
Parâmetro
Descrição
Rule Name
Insira um nome para a regra de acesso à rede.
Network Type
Private: A aplicação usa o endpoint de uma instância KMS para acessar chaves e secrets.
Public: A aplicação usa um endpoint do serviço KMS (endpoint público) para acessar secrets.
VPC: A aplicação usa um endpoint do serviço KMS (endpoint VPC) para acessar secrets. Esta opção está disponível apenas nas regiões China (Hangzhou), China (Shanghai), China (Shenzhen) e China (Zhangjiakou).
NotaOperações criptográficas: suportadas apenas ao usar o SDK da instância KMS para acessar o KMS por meio de um endpoint de instância KMS. Isso exige uma regra de acesso à rede com o Network Type definido como Private.
Recuperação de valores de secrets: utilize o SDK da instância KMS ou o SDK de secrets. Recomendamos usar o SDK de secrets com uma regra de acesso à rede cujo Network Type seja Private para obter maior QPS e melhor segurança.
SDK da instância KMS: o tipo de rede deve ser Private. O endereço IP de origem deve pertencer à VPC associada à instância KMS.
SDK de secrets: o tipo de rede pode ser Private, Public ou VPC.
Allowed Source IP Addresses
Na maioria dos casos, insira o endereço IP do servidor da aplicação. O endereço IP deve corresponder ao tipo de rede selecionado.
Se o tipo de rede for Private, insira um endereço IP pertencente à VPC associada à instância KMS.
Se o tipo de rede for Public, insira um endereço IP público.
Se o tipo de rede for VPC, insira um ID de VPC e um endereço IP de VPC.
Description
Insira uma descrição para a regra.
-
Crie uma política de permissão.
Clique na aba Policies e, em seguida, clique em Create Policy.
-
No painel Create Policy, configure os parâmetros e clique em OK.
Parâmetro
Descrição
Policy Name
Insira um nome para a política de permissão.
Scope
Se você selecionou Private em Network Type ao criar a regra de acesso à rede, selecione uma instância KMS específica. Se selecionou Public ou VPC em Network Type, selecione Shared KMS Gateway.
RBAC Permissions
Se uma instância KMS específica for selecionada em Scope:
CryptoServiceKeyUser: permite o uso de chaves na instância KMS. Essa permissão é compatível com as operações criptográficas da API da instância. Para mais informações, consulte Key-related operations.
CryptoServiceSecretUser: permite o uso de secrets na instância KMS. Essa permissão é compatível com as operações relacionadas a secrets da API da instância. Para mais informações, consulte Secret-related operations.
Se Scope estiver definido como Shared KMS Gateway:
SecretUser: permite o uso de todos os secrets da conta atual. Essa permissão é compatível com a operação OpenAPI GetSecretValue.
Accessible Resources
Selecione as chaves e os secrets que a aplicação precisa acessar.
ImportanteSe você selecionar vários secrets e o comprimento total dos nomes exceder o limite, um erro "invalid parameter" será retornado. Nesse caso, use um caractere curinga para especificar os secrets acessíveis.
Por exemplo, ao definir este parâmetro como
secret/rds-ibm*, a aplicação poderá acessar todos os secrets cujos nomes tenham o prefixords-ibm.Network Access Rules
Selecione a regra de acesso à rede que você criou.
NotaSe não for necessário restringir o acesso com base nos endereços IP de origem, a seleção de uma regra de acesso à rede não é obrigatória. Ainda assim, para maior segurança, recomendamos configurar uma.
Description
Insira uma descrição para a política.
-
Crie o application access point.
Clique na aba Application Access e, em seguida, clique em Create AAP.
-
No painel Create AAP, configure os parâmetros.
Parâmetro
Descrição
Mode
Selecione Standard Creation.
Application Access Point Name
Insira um nome para o application access point.
Authentication Method
Métodos suportados: ClientKey e RAMRole. Este tópico usa ClientKey como exemplo.
Encryption Algorithm
Selecione o algoritmo de criptografia usado para cifrar o ClientKey. Valores válidos: TripleDES-CBC e RC2-CBC (padrão). Este parâmetro é obrigatório e aparece apenas quando o método de autenticação está definido como ClientKey.
NotaRC2-CBC funciona na maioria dos ambientes e é o recomendado. Se o seu ambiente tiver requisitos de algoritmo mais rigorosos e não for compatível com RC2-CBC, selecione TripleDES-CBC.
Encryption Password
Uma senha para criptografar o ClientKey. A senha deve ter entre 8 e 64 caracteres e incluir pelo menos dois dos seguintes tipos: dígitos, letras maiúsculas e minúsculas, e caracteres especiais
~!@#$%^&*?_-.Validity Period
O período de validade do ClientKey.
ImportanteRecomendamos definir o período de validade para um ano, a fim de reduzir o risco de vazamento do ClientKey. Faça a rotação do ClientKey antes do vencimento para evitar interrupções no serviço. Para mais informações, consulte Rotate a ClientKey.
Policies
Selecione a política de permissão que você criou.
Description
Insira uma descrição para o application access point.
-
Clique em OK. O navegador baixa automaticamente o ClientKey. O ClientKey inclui os seguintes arquivos:
Credential (ClientKeyContent): O nome de arquivo padrão é
clientKey_****.json.Credential password (ClientKeyPassword): O nome de arquivo padrão é
clientKey_****_Password.txt.
Criar um application access point usando OpenAPI
Chame a operação CreateNetworkRule para definir os endereços IP privados ou blocos CIDR com permissão de acesso ao KMS.
Chame a operação CreatePolicy para especificar as chaves e os secrets que a aplicação pode acessar e vincular a regra de acesso à rede.
Chame a operação CreateApplicationAccessPoint para definir o método de autenticação e vincular a política de permissão.
Chame a operação CreateClientKey para definir a senha de criptografia e o período de validade do ClientKey, e vincular o application access point.
Criar um application access point usando Terraform
Para mais informações, consulte Create an application access point by using Terraform.
Operações relacionadas
Se um application access point estiver vinculado a uma instância KMS, será necessário configurar o certificado CA da instância e o endpoint da instância KMS durante a integração com o SDK. Essa configuração não é necessária quando o escopo é Shared KMS Gateway.
Obter o certificado CA da instância KMS
As instâncias KMS possuem certificados SSL/TLS integrados e usam o protocolo HTTPS para autenticação e comunicação cifrada. O certificado CA da instância serve para verificar a validade do certificado SSL/TLS da instância — confirmando se foi emitido pela CA correta, se está dentro do período de validade e se corresponde ao endpoint da instância KMS.
As instâncias KMS suportam apenas TLS 1.2.
Na página Instances, clique na aba Software Key Management ou Hardware Key Management e selecione a instância KMS de destino.
-
Clique no ID da instância ou em Details na coluna Actions. Na página Details, na seção Instance CA Certificate, clique em Download e armazene o certificado em local seguro.
NotaO arquivo do certificado CA baixado tem o nome padrão
PrivateKmsCA_kst-******.pem.
Obter o endpoint da instância KMS
Na página Instances, clique na aba Software Key Management ou Hardware Key Management e selecione a instância KMS de destino.
Clique no ID da instância para acessar a página de detalhes e visualize o Instance VPC Endpoint.
Para obter o endpoint da instância KMS, remova
https://do valor em Instance VPC Endpoint.
Documentação relacionada
Recomendamos excluir application access points que não estejam mais em uso. Para mais informações, consulte Manage an application access point.
Recomendamos fazer a rotação de um ClientKey que esteja em uso há mais de um ano. Para mais informações, consulte Rotate a ClientKey.
O KMS envia um evento de alerta quando um ClientKey está prestes a expirar. Monitore e trate esses eventos com prontidão. Para mais informações, consulte Alert events.