Criptografia de dados em repouso em AWS IoT Core - AWS IoT Core

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 de dados em repouso em AWS IoT Core

Por padrão, todos os AWS IoT Core dados em repouso são criptografados usando chaves AWS próprias. AWS IoT Coretambém oferece suporte a chaves simétricas gerenciadas pelo cliente a partir de AWS Key Management Service (AWS KMS). Com as chaves gerenciadas pelo cliente, você pode criar, possuir e gerenciar as AWS KMS chaves em sua AWS conta. AWS IoT Coreusará suas chaves KMS para criptografar seus dados em repouso. Você tem controle total sobre essas chaves do KMS, inclusive sobre a criação e a manutenção de suas políticas de chave. Você também pode configurar políticas do IAM para as funções que acessam AWS KMS para controlar as permissões dessas chaves.

AWSchaves de propriedade

AWSchaves próprias são uma coleção de chaves KMS que um AWS serviço possui e gerencia para uso em várias AWS contas. AWSos serviços podem usar chaves AWS próprias para proteger seus dados. Por padrão, AWS IoT Core criptografa dados em repouso usando chaves AWS próprias. Essas chaves são gerenciadas pelo serviço. Você não pode visualizar, gerenciar ou usar chaves AWS próprias. No entanto, não é necessário realizar nenhuma ação para proteger essas chaves.

Para obter mais informações sobre chaves AWS próprias, consulte chaves AWS próprias no Guia do AWS Key Management Service desenvolvedor.

Chaves gerenciadas pelo cliente

As chaves gerenciadas pelo cliente são chaves KMS em sua AWS conta que você cria, possui e gerencia. Você tem controle total sobre essas chaves do AWS KMS, inclusive sobre a criação e a manutenção de suas respectivas políticas. Você também pode configurar políticas do IAM para as funções que acessam AWS KMS para controlar as permissões dessas chaves. Você pode configurar AWS IoT Core para usar chaves KMS gerenciadas pelo cliente para criptografar seus dados.

Para obter mais informações sobre chaves gerenciadas pelo cliente, consulte Chaves gerenciadas pelo cliente no Guia do desenvolvedor do AWS Key Management Service.

Para ativar as chaves gerenciadas pelo clienteAWS IoT Core, siga estas etapas:

Etapa 1: criar uma chave gerenciada pelo cliente

Você pode criar uma chave simétrica gerenciada pelo cliente usando o AWS KMS console ou os comandos da AWS KMS CLI. A keySpec deve ser SYMMETRIC_DEFAULT, e o keyUsage deve ser ENCRYPT_DECRYPT.

nota

AWS IoT Coresó suporta AWS KMS SYMMETRIC_DEFAULT chaves com especificação e uso de ENCRYPT_DECRYPT chaves para chaves gerenciadas pelo cliente.

Veja a seguir um exemplo de AWS CLI comando para criar uma chave KMS que pode ser usada com chaves gerenciadas AWS IoT Core pelo cliente.

aws kms create-key --key-spec SYMMETRIC_DEFAULT --key-usage ENCRYPT_DECRYPT --region us-west-2

O conteúdo a seguir é um exemplo de saída do comando.

{ "KeyMetadata": { "AWSAccountId": "111122223333", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": "2024-09-19T11:45:23.982000-07:00", "Enabled": true, "Description": "", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "Origin": "AWS_KMS", "KeyManager": "CUSTOMER", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "KeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "MultiRegion": false } }

Para acessar mais informações, consulte Criar uma CMK simétrica no Guia do desenvolvedor do AWS Key Management Service.

Política de chave

Quando você cria uma chave gerenciada pelo cliente, pode especificar uma política de chave. As políticas de chaves controlam o acesso à chave gerenciada pelo cliente. Cada chave gerenciada pelo cliente deve ter exatamente uma política de chave, que contém declarações que determinam quem pode usar a chave e como pode usá-la. Para acessar mais informações, consulte Políticas de chave no Guia do desenvolvedor do AWS Key Management Service.

AWS IoT Coreusa uma função do IAM em sua conta para acessar sua chave gerenciada pelo cliente. Se você estiver usando uma política de chave personalizada, verifique se o perfil do IAM criado nessa chave tem as seguintes permissões:

  • kms:DescribeKey

  • kms:Decrypt

  • kms:Encrypt

  • kms:GenerateDataKeyWithoutPlaintext

  • kms:ReEncryptTo

  • kms:ReEncryptFrom

Etapa 2: criar uma função do IAM para conceder AWS IoT Core permissões para usar a chave KMS

AWS IoT CorePara usar a chave KMS que você criou para criptografar seus dados em repouso, você também precisa criar uma função do IAM em sua conta, que AWS IoT Core pode assumir o acesso à chave KMS.

A função deve ter a seguinte política de confiança para AWS IoT Core permitir que você assuma a função.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:iot:us-west-2:111122223333:*" } } } }

Verifique se as políticas do IAM associadas ao perfil do IAM têm as seguintes permissões na chave do KMS:

  • kms:DescribeKey

  • kms:Decrypt

  • kms:Encrypt

  • kms:GenerateDataKeyWithoutPlaintext

  • kms:ReEncryptTo

  • kms:ReEncryptFrom

Confira abaixo um exemplo de política do IAM com as permissões necessárias para as chaves gerenciadas pelo cliente.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIoTToAccessKMSResource", "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:Decrypt", "kms:Encrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": [ "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" ], "Condition": { "StringEquals": { "kms:EncryptionContext:aws-crypto-ec:vendor": "iot.amazonaws.com" } } } ] }

Para acessar mais informações, consulte Criar um perfil para delegar permissões a um usuário do IAM no Guia do usuário do AWS Identity and Access Management.

Etapa 3: ativar as chaves gerenciadas pelo cliente no AWS IoT Core

Depois de concluir todas as etapas anteriores, execute o comando update-encryption-configuration da CLI para usar as chaves gerenciadas pelo cliente no AWS IoT Core. Quando você opta por usar as chaves gerenciadas pelo cliente, todos os AWS IoT Core recursos AWS da sua conta serão criptografados usando a AWS KMS chave especificada.

  1. Para ativar o AWS IoT Core uso de chaves gerenciadas pelo clienteAWS CLI, execute o comando update-encryption-configuration CLI.

    aws iot update-encryption-configuration --encryption-type "CUSTOMER_MANAGED_KMS_KEY" \ --kms-access-role-arn "arn:aws:iam::111122223333:role/myrole" \ --kms-key-arn "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" --region us-west-2
  2. Para verificar se as chaves gerenciadas pelo cliente estão AWS CLI sendo usadas, execute o comando describe-encryption-configuration CLI: AWS IoT Core

    aws iot describe-encryption-configuration --region us-west-2

    Se você ativou as chaves gerenciadas pelo clienteAWS IoT Core, a saída pode ter a seguinte aparência:

    { "encryptionType": "CUSTOMER_MANAGED_KMS_KEY", "kmsKeyArn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "kmsAccessRoleArn": "arn:aws:iam::111122223333:role/myrole", "configurationDetails": { "configurationStatus": "HEALTHY" }, "lastModifiedDate": "2024-09-26T22:01:02.365000-07:00" }

    O campo lastModifiedDate indica a data em que a configuração de criptografia foi atualizada pela última vez.

    Se não tiver habilitado as chaves gerenciadas pelo cliente, a saída poderá ser parecida com o seguinte:

    { "encryptionType": "AWS_OWNED_KMS_KEY", "lastModifiedDate": "2024-09-26T22:01:02.365000-07:00" }

Etapa 4: Permissões adicionais necessárias para operações do plano de AWS IoT Core controle

Depois de optar pelas chaves gerenciadas pelo cliente, todos os AWS IoT Core recursos pertencentes à sua AWS conta são criptografados com a chave KMS fornecida. Todas as operações do plano de controle agora exigem que o chamador tenha kms:Decrypt permissões na chave KMS, além das permissões necessárias para a operação específica no AWS IoT Core recurso. Se o chamador não tiver a permissão kms:Decrypt e fizer uma chamada de API que exija criptografia ou descriptografia de dados (por exemplo, GetPolicy), ele receberá uma UnauthorizedException.

Por exemplo, ao chamar GetPolicy, você precisa das permissões iot:GetPolicy e kms:Decrypt e da chave do KMS gerenciada pelo cliente para que a chamada de API seja bem-sucedida.

nota

Ao atualizar os usuários ou funções do IAM para conceder AWS KMS permissões na chave usada para sua configuração de criptografia, certifique-se de que a política de chaves do KMS também conceda as permissões necessárias aos respectivos usuários ou funções do IAM.

AWS KMSpermissões para UpdateEncryptionConfiguration

A chamada de UpdateEncryptionConfiguration API precisa das seguintes AWS KMS permissões na chave KMS para poder aceitar as chaves gerenciadas pelo cliente ou modificar a configuração da chave:

  • kms:DescribeKey

  • kms:Decrypt

  • kms:Encrypt

  • kms:GenerateDataKeyWithoutPlaintext

  • kms:ReEncryptTo

  • kms:ReEncryptFrom

AWS KMSpermissões para todos os outros planos de controle APIs

A maioria dos planos de controle APIs exige kms:Decrypt permissões quando as chaves gerenciadas pelo cliente estão habilitadas. No entanto, alguns APIs não exigem essas permissões adicionais:

APIs que não exigem AWS KMS permissões

A List* e Delete* APIs não caia nesse balde. Os clientes sempre podem invocar qualquer API List* ou Delete* do ambiente de gerenciamento, e essas chamadas de API seriam bem-sucedidas mesmo que o chamador não tivesse a permissão kms:Decrypt. Essas chamadas de API serão bem-sucedidas mesmo que sua chave gerenciada pelo cliente não esteja íntegra List* e não Delete* APIs faça nenhuma decodificação.

  • Lista* APIs — Todas as operações de listagem (por exemplo,ListThings,ListPolicies,ListCertificates)

  • Excluir* APIs — Todas as operações de exclusão (por exemplo,,,) DeleteThing DeletePolicy DeleteCertificate

Etapa 5: gerenciar as chaves

AWS IoT Coreexecuta verificações periódicas na configuração da chave gerenciada pelo cliente para garantir que as operações de criptografia e descriptografia não sejam afetadas. Essas verificações de saúde são executadas uma vez a cada minuto e verificam a capacidade AWS IoT Core da empresa de acessar e usar a AWS KMS chave e a função do IAM associada para operações de criptografia e descriptografia.

HEALTHY

AWS IoT Corepode acessar com êxito a AWS KMS chave por meio da função do IAM especificada e realizar encryption/decryption operações. Todos os componentes funcionam corretamente.

UNHEALTHY

AWS IoT Corenão consigo acessar ou usar a AWS KMS chave. Isso evita novas operações de criptografia e pode afetar a funcionalidade do serviço. O campo errorCode indica se o problema está na chave ou no perfil do IAM.

Ações do cliente que podem afetar a integridade da chave

Várias ações do cliente podem fazer com que o status de integridade da chave mude de HEALTHY para UNHEALTHY:

Ações relacionadas a chaves
  • Excluindo uma AWS KMS chave — Quando você agenda a exclusão de uma chave, ela está em um Pending deletion status e não pode ser usada

  • Desabilitar uma AWS KMS chave — Quando você desativa uma chave KMS, ela não pode mais ser usada para operações de criptografar/descriptografar

  • Agendar a exclusão de uma chave: a chave se torna inutilizável quando a exclusão é concluída.

  • Modificando a política de chaves — Removendo as permissões necessárias para AWS IoT Core acesso

  • Alterando as permissões de uso das chaves — Restringindo as ações necessárias AWS KMS

Ações relacionadas ao perfil do IAM
  • Excluindo a função do IAM — não AWS IoT Core consigo assumir a função de acessar a chave

  • Modificando as permissões da função — Removendo AWS KMS as permissões necessárias da política da função

  • Mudando a política de confiança — impedindo que o AWS IoT Core serviço assuma a função

  • Adicionar condições restritivas — Condições que AWS IoT Core impedem o uso da função

Ações em nível de conta
  • Alterações de acesso das chaves entre contas: modificar permissões para chaves em contas diferentes.

  • Políticas de controle de serviços (SCPs) — políticas em nível organizacional que restringem o acesso AWS KMS

  • Políticas do IAM em nível de conta: políticas que substituem ou entram em conflito com o acesso da chave.

Importante

Qualquer alteração nas AWS KMS chaves, funções do IAM ou políticas usadas pelo AWS IoT Core deve ser testada primeiro em ambientes de desenvolvimento. Monitore o status de integridade da chave de perto após fazer qualquer alteração para garantir que a AWS IoT Core funcionalidade não seja afetada.

Atualizar a configuração de criptografia

Atualize sua configuração de criptografia AWS IoT Core para mudar de uma chave gerenciada pelo cliente para outra, ou entre chaves AWS próprias e chaves gerenciadas pelo cliente.

Para alterar a configuração para uma chave gerenciada pelo cliente:

  1. Crie uma chave gerenciada pelo cliente seguindo as etapas em Etapa 1: criar uma chave gerenciada pelo cliente.

  2. Atualize sua política de perfil do IAM para incluir permissões para as chaves antigas e novas durante o período de atualização.

  3. Atualize sua configuração de criptografia para usar a nova chave:

    aws iot update-encryption-configuration --encryption-type "CUSTOMER_MANAGED_KMS_KEY" \ --kms-access-role-arn "arn:aws:iam::111122223333:role/myrole" \ --kms-key-arn "arn:aws:kms:us-west-2:111122223333:key/new-key-id"

Para alterar a configuração das chaves gerenciadas pelo cliente para as chaves AWS próprias:

aws iot update-encryption-configuration --encryption-type "AWS_OWNED_KMS_KEY"
nota

Ao atualizar a configuração de criptografia para novas chaves gerenciadas pelo cliente, garanta que as chaves antigas e novas permaneçam acessíveis para que a operação seja bem-sucedida.

Cenários e impactos comuns de falhas

A seguinte tabela descreve cenários de falha comuns quando as chaves são excluídas ou desativadas:

Cenário Impacto imediato Consequências no longo prazo

Chave desabilitada

Todas as novas encryption/decryption operações falham imediatamente

Interrupção do serviço até que a chave seja reabilitada ou substituída.

Chave agendada para exclusão

O status da chave é alterado para exclusão pendente e todas as encryption/decryption operações falharão

Falha automática do serviço quando a exclusão é concluída.

Chave excluída permanentemente.

Falha imediata e permanente de todas as operações.

Perda permanente de dados e incapacidade de recuperar dados criptografados.

Política de chave modificada incorretamente.

AWS IoT Coreperde as permissões de acesso à chave

Falhas no serviço até que a política seja corrigida.

Perfil do IAM excluído.

AWS IoT Corenão pode assumir a função de acessar a chave

Falha total no serviço de criptografia.

O perfil do IAM foi modificado incorretamente.

AWS IoT Corenão pode assumir a função ou usar a função para acessar a chave

Falhas no serviço até que o perfil do IAM seja corrigido.

Prevenção e práticas recomendadas

Para evitar a exclusão ou desativação acidental da chave e minimizar o risco de falhas no serviço:

Implementar políticas de ciclo de vida de chaves

Estabeleça procedimentos claros para criação, alternância e retirada de chaves. Documente quais chaves são usadas por quais AWS IoT Core recursos e mantenha um inventário das chaves ativas.

Usar as políticas do IAM para restringir a exclusão de chaves

Crie políticas do IAM que evitem que usuários não autorizados excluam ou desabilitem chaves críticas de criptografia. Use condições para exigir aprovação adicional para operações de exclusão de chaves.

Ativar CloudTrail registro

Monitore todas as AWS KMS principais operações CloudTrail para detectar atividades de gerenciamento de chaves não autorizadas ou acidentais. Configure alertas para exclusão e desativação de chaves ou alterações na política.

Procedimentos de substituição de chaves de teste

Teste regularmente seus procedimentos de substituição de chaves em ambientes que não sejam de produção a fim de garantir que você possa se recuperar rapidamente de falhas relacionadas a chaves.

Manter backups de chaves

Embora você não possa exportar material de AWS KMS chaves, mantenha registros detalhados das chaves ARNs, das políticas e das AWS IoT Core configurações associadas para facilitar a substituição rápida das chaves, se necessário.

Monitorar a integridade das chaves

Monitore continuamente a métrica CMK.Health e configure alertas automatizados para alterações no status de integridade das chaves. Implemente respostas automatizadas para resolver rapidamente problemas relacionados a chaves.

Importante

Sempre teste os procedimentos de atualização de chaves em ambientes de desenvolvimento antes de implementá-los na produção. Tenha um plano de reversão documentado e garanta que os procedimentos de substituição de chaves possam ser executados rapidamente em caso de emergências.

Etapa 6: monitorar a integridade das chaves

Como parte das verificações AWS IoT Core periódicas, CloudWatch métricas e registros são emitidos para fornecer visibilidade sobre o status de integridade da configuração da chave gerenciada pelo cliente.

AWS IoT Coreemite a CMK.Health métrica pelo CloudWatch menos uma vez a cada minuto. A métrica fornece informações sobre o status de integridade das chaves gerenciadas pelo cliente usadas AWS IoT Core para criptografar e descriptografar seus dados.

A métrica CMK.Health pode ter os seguintes valores:

  • O valor é1: AWS IoT Core é capaz de usar as chaves de criptografia com sucesso para criptografar e descriptografar seus dados.

  • O valor AWS IoT Core é0: não consegue usar as chaves de criptografia para criptografar e descriptografar seus dados.

AWS IoT Coretambém emite registros AWS IoT V2 quando o status de integridade das chaves de criptografia muda. Esses logs fornecem detalhes adicionais sobre a atualização do status de integridade. Para visualizar esses registros, você deve habilitar os registros AWS IoT V2. Os logs de HEALTHY são emitidos em nível de INFO, e os logs de UNHEALTHY são emitidos em nível de ERROR. Para acessar mais informações sobre níveis de log, consulte Níveis de log.

Os exemplos a seguir são entradas de CloudWatch registro emitidas por AWS IoT Core para indicar a atualização do status de saúde das chaves gerenciadas pelo cliente.

Para monitorar e responder de forma eficaz a mudanças no status de integridade das chaves:

  1. Configure CloudWatch alarmes para a CMK.Health métrica:

    aws cloudwatch put-metric-alarm --region us-west-2 \ --alarm-name "IoTCore-CMK-Health-Alert" \ --alarm-description "Alert when IoT Core CMK health is unhealthy" \ --metric-name "CMK.Health" \ --namespace "AWS/IoT" \ --statistic "Minimum" \ --period 300 \ --evaluation-periods 1 \ --threshold 1 \ --comparison-operator "LessThanThreshold" \ --alarm-actions "arn:aws:sns:us-west-2:111122223333:iot-alerts"
  2. Ative o registro AWS IoT V2 para capturar eventos detalhados de alteração do status de saúde com códigos e mensagens de erro.

  3. Confira o status da configuração para solucionar problemas:

    aws iot describe-encryption-configuration --region us-west-2
  4. Investigue o status UNHEALTHY examinando o campo errorCode:

    • KMS_KEY_VALIDATION_ERROR— Problema com a AWS KMS chave (desativado, excluído ou problemas de política)

    • ROLE_VALIDATION_ERROR: problema com o perfil do IAM (excluído, problemas de política ou problemas de confiança).

De UNHEALTHY para HEALTHY

Quando o status das chaves de criptografia for atualizado de UNHEALTHY paraHEALTHY, AWS IoT Core emitirá uma mensagem de log AWS IoT V2 no seguinte formato.

{ "timestamp": "2017-08-10 15:37:23.476", "logLevel": "INFO", "traceId": "8421693b-f4f0-4e4a-9235-0cff8bab897d", "accountId": "111122223333", "status": "SUCCESS", "cmkStatus": "HEALTHY", "kmsKeyArn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "kmsAccessRoleArn": "arn:aws:iam::111122223333:role/myrole", "eventType": "CmkHealthCheck" }

De HEALTHY para UNHEALTHY

Quando o status das chaves de criptografia for atualizado de HEALTHY paraUNHEALTHY, AWS IoT Core emitirá uma mensagem de log AWS IoT V2 no seguinte formato.

{ "timestamp": "2017-08-10 15:37:23.476", "logLevel": "ERROR", "traceId": "8421693b-f4f0-4e4a-9235-0cff8bab897d", "accountId": "111122223333", "status": "FAILURE", "cmkStatus": "UNHEALTHY", "errorCode": "KMS_KEY_VALIDATION_ERROR / ROLE_VALIDATION_ERROR", "errorMessage": "Error message on why there was a failure", "kmsKeyArn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "kmsAccessRoleArn": "arn:aws:iam::111122223333:role/myrole", "eventType": "CmkHealthCheck" }
Atenção

Quando a integridade é fundamentalUNHEALTHY, AWS IoT Core as operações falham imediatamente. Se isso ocorrer, revise as configurações das chaves, as permissões do perfil do IAM e as políticas. Monitore a métrica CMK.Health em busca de mudanças de status. Se as operações continuarem falhando após revisar suas configurações, entre em contato com o gerente de conta ou com o AWS Support Center para receber assistência adicional.

AWS CloudTraileventos

Você também pode monitorar AWS IoT Core o uso da chave KMS para operações de criptografia e descriptografia. AWS IoT CorefaráDescribeKey,, DecryptReEncrypt, e GenerateDataKeyWithoutPlaintext operações em sua chave KMS para criptografar/descriptografar dados pertencentes à sua AWS conta armazenados em repouso.

Existem CloudTrail eventos para DescribeKeyDecrypt,ReEncrypt, GenerateDataKeyWithoutPlaintext e. Esses eventos monitoram AWS KMS as operações chamadas por AWS IoT Core para acessar dados criptografados pela chave gerenciada pelo cliente.

Exemplo de Decrypt
{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "*********************", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "*****" }, "attributes": { "creationDate": "2024-09-16T20:23:39Z", "mfaAuthenticated": "false" } }, "invokedBy": "iot.amazonaws.com" }, "eventTime": "2024-09-16T20:32:48Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "iot.amazonaws.com", "userAgent": "iot.amazonaws.com", "requestParameters": { "encryptionContext": { "kms-arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "aws-crypto-ec:vendor": "iot.amazonaws.com", "branch-key-id": "111122223333", "type": "branch:ACTIVE" }, "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, "responseElements": null, "requestID": "1afb6d98-8388-455d-8b48-e62c9e0cf7f4", "eventID": "b59a5f16-0d98-46d8-a590-0e040a48b39b", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }