O Amazon S3 Specific One Zone agora oferece suporte ao AWS KMS com chaves gerenciadas pelo cliente


O Amazon S3 Specific One Zone agora oferece suporte ao AWS KMS com chaves gerenciadas pelo cliente

Amazon S3 Specific Uma Zonauma Zona de Disponibilidade (AZ) única e de alto desempenho Armazenamento S3 classe, agora suporta criptografia do lado do servidor com Serviço de gerenciamento de chaves da AWS (KMS) chaves (SSE-KMS). O S3 Specific One Zone já criptografa todos os objetos armazenados em Buckets de diretório S3 com Chaves gerenciadas pelo Amazon S3 (SSE-S3) por padrão. A partir de hoje, você pode usar Chaves gerenciadas pelo cliente do AWS KMS para criptografar dados em repouso, sem impacto no desempenho. Esse novo recurso de criptografia oferece uma opção adicional para atender aos requisitos de conformidade e regulatórios ao usar o S3 Specific One Zone, que foi projetado para fornecer acesso consistente a dados de milissegundos de um dígito para seus dados acessados ​​com mais frequência e aplicativos sensíveis à latência.

Os buckets de diretório S3 permitem que você especifique apenas uma chave gerenciada pelo cliente por bucket para criptografia SSE-KMS. Depois que a chave gerenciada pelo cliente for adicionada, você não poderá editá-la para usar uma nova chave. Por outro lado, com os buckets de uso geral S3, você pode usar várias chaves KMS alterando a configuração de criptografia padrão do bucket ou durante as solicitações S3 PUT. Ao usar SSE-KMS com S3 Specific One Zone, Chaves de balde S3 estão sempre habilitados. As S3 Bucket Keys são gratuitas e reduzem o número de solicitações ao AWS KMS em até 99%, otimizando o desempenho e os custos.

Usando SSE-KMS com Amazon S3 Specific One Zone
Para mostrar esse novo recurso em ação, primeiro crio um bucket de diretório S3 no Console Amazon S3 seguindo os passos para crie um bucket de diretório S3 e usar apne1-az4 como o Zona de disponibilidade. Em Nome baseeu entro s3express-kms e um sufixo que inclui o ID da Zona de Disponibilidade que é adicionado automaticamente para criar o nome closing. Então, eu seleciono a caixa de seleção para reconhecer que Os dados são armazenados em uma única Zona de Disponibilidade.

No Criptografia padrão seção, eu escolho Criptografia do lado do servidor com chaves do AWS Key Administration Service (SSE-KMS). Sob Chave AWS KMS Eu posso Escolha entre suas chaves AWS KMS, Insira o ARN da chave AWS KMS, ou Criar uma chave KMS. Para este exemplo, criei anteriormente uma chave AWS KMS, que selecionei na lista e, em seguida, escolhi Criar balde.

Agora, qualquer novo objeto que eu carregar neste bucket de diretório S3 será criptografado automaticamente usando minha chave AWS KMS.

SSE-KMS com Amazon S3 Specific One Zone em ação
Para usar o SSE-KMS com o S3 Specific One Zone por meio do Interface de linha de comando da AWS (AWS CLI)você precisa de um Usuário do AWS Identification and Entry Administration (IAM) ou papel com o seguinte política . Esta política permite que o API CreateSession operação, que é necessária para carregar e baixar com sucesso arquivos criptografados de e para seu bucket de diretório S3.

{
	"Model": "2012-10-17",
	"Assertion": (
		{
			"Impact": "Enable",
			"Motion": (
				"s3express:CreateSession"
			),
			"Useful resource": (
				"arn:aws:s3express:*::bucket/s3express-kms--apne1-az4--x-s3"
			)
		},
		{
			"Impact": "Enable",
			"Motion": (
				"kms:Decrypt",
				"kms:GenerateDataKey"
			),
			"Useful resource": (
				"arn:aws:kms:*::key/"
			)
		}
	)
}

Com o ColocarObjeto comando, eu carrego um novo arquivo chamado confidential-doc.txt para meu bucket de diretório S3.

aws s3api put-object --bucket s3express-kms--apne1-az4--x-s3 
--key confidential-doc.txt 
--body confidential-doc.txt

Como sucesso do comando anterior, recebo a seguinte saída:

{
    "ETag": ""664469eeb92c4218bbdcf92ca559d03b"",
    "ChecksumCRC32": "0duteA==",
    "ServerSideEncryption": "aws:kms",
    "SSEKMSKeyId": "arn:aws:kms:ap-northeast-1::key/",
    "BucketKeyEnabled": true
}

Verificando as propriedades do objeto com CabeçaObjeto comando, vejo que ele está criptografado usando SSE-KMS com a chave que criei antes:

aws s3api head-object --bucket s3express-kms--apne1-az4--x-s3 
--key confidential-doc.txt

Recebo a seguinte saída:

 
{
    "AcceptRanges": "bytes",
    "LastModified": "2024-08-21T15:29:22+00:00",
    "ContentLength": 5,
    "ETag": ""664469eeb92c4218bbdcf92ca559d03b"",
    "ContentType": "binary/octet-stream",
    "ServerSideEncryption": "aws:kms",
    "Metadata": {},
    "SSEKMSKeyId": "arn:aws:kms:ap-northeast-1::key/",
    "BucketKeyEnabled": true,
    "StorageClass": "EXPRESS_ONEZONE"
}

Eu baixo o objeto criptografado com ObterObjeto:

aws s3api get-object --bucket s3express-kms--apne1-az4--x-s3 
--key confidential-doc.txt output-confidential-doc.txt

Como minha sessão tem as permissões necessárias, o objeto é baixado e descriptografado automaticamente.

{
    "AcceptRanges": "bytes",
    "LastModified": "2024-08-21T15:29:22+00:00",
    "ContentLength": 5,
    "ETag": ""664469eeb92c4218bbdcf92ca559d03b"",
    "ContentType": "binary/octet-stream",
    "ServerSideEncryption": "aws:kms",
    "Metadata": {},
    "SSEKMSKeyId": "arn:aws:kms:ap-northeast-1::key/",
    "BucketKeyEnabled": true,
    "StorageClass": "EXPRESS_ONEZONE"
}

Para este segundo teste, eu uso um usuário IAM diferente com uma política que não recebeu as permissões de chave KMS necessárias para baixar o objeto. Esta tentativa falha com um Acesso negado erro, demonstrando que a criptografia SSE-KMS está funcionando conforme o esperado.

An error occurred (AccessDenied) when calling the CreateSession operation: Entry Denied

Esta demonstração mostra como o SSE-KMS funciona perfeitamente com o S3 Specific One Zone, fornecendo uma camada adicional de segurança e mantendo a facilidade de uso para usuários autorizados.

Coisas a saber
Começando – Você pode habilitar o SSE-KMS para o S3 Specific One Zone usando o console do Amazon S3, o AWS CLI ou SDKs da AWS. Defina a configuração de criptografia padrão do seu bucket de diretório S3 como SSE-KMS e especifique sua chave AWS KMS. Lembre-se, você só pode usar uma chave gerenciada pelo cliente por bucket de diretório S3 durante sua vida útil.

Regiões – O suporte do S3 Specific One Zone para SSE-KMS usando chaves gerenciadas pelo cliente está disponível em todos Regiões da AWS onde o S3 Specific One Zone está disponível atualmente.

Desempenho – Usar o SSE-KMS com o S3 Specific One Zone não impacta a latência da solicitação. Você continuará a experimentar o mesmo acesso de dados de um dígito em milissegundos.

Preços – Você paga as taxas do AWS KMS para gerar e recuperar chaves de dados usadas para criptografia e descriptografia. Visite o Página de preços do AWS KMS para mais detalhes. Além disso, ao usar o SSE-KMS com o S3 Specific One Zone, as chaves de bucket do S3 são habilitadas por padrão para todas as operações do plano de dados, exceto para CopiarObjeto e CarregarParteCópiae não pode ser desabilitado. Isso reduz o número de solicitações ao AWS KMS em até 99%, otimizando tanto o desempenho quanto os custos.

Integração com AWS CloudTrail – Você pode auditar ações do SSE-KMS em objetos do S3 Specific One Zone usando AWS CloudTrail. Saiba mais sobre isso em meu put up anterior no weblog.

Eli.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *