Criptografia em repouso - Amazon Inspector

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

O Amazon Inspector armazena com segurança seus dados em repouso usando soluções de AWS criptografia por padrão. O Amazon Inspector criptografa dados, como inventário de recursos coletados usando o AWS Systems Manager, inventário de recursos analisado a partir de imagens do Amazon ECR e descobertas de segurança geradas, usando chaves de criptografia AWS próprias do AWS Key Management Service (). AWS KMS Você não pode visualizar, gerenciar ou usar chaves AWS próprias nem auditar seu uso. No entanto, você não precisa realizar nenhuma ação ou alterar nenhum programa para proteger as chaves que criptografam seus dados. Para obter mais informações, consulte chaves AWS próprias.

Se você desativar o Amazon Inspector, ele excluirá permanentemente todos os recursos que ele armazena ou mantém para você, como inventário coletado e descobertas de segurança.

Criptografia em repouso para incluir código em suas descobertas

Para a digitalização de código Lambda do Amazon Inspector, o Amazon Inspector faz parceria CodeGuru para escanear seu código em busca de vulnerabilidades. Quando uma vulnerabilidade é detectada, CodeGuru extrai um trecho do seu código contendo a vulnerabilidade e armazena esse código até que o Amazon Inspector solicite acesso. Por padrão, CodeGuru usa uma chave AWS própria para criptografar o código extraído, no entanto, você pode configurar o Amazon Inspector para usar sua própria chave AWS KMS gerenciada pelo cliente para criptografia.

O fluxo de trabalho a seguir explica como o Amazon Inspector usa a chave que você configura para criptografar seu código:

  1. Você fornece uma AWS KMS chave para o Amazon Inspector usando a API do Amazon UpdateEncryptionKeyInspector.

  2. O Amazon Inspector encaminha as informações sobre sua AWS KMS chave para. CodeGuru CodeGuru armazena as informações para uso futuro.

  3. CodeGuru solicita uma concessão AWS KMS para a chave que você configurou no Amazon Inspector.

  4. CodeGuru cria uma chave de dados criptografada a partir da sua AWS KMS chave e a armazena. Essa chave de dados é usada para criptografar seus dados de código armazenados pelo CodeGuru.

  5. Sempre que o Amazon Inspector solicita dados de escaneamentos de código, CodeGuru usa a concessão para descriptografar a chave de dados criptografada e, em seguida, usa essa chave para descriptografar os dados para que possam ser recuperados.

Quando você desativa a digitalização de código Lambda, CodeGuru retira a concessão e exclui a chave de dados associada.

Permissões para criptografia de código com uma chave gerenciada pelo cliente

Para usar a criptografia, você precisa ter uma política que permita o acesso às AWS KMS ações, bem como uma declaração que conceda ao Amazon Inspector e CodeGuru permissões para usar essas ações por meio de chaves de condição.

Se você estiver configurando, atualizando ou redefinindo a chave de criptografia da sua conta, você precisará usar uma política de administrador do Amazon Inspector, como. Política gerenciada da AWS: AmazonInspector2FullAccess Você também precisará conceder as seguintes permissões aos usuários somente para leitura que precisam recuperar trechos de código de descobertas ou dados sobre a chave escolhida para criptografia.

Para o KMS, a política deve permitir que você execute as seguintes ações:

  • kms:CreateGrant

  • kms:Decrypt

  • kms:DescribeKey

  • kms:GenerateDataKeyWithoutPlainText

  • kms:Encrypt

  • kms:RetireGrant

Depois de verificar se você tem as AWS KMS permissões corretas em sua política, você deve anexar uma declaração que permita que o Amazon Inspector use sua chave para criptografia. CodeGuru Anexe a seguinte declaração de política:

nota

Substitua a região pela AWS região na qual você habilitou a digitalização de código do Amazon Inspector Lambda.

{ "Sid": "allow CodeGuru Security to request a grant for a AWS KMS key", "Effect": "Allow", "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "kms:GrantOperations": [ "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "Encrypt", "Decrypt", "RetireGrant", "DescribeKey" ] }, "StringEquals": { "kms:ViaService": [ "codeguru-security.Region.amazonaws.com" ] } } }, { "Sid": "allow Amazon Inspector and CodeGuru Security to use your AWS KMS key", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:RetireGrant", "kms:DescribeKey", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "inspector2.Region.amazonaws.com", "codeguru-security.Region.amazonaws.com" ] } } }
nota

Ao adicionar a declaração, verifique se a sintaxe é válida. As políticas usam o formato JSON. Isso significa que você precisa adicionar uma vírgula antes ou depois da declaração, dependendo de onde você adiciona a declaração à política. Se você adicionar a declaração como a última declaração, adicione uma vírgula após a chave de fechamento da instrução anterior. Se você adicioná-la como a primeira declaração ou entre duas declarações existentes, adicione uma vírgula após a chave de fechamento da instrução.

Configurando a criptografia com uma chave gerenciada pelo cliente

Para configurar a criptografia para sua conta usando uma chave gerenciada pelo cliente, você deve ser um administrador do Amazon Inspector com as permissões descritas em. Permissões para criptografia de código com uma chave gerenciada pelo cliente Além disso, você precisará de uma AWS KMS chave na mesma AWS região de suas descobertas ou de uma chave multirregional. Você pode usar uma chave simétrica existente em sua conta ou criar uma chave simétrica gerenciada pelo cliente usando o AWS Management Console ou as AWS KMS APIs. Para obter mais informações, consulte Criação de AWS KMS chaves de criptografia simétricas no guia do AWS KMS usuário.

Usando a API do Amazon Inspector para configurar a criptografia

Para definir uma chave para criptografia, a UpdateEncryptionKeyoperação da API do Amazon Inspector enquanto estiver conectado como administrador do Amazon Inspector. Na solicitação da API, use o kmsKeyId campo para especificar o ARN da AWS KMS chave que você deseja usar. Para scanType entrar CODE e para resourceType entrarAWS_LAMBDA_FUNCTION.

Você pode usar a UpdateEncryptionKeyAPI para verificar qual AWS KMS chave o Amazon Inspector está usando para criptografia.

nota

Se você tentar GetEncryptionKey usar sem definir uma chave gerenciada pelo cliente, a operação retornará um ResourceNotFoundException erro, o que significa que uma AWS chave própria está sendo usada para criptografia.

Se você excluir ou alterar a chave ou alterar sua política para negar acesso ao Amazon Inspector ou CodeGuru não conseguir acessar suas descobertas de vulnerabilidade de código, a digitalização de código Lambda falhará em sua conta.

Você pode usar ResetEncryptionKey para continuar usando uma chave AWS própria para criptografar o código extraído como parte das descobertas do Amazon Inspector.