Configure a criptografia do lado do servidor para artefatos armazenados no Amazon S3 para CodePipeline - AWS CodePipeline

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

Configure a criptografia do lado do servidor para artefatos armazenados no Amazon S3 para CodePipeline

Há duas maneiras de configurar a criptografia do lado do servidor para artefatos do Amazon S3:

  • CodePipeline cria um bucket de artefatos do S3 e usa como padrão Chave gerenciada pela AWS quando você cria um pipeline usando o assistente Create Pipeline. Chave gerenciada pela AWS É criptografado junto com os dados do objeto e gerenciado por AWS.

  • É possível criar e gerenciar sua própria chave gerenciada pelo cliente.

Importante

CodePipeline suporta apenas KMS teclas simétricas. Não use uma KMS chave assimétrica para criptografar os dados em seu bucket do S3.

Se você estiver usando a chave padrão do S3, não será possível alterar ou excluir essa Chave gerenciada pela AWS. Se você estiver usando uma chave gerenciada pelo cliente AWS KMS para criptografar ou descriptografar artefatos no bucket do S3, poderá alterar ou alternar essa chave gerenciada pelo cliente conforme necessário.

O Amazon S3 comporta políticas de bucket que você pode usar se precisar de criptografia de servidor para todos os objetos que estão armazenados em seu bucket. Por exemplo, a política de bucket a seguir nega a permissão de upload object (s3:PutObject) a todos se a solicitação não incluir o x-amz-server-side-encryption cabeçalho solicitando a criptografia do lado do servidor com -. SSE KMS

{ "Version": "2012-10-17", "Id": "SSEAndSSLPolicy", "Statement": [ { "Sid": "DenyUnEncryptedObjectUploads", "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::codepipeline-us-west-2-89050EXAMPLE/*", "Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption": "aws:kms" } } }, { "Sid": "DenyInsecureConnections", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::codepipeline-us-west-2-89050EXAMPLE/*", "Condition": { "Bool": { "aws:SecureTransport": "false" } } } ] }

Para obter mais informações sobre criptografia do lado do servidor e AWS KMS, consulte Proteção de dados usando criptografia do lado do servidor e Proteção de dados usando criptografia do lado do servidor com chaves armazenadas em (-). KMS AWS Key Management Service SSE KMS

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

Veja o seu Chave gerenciada pela AWS

Quando você usa o assistente Create Pipeline (Criar pipeline) para criar seu primeiro pipeline, um bucket do S3 é criado na mesma região em que criou o pipeline. O bucket é usado para armazenar artefatos do pipeline. Quando um pipeline é executado, os artefatos são colocados e recuperados do bucket do S3. Por padrão, CodePipeline usa criptografia do lado do servidor com o AWS KMS uso do para Amazon Chave gerenciada pela AWS S3 (a chave). aws/s3 Isso Chave gerenciada pela AWS é criado e armazenado em sua AWS conta. Quando os artefatos são recuperados do bucket do S3, CodePipeline usa o mesmo SSE KMS processo para descriptografar o artefato.

Para ver informações sobre seu Chave gerenciada pela AWS
  1. Faça login no AWS Management Console e abra o AWS KMS console.

  2. Se uma página de boas-vindas for exibida, escolha Comece a usar agora.

  3. No painel de navegação do serviço, escolha Chaves gerenciadas pela AWS .

  4. Escolha a região do seu pipeline. Por exemplo, se o pipeline foi criado em us-east-2, verifique se o filtro está definido como Leste dos EUA (Ohio).

    Para obter mais informações sobre as regiões e os endpoints disponíveis CodePipeline, consulte AWS CodePipeline endpoints e cotas.

  5. Na lista de chaves de criptografia, selecione a chave com o alias usado para o pipeline (por padrão, aws/s3). As informações básicas sobre a chave são exibidas.

Configure a criptografia do lado do servidor para buckets S3 usando ou o AWS CloudFormationAWS CLI

Ao usar AWS CloudFormation ou AWS CLI para criar um pipeline, você deve configurar a criptografia do lado do servidor manualmente. Use o exemplo de política de bucket acima e crie sua própria chave gerenciada pelo cliente. Você também pode usar suas próprias chaves em vez da Chave gerenciada pela AWS. Veja a seguir alguns motivos para escolher sua própria chave:

  • Você deseja fazer a rotação das chaves em uma programação para atender aos requisitos comerciais ou de segurança de sua organização.

  • Você deseja criar um pipeline que usa recursos associados a outra conta da AWS . Isso requer o uso de uma chave gerenciada pelo cliente. Para obter mais informações, consulte Crie um pipeline CodePipeline que use recursos de outra AWS conta.

As melhores práticas criptográficas desencorajam a reutilização extensiva de chaves de criptografia. Uma prática recomendada é alternar sua chave em períodos regulares. Para criar um novo material criptográfico para suas AWS KMS chaves, você pode criar uma chave gerenciada pelo cliente e, em seguida, alterar seus aplicativos ou aliases para usar a nova chave gerenciada pelo cliente. Ou é possível habilitar a alternância automática de chaves para uma chave gerenciada pelo cliente existente.

Para alternar sua chave gerenciada pelo cliente, consulte Como alternar chaves.

Importante

CodePipeline suporta apenas KMS teclas simétricas. Não use uma KMS chave assimétrica para criptografar os dados em seu bucket do S3.