Configurar 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:
-
O CodePipeline cria um bucket de artefatos do S3 e a Chave gerenciada pela AWS padrão ao criar um pipeline usando o assistente de criação de pipeline. A Chave gerenciada pela AWS é criptografada com dados de objeto e gerenciada pela AWS.
-
É possível criar e gerenciar sua própria chave gerenciada pelo cliente.
Importante
O CodePipeline só oferece suporte a chaves simétricas do KMS. Não use uma chave assimétrica do KMS para criptografar os dados no 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 no AWS KMS para criptografar ou descriptografar artefatos no bucket do S3, será possível alterar ou alternar essa chave 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 negará permissão de upload de objeto (s3:PutObject) para todos se a solicitação não incluir o cabeçalho x-amz-server-side-encryption que solicita criptografia de servidor com SSE-KMS.
Para obter mais informações sobre a criptografia do lado do servidor e o AWS KMS, consulte Proteção de dados usando a criptografia do lado do servidor e Proteção de dados usando a criptografia do lado do servidor com as chaves do KMS armazenadas no AWS Key Management Service (SSE-KMS).
Consulte mais informações sobre o AWS KMS no Guia do desenvolvedor do AWS Key Management Service.
Tópicos
Exibir 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, o CodePipeline usa a criptografia do lado do servidor com o AWS KMS usando a Chave gerenciada pela AWS para Amazon S3 (a chave aws/s3). Essa Chave gerenciada pela AWS é criada e armazenada na sua conta da AWS. Quando os artefatos são recuperados no bucket do S3, o CodePipeline usa o mesmo processo do SSE-KMS para descriptografar o artefato.
Para visualizar informações sobre sua Chave gerenciada pela AWS
-
Faça login no Console de gerenciamento da AWS e abra o console do AWS KMS.
-
Se uma página de boas-vindas for exibida, escolha Comece a usar agora.
-
No painel de navegação do serviço, escolha Chaves gerenciadas pela AWS.
-
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 para o CodePipeline, consulte Endpoints e cotas do AWS CodePipeline.
-
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.
Configurar a criptografia do lado do servidor para buckets do S3 usando o CloudFormation ou a AWS CLI
Ao criar um pipeline usando o CloudFormation ou a AWS CLI, é necessário configurar manualmente a criptografia de servidor. Use a política de bucket de amostra acima e crie a 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 Criar um pipeline no CodePipeline que usa recursos de outra conta da AWS..
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 chaves do AWS KMS, você pode criar uma chave gerenciada pelo cliente e, em seguida, alterar suas aplicações 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
O CodePipeline só oferece suporte a chaves simétricas do KMS. Não use uma chave assimétrica do KMS para criptografar os dados no bucket do S3.