Criptografia em repouso - EventBridge Agendador

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

Criptografia em repouso

Esta seção descreve como o Amazon EventBridge Scheduler criptografa e descriptografa seus dados em repouso. Os dados em repouso são dados armazenados no EventBridge Scheduler e nos componentes subjacentes do serviço. EventBridge O Scheduler se integra com AWS Key Management Service (AWS KMS) para criptografar e descriptografar seus dados usando um. AWS KMS key EventBridge O Scheduler oferece suporte a dois tipos de chaves KMS: Chaves pertencentes à AWSe chaves gerenciadas pelo cliente.

nota

EventBridge O Scheduler só suporta o uso de chaves KMS de criptografia simétrica.

Chaves pertencentes à AWSsão chaves KMS que um AWS serviço possui e gerencia para uso em várias AWS contas. Embora os usos do Chaves pertencentes à AWS EventBridge Agendador não estejam armazenados em sua AWS conta, o EventBridge Agendador os usa para proteger seus dados e recursos. Por padrão, o EventBridge Scheduler criptografa e descriptografa todos os seus dados usando uma chave própria. AWS Você não precisa gerenciar sua Chave pertencente à AWS ou a política de acesso dela. Você não incorre em nenhuma taxa quando o EventBridge Scheduler usa Chaves pertencentes à AWS para proteger seus dados, e o uso deles não conta como parte de suas AWS KMS cotas em sua conta.

As chaves gerenciadas pelo cliente são chaves KMS armazenadas em sua AWS conta que você cria, possui e gerencia. Se seu caso de uso específico exigir que você controle e audite as chaves de criptografia que protegem seus dados no EventBridge Scheduler, você pode usar uma chave gerenciada pelo cliente. Se você escolher uma chave gerenciada pelo cliente, será necessário gerenciar sua política de chave. Chaves gerenciadas pelo cliente geram uma taxa mensal e uma taxa para uso que excede o nível gratuito. Usar uma chave gerenciada pelo cliente também conta como parte da sua cota do AWS KMS. Para obter mais informações sobre a definição de preço, consulte Definição de preço do AWS Key Management Service.

Artefatos de criptografia

A tabela a seguir descreve os diferentes tipos de dados que o EventBridge Scheduler criptografa em repouso e que tipo de chave KMS ele suporta para cada categoria.

Tipo de dados Descrição Chave pertencente à AWS chave gerenciada pelo cliente

Carga útil (até 256 KB)

Os dados que você especifica no parâmetro TargetInput do agendamento ao configurar o agendamento para ser entregue ao destino.

Compatível

Compatível

Identificador e estado

O nome exclusivo e o estado (ativar, desativar) da agenda.

Compatível

Sem compatibilidade

Configuração de agendamento.

A expressão de agendamento, como a expressão cron ou rate para agendamentos recorrentes, e o carimbo de data/hora para invocações únicas, bem como a data de início, a data de término e o fuso horário do agendamento.

Compatível

Sem compatibilidade

Configurações de destino

O nome do recurso da Amazon (ARN) e outros detalhes de configuração relacionados ao destino.

Compatível

Sem compatibilidade

Configuração de invocação e comportamento de falha

Configuração de janela de tempo flexível, a política de repetição do agendamento e os detalhes da fila de mensagens não entregues usados para entregas malsucedidas.

Compatível

Sem compatibilidade

EventBridge O Scheduler usa suas chaves gerenciadas pelo cliente somente ao criptografar e descriptografar a carga de destino, conforme descrito na tabela anterior. Se você optar por usar uma chave gerenciada pelo cliente, o EventBridge Scheduler criptografará e descriptografará a carga duas vezes: uma usando o padrão Chave pertencente à AWS e outra usando a chave gerenciada pelo cliente que você especificar. Para todos os outros tipos de dados, o EventBridge Scheduler usa apenas o padrão Chave pertencente à AWS para proteger seus dados em repouso.

Use a Gerenciando chaves KMS seção a seguir para saber como você deve gerenciar seus recursos e políticas de chaves do IAM para usar uma chave gerenciada pelo cliente com o EventBridge Scheduler.

Gerenciando chaves KMS

Opcionalmente, você pode fornecer uma chave gerenciada pelo cliente para criptografar e descriptografar a carga útil que sua agenda entrega ao destino. EventBridge O Scheduler criptografa e descriptografa sua carga útil de até 256 KB de dados. Utilizar uma chave gerenciada pelo cliente gera uma taxa mensal e uma taxa que excede o nível gratuito. Usar uma chave gerenciada pelo cliente conta como parte da sua cota do AWS KMS. Para obter mais informações sobre a definição de preço, consulte Definição de preço do AWS Key Management Service.

EventBridge O Scheduler usa permissões do IAM associadas ao principal que cria um cronograma para criptografar seus dados. Isso significa que você deve anexar as permissões AWS KMS relacionadas necessárias ao usuário ou função que chama a API EventBridge Scheduler. Além disso, o EventBridge Scheduler usa políticas baseadas em recursos para descriptografar seus dados. Isso significa que a função de execução associada à sua agenda também deve ter as permissões AWS KMS relacionadas necessárias para chamar a AWS KMS API ao descriptografar dados.

nota

EventBridge O Scheduler não suporta o uso de concessões para permissões temporárias.

Use a seção a seguir para saber como você pode gerenciar sua política de AWS KMS chaves e as permissões necessárias do IAM para usar uma chave gerenciada pelo cliente no EventBridge Scheduler.

Adicionar permissões do IAM

Para usar uma chave gerenciada pelo cliente, você deve adicionar as seguintes permissões à entidade principal do IAM baseado em identidade que cria um agendamento, bem como à função de execução que você associa ao agendamento:

Permissões baseadas em identidade para chaves gerenciadas pelo cliente

Você deve adicionar as seguintes AWS KMS ações à política de permissão associada a qualquer principal (usuários, grupos ou funções) que chame a API EventBridge Scheduler ao criar um agendamento.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "scheduler:*", # Required to pass the execution role "iam:PassRole", "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Effect": "Allow" }, ] }
  • kms:DescribeKey: necessário para validar se a chave fornecida é uma chave do KMS de criptografia simétrica.

  • kms:GenerateDataKey— Necessário para gerar a chave de dados que o EventBridge Scheduler usa para realizar a criptografia do lado do cliente.

  • kms:Decrypt— É necessário descriptografar a chave de dados criptografada que o EventBridge Scheduler armazena junto com seus dados criptografados.

Permissões da função de execução para chaves gerenciadas pelo cliente

Você deve adicionar a ação a seguir à política de permissões da função de execução do seu cronograma para fornecer acesso ao EventBridge Scheduler para chamar a AWS KMS API ao descriptografar seus dados.

{ "Version": "2012-10-17", "Statement" : [ { "Sid" : "Allow EventBridge Scheduler to decrypt data using a customer managed key", "Effect" : "Allow", "Action" : [ "kms:Decrypt" ], "Resource": "arn:aws:kms:your-region:123456789012:key/your-key-id" } ] }
  • kms:Decrypt— É necessário descriptografar a chave de dados criptografada que o EventBridge Scheduler armazena junto com seus dados criptografados.

Se você usar o console do EventBridge Scheduler para criar uma nova função de execução ao criar um novo EventBridge agendamento, o Scheduler anexará automaticamente a permissão necessária à sua função de execução. No entanto, se você escolher uma função de execução existente, deverá adicionar as permissões necessárias à função para poder usar suas chaves gerenciadas pelo cliente.

Gerenciar a política de chave

Quando você cria uma chave gerenciada pelo cliente usando AWS KMS, por padrão, sua chave tem a seguinte política de chaves para fornecer acesso às funções de execução de seus cronogramas.

{ "Id": "key-policy-1", "Version": "2012-10-17", "Statement": [ { "Sid": "Provide required IAM Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": "kms:*", "Resource": "*" } ] }

Opcionalmente, você pode limitar o escopo da sua política de chave para fornecer acesso somente à função de execução. Você pode fazer isso se quiser usar sua chave gerenciada pelo cliente somente com os recursos do EventBridge Scheduler. Use o exemplo de política de chaves a seguir para limitar quais recursos do EventBridge Scheduler podem usar sua chave.

{ "Id": "key-policy-2", "Version": "2012-10-17", "Statement": [ { "Sid": "Provide required IAM Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::695325144837:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/schedule-execution-role" }, "Action": [ "kms:Decrypt" ], "Resource": "*" } ] }

CloudTrail exemplo de evento

AWS CloudTrail captura todos os eventos de chamadas de API. Isso inclui chamadas de API sempre que o EventBridge Scheduler usa sua chave gerenciada pelo cliente para descriptografar seus dados. O exemplo a seguir mostra uma entrada de CloudTrail evento que demonstra o EventBridge Scheduler usando a kms:Decrypt ação usando uma chave gerenciada pelo cliente.

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "ABCDEABCD1AB12ABABAB0:70abcd123a123a12345a1aa12aa1bc12", "arn": "arn:aws:sts::123456789012:assumed-role/execution-role/70abcd123a123a12345a1aa12aa1bc12", "accountId": "123456789012", "accessKeyId": "ABCDEFGHI1JKLMNOP2Q3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "ABCDEABCD1AB12ABABAB0", "arn": "arn:aws:iam::123456789012:role/execution-role", "accountId": "123456789012", "userName": "execution-role" }, "webIdFederationData": {}, "attributes": { "creationDate": "2022-10-31T21:03:15Z", "mfaAuthenticated": "false" } } }, "eventTime": "2022-10-31T21:03:15Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "eu-north-1", "sourceIPAddress": "13.50.87.173", "userAgent": "aws-sdk-java/2.17.295 Linux/4.14.291-218.527.amzn2.x86_64 OpenJDK_64-Bit_Server_VM/11.0.17+9-LTS Java/11.0.17 kotlin/1.3.72-release-468 (1.3.72) vendor/Amazon.com_Inc. md/internal exec-env/AWS_ECS_FARGATE io/sync http/Apache cfg/retry-mode/standard AwsCrypto/2.4.0", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:123456789012:key/2321abab-2110-12ab-a123-a2b34c5abc67", "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "encryptionContext": { "aws:scheduler:schedule:arn": "arn:aws:scheduler:us-west-2:123456789012:schedule/default/execution-role" } }, "responseElements": null, "requestID": "request-id", "eventID": "event-id", "readOnly": true, "resources": [ { "accountId": "123456789012", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:123456789012:key/2321abab-2110-12ab-a123-a2b34c5abc67" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management", "tlsDetails": { "tlsVersion": "TLSv1.3", "cipherSuite": "TLS_AES_256_GCM_SHA384", "clientProvidedHostHeader": "kms.us-west-2.amazonaws.com" } }