AWS Key Management Service e criptografia para repositórios do AWS CodeCommit - AWS CodeCommit

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWS Key Management Service e criptografia para repositórios do AWS CodeCommit

Os dados nos CodeCommit repositórios são criptografados em trânsito e em repouso. Quando os dados são enviados para um CodeCommit repositório (por exemplo, por meio de uma chamadagit push), CodeCommit criptografa os dados recebidos à medida que são armazenados no repositório. Quando os dados são extraídos de um CodeCommit repositório (por exemplo, por meio de uma chamadagit pull), os CodeCommit descriptografa e os envia ao chamador. Isso pressupõe que o usuário do IAM associado à solicitação de push ou pull já tenha sido autenticado pela AWS. Os dados enviados ou recebidos são transferidos usando protocolos de rede criptografada HTTPS ou SSH.

Você pode usar uma Chave gerenciada pela AWS ou uma chave gerenciada pelo cliente para criptografar e descriptografar os dados no repositório. Consulte mais informações sobre as diferenças entre chaves gerenciadas pelo cliente e Chaves gerenciadas pela AWS em Customer managed keys and Chaves gerenciadas pela AWS. Se você não especificar uma chave gerenciada pelo cliente, CodeCommit usará uma Chave gerenciada pela AWS para criptografar e descriptografar os dados no seu repositório. Essa Chave gerenciada pela AWS é criada automaticamente para você em sua Conta da AWS. Na primeira vez que você cria um CodeCommit repositório em um novo Região da AWS em sua conta da Amazon Web Services, se você não especificar uma chave gerenciada pelo cliente, CodeCommit cria uma Chave gerenciada pela AWS (a aws/codecommit chave) na mesma Região da AWS em AWS Key Management Service (AWS KMS). Essa aws/codecommit chave é usada somente por CodeCommit. Ela é armazenada na sua conta da Amazon Web Services. Dependendo do que você especificar, CodeCommit use a chave gerenciada pelo cliente ou a Chave gerenciada pela AWS para criptografar e descriptografar os dados no repositório.

Importante

CodeCommit executa as seguintes AWS KMS ações em relação à AWS KMS chave usada para criptografar e descriptografar dados em um repositório. Se você estiver usando uma Chave gerenciada pela AWS, o usuário não precisará de permissões explícitas para essas ações, mas não deverá ter políticas associadas que neguem essas ações para a chave aws/codecommit. Se você estiver usando uma chave gerenciada pelo cliente que tenha uma Conta da AWS ID definida como principal de política para essa chave, essas permissões devem ser definidas explicitamente como. allow Especificamente, ao criar seu primeiro repositório e atualizar as chaves dele, você não deverá ter nenhuma das seguintes permissões definidas como deny se estiver usando uma Chave gerenciada pela AWS. Elas deverão ser definidas como allow se você estiver usando uma chave gerenciada pelo cliente com uma entidade principal da política:

  • "kms:Encrypt"

  • "kms:Decrypt"

  • "kms:ReEncrypt" (dependendo do contexto, pode exigir kms:ReEncryptFrom,

    kms:ReEncryptTo ou kms:ReEncrypt* não configurado para negar)

  • "kms:GenerateDataKey"

  • "kms:GenerateDataKeyWithoutPlaintext"

  • "kms:DescribeKey"

Se você quiser usar sua própria chave gerenciada pelo cliente, a chave deve estar disponível no Região da AWS local onde o repositório existe. CodeCommit suporta o uso de chaves gerenciadas pelo cliente de uma e várias regiões. Embora todos os tipos de origem de material de chaves sejam compatíveis, recomendamos usar a opção padrão KMS. Se os clientes usarem a opção Repositório de chaves externo poderá haver atrasos por parte do fornecedor da loja. Além disso. CodeCommit tem os seguintes requisitos para chaves gerenciadas pelo cliente:

  • CodeCommit só suporta o uso de teclas simétricas.

  • O tipo de uso da chave deve ser definido como Criptografar e descriptografar.

Consulte mais informações sobre como criar chaves gerenciadas pelo cliente em Concepts e Creating keys.

Para ver as informações sobre o Chave gerenciada pela AWS gerado por CodeCommit, faça o seguinte:

  1. Faça login no AWS Management Console e abra o console do AWS Key Management Service (AWS KMS) em https://console.aws.amazon.com/kms.

  2. Para alterar a Região da AWS, use o seletor de regiões no canto superior direito da página.

  3. No painel de navegação de serviço, selecione Chaves gerenciadas pela AWS. Verifique se você está conectado à Região da AWS onde pretende revisar as chaves.

  4. Na lista chaves de criptografia, escolha a Chave gerenciada pela AWS com o alias aws/codecommit. As informações básicas sobre Chave pertencente à AWS serão exibidas.

Você não pode alterar ou excluir essa Chave gerenciada pela AWS.

Como os algoritmos de criptografia são usados para criptografar dados do repositório

CodeCommit usa duas abordagens diferentes para criptografar dados. Objetos Git individuais com menos de 6 MB são criptografados usando AES-GCM-256, que fornece validação de integridade de dados. Objetos entre 6 MB e o máximo de 2 GB para um único blob são criptografados usando AES-CBC-256. CodeCommit sempre valida o contexto de criptografia.

Contexto de criptografia

Cada serviço integrado ao AWS KMS especifica um contexto de criptografia para operações de criptografia e de descriptografia. O contexto de criptografia significa informações adicionais autenticadas que o AWS KMS usa para verificar a integridade dos dados. Quando especificado para a operação de criptografia, ele também deve ser especificado na operação de descriptografia. Caso contrário, a decodificação falhará. CodeCommit usa o ID do CodeCommit repositório para o contexto de criptografia. Você pode usar o get-repository comando ou o CodeCommit console para encontrar o ID do repositório. Pesquise o ID do CodeCommit repositório nos AWS CloudTrail registros para entender quais operações de criptografia foram realizadas em qual chave AWS KMS para criptografar ou descriptografar dados no repositório. CodeCommit

Para ter mais informações sobre o AWS KMS, consulte o AWS Key Management Service Guia do desenvolvedor.