Como acessar o AWS Key Management Service
Você pode trabalhar com AWS KMS das seguintes formas:
Tópicos
Console de gerenciamento da AWS
O console é uma interface de usuário baseada na Web para gerenciar o AWS KMS e recursos da AWS. Após se cadastrar em uma conta da Conta da AWS, você poderá acessar o console do AWS KMS fazendo login no Console de gerenciamento da AWS e selecionando o AWS KMS na página inicial do Console de gerenciamento da AWS.
Permissões necessárias para usar o console do AWS KMS
Para trabalharem com o console do AWS KMS, os usuários precisam ter um conjunto mínimo de permissões para trabalhar com os recursos do AWS KMS na sua Conta da AWS. Além dessas permissões do AWS KMS, os usuários precisam ter também permissões para listar usuários do IAM e perfis do IAM. Se você criar uma política do IAM que seja mais restritiva que as permissões mínimas necessárias, o console do AWS KMS não funcionará como pretendido para os usuários com essa política do IAM.
Para obter as permissões mínimas necessárias para conceder ao usuário acesso somente leitura ao console do AWS KMS, consulte Permitir que um usuário visualize chaves do KMS no console do AWS KMS.
Para permitir que os usuários trabalhem com o console do AWS KMS para criar e gerenciar chaves do KMS, anexe a política gerenciada AWSKeyManagementServicePowerUser ao usuário, conforme descrito em AWS Políticas gerenciadas pela do AWS Key Management Service.
Não é necessário habilitar permissões mínimas do console para usuários que estejam trabalhando com a API do AWS KMS por meio de AWS SDKs
AWS Command Line Interface
Você pode usar as ferramentas da AWS CLI para emitir comandos ou criar scripts na linha de comando de seu sistema e executar tarefas da AWS (incluindo o AWS KMS).
Para obter informações sobre como usar o AWS KMS por meio da AWS CLI, consulte a Referência de comandos da AWS CLI
AWS KMS REST API
A arquitetura do AWS KMS foi projetada para ser neutra em termos de linguagem de programação. A REST API é uma interface HTTP para o AWS KMS. Com a REST API, você usa solicitações HTTP padrão para criar, buscar e excluir chaves.
Para obter mais informações sobre como usar a REST API do AWS KMS, consulte a Referência de API do AWS Key Management Service.
SDKs da AWS
A AWS disponibiliza kits de desenvolvimento de software (SDKs) que consistem em bibliotecas e exemplos de códigos para linguagens de programação e plataformas comuns (Java, JavaScript, C, Python etc.). Os AWS SDKs fornecem uma maneira conveniente para criar acesso programático ao AWS KMS e à AWS. O AWS KMS é um serviço REST. É possível enviar solicitações para o AWS KMS usando as bibliotecas do AWS SDK, que encapsulam a REST API do AWS KMS e simplificam as tarefas de programação. Para obter informações sobre os AWS SDKs, inclusive sobre como baixá-los e instalá-los, consulte Ferramentas para criar com a AWS
O Exemplos de código para o AWS KMS usando AWS SDKs é um bom ponto de partida para usar o AWS KMS por meio dos AWS SDKs.
AWS Encryption SDK
O AWS Encryption SDK é uma ferramenta para implementar a criptografia do lado do cliente em sua aplicação. Ele não fornece acesso completo ao KMS, mas se integra ao AWS KMS ou pode ser usado como um SDK independente sem fazer referência às chaves do KMS. As bibliotecas estão disponíveis para Java, JavaScript, C, Python e outras linguagens de programação.
Para obter mais informações, consulte o Guia do desenvolvedor do AWS Encryption SDK.
Políticas de AWS KMS key e políticas do IAM
Consistência eventual do AWS KMS
A API do AWS KMS segue um modelo de consistência eventual
Quando você realiza chamadas da API do AWS KMS, pode haver um breve atraso antes que a alteração esteja disponível em todo o AWS KMS. Normalmente, a alteração leva menos de alguns segundos para se propagar por todo o sistema, mas, em alguns casos, pode levar vários minutos. Você poderá receber erros inesperados, como NotFoundException ou InvalidStateException, durante esse período. Por exemplo, o AWS KMS pode retornar um NotFoundException se você chamar GetParametersForImport imediatamente após chamar CreateKey.
Recomendamos que você configure uma estratégia de repetição em seus clientes do AWS KMS para repetir automaticamente as operações após um breve período de espera. Para obter mais informações, consulte Comportamento de repetição nos SDKs AWS e no Guia de referência de ferramentas.
Para chamadas de API relacionadas a concessões, é possível usar um token de concessão para evitar possíveis atrasos e usar as permissões em uma concessão imediatamente. Para obter informações, consulte Eventual consistency (for grants) (Consistência eventual (para concessões)).