Análise de objetos criptografados do Amazon S3 - Amazon Macie

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

Análise de objetos criptografados do Amazon S3

Quando você habilita o Amazon Macie para você Conta da AWS, o Macie cria uma função vinculada ao serviço que concede ao Macie as permissões necessárias para chamar o Amazon Simple Storage Service (Amazon S3) e outros serviços em seu nome. Serviços da AWS Uma função vinculada ao serviço simplifica o processo de configuração de uma AWS service (Serviço da AWS) porque você não precisa adicionar permissões manualmente para que o serviço conclua ações em seu nome. Para saber mais sobre esse tipo de função, consulte as IAMfunções no Guia AWS Identity and Access Management do usuário.

A política de permissões para a função vinculada ao serviço do Macie (AWSServiceRoleForAmazonMacie) permite que o Macie execute ações que incluem recuperar informações sobre seus buckets e objetos do S3 e recuperar e analisar objetos nos buckets do S3. Se a conta for a conta de administrador do Macie de uma organização, a política também permitirá que o Macie execute essas ações em seu nome para contas-membro na organização.

Se um objeto do S3 for criptografado, a política de permissões para a função vinculada ao serviço do Macie normalmente concede ao Macie as permissões necessárias para descriptografar o objeto. No entanto, isso depende do tipo de criptografia usada. Também pode depender de o Macie ter permissão para usar a chave de criptografia apropriada.

Opções de criptografia para objetos do Amazon S3

O Amazon S3 oferece suporte a várias opções de criptografia para objetos do S3. Para a maioria dessas opções, o Amazon Macie pode descriptografar um objeto usando a função vinculada ao serviço Macie para sua conta. No entanto, isso depende do tipo de criptografia usado para criptografar um objeto.

Criptografia do lado do servidor com chaves gerenciadas do Amazon S3 (-S3) SSE

Se um objeto for criptografado usando criptografia do lado do servidor com uma chave gerenciada do Amazon S3 (SSE-S3), o Macie poderá descriptografar o objeto.

Para saber mais sobre esse tipo de criptografia, consulte Usar criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 no Guia do usuário do Amazon Simple Storage Service.

Criptografia do lado do servidor com AWS KMS keys (DSSE- e -KMS) SSE KMS

Se um objeto for criptografado usando criptografia de camada dupla do lado do servidor ou criptografia do lado do servidor com um AWS gerenciado AWS KMS key (DSSE- KMS ou SSE -KMS), o Macie poderá descriptografar o objeto.

Se um objeto for criptografado usando criptografia de camada dupla do lado do servidor ou criptografia do lado do servidor com um cliente gerenciado AWS KMS key (DSSE- KMS ou SSE -KMS), o Macie só poderá descriptografar o objeto se você permitir que o Macie use a chave. Esse é o caso de objetos criptografados com KMS chaves gerenciadas inteiramente dentro AWS KMS e KMS chaves em um armazenamento de chaves externo. Se o Macie não tiver permissão para usar a KMS chave aplicável, ele só poderá armazenar e relatar metadados do objeto.

Para saber mais sobre esses tipos de criptografia, consulte Usando criptografia do lado do servidor de camada dupla com AWS KMS keys e Usando criptografia do lado do servidor com AWS KMS keys no Guia do usuário do Amazon Simple Storage Service.

dica

Você pode gerar automaticamente uma lista de todos os clientes gerenciados AWS KMS keys que o Macie precisa acessar para analisar objetos nos buckets do S3 para sua conta. Para fazer isso, execute o script do Analisador de AWS KMS Permissões, que está disponível no repositório Amazon Macie Scripts em. GitHub O script também pode gerar um script adicional de comandos AWS Command Line Interface (AWS CLI). Opcionalmente, você pode executar esses comandos para atualizar as configurações e políticas necessárias para as KMS chaves que você especificar.

Criptografia do lado do servidor com chaves fornecidas pelo cliente (-C) SSE

Se um objeto for criptografado usando criptografia do lado do servidor com uma chave fornecida pelo cliente (SSE-C), o Macie não poderá descriptografar o objeto. O Macie só pode armazenar e relatar metadados do objeto.

Para saber mais sobre esse tipo de criptografia, consulte Usar criptografia do lado do servidor com chaves fornecidas pelo cliente no Guia do usuário do Amazon Simple Storage Service.

Criptografia do lado do cliente

Se um objeto for criptografado usando criptografia do lado do cliente, o Macie não poderá descriptografar o objeto. O Macie só pode armazenar e relatar metadados do objeto. Por exemplo, o Macie pode relatar o tamanho do objeto e as tags associadas ao objeto.

Para saber mais sobre esse tipo de criptografia no contexto do Amazon S3, consulte Proteção de dados usando criptografia do lado do cliente no Guia do usuário do Amazon Simple Storage Service.

Você pode filtrar seu inventário de buckets no Macie para determinar quais buckets do S3 armazenam objetos que usam determinados tipos de criptografia. Você também pode determinar quais buckets usam certos tipos de criptografia do lado do servidor por padrão ao armazenar novos objetos. A tabela a seguir fornece exemplos de filtros que você pode aplicar ao seu inventário de bucket para encontrar essas informações.

Para mostrar buckets que... Aplique este filtro…
Armazene objetos que usam criptografia SSE -C A contagem de objetos por criptografia é fornecida pelo cliente e de = 1
Armazene objetos que usam DSSE - KMS ou SSE - KMS criptografia A contagem de objetos por criptografia é AWS KMS gerenciada e De = 1
Armazene objetos que usam criptografia SSE -S3 A contagem de objetos por criptografia é gerenciada pelo Amazon S3 e From = 1
Armazenar objetos com criptografia do lado do cliente (ou sem criptografia) Contagem de objetos por criptografia é Sem criptografia e De = 1
Criptografe novos objetos por padrão usando DSSE - KMS criptografia Criptografia padrão = aws:kms:dsse
Criptografe novos objetos por padrão usando SSE - KMS criptografia Criptografia padrão = aws:kms
Criptografe novos objetos por padrão usando a criptografia SSE -S3 Criptografia padrão = AES256

Se um bucket estiver configurado para criptografar novos objetos por padrão usando DSSE - KMS ou SSE - KMS criptografia, você também poderá determinar qual deles AWS KMS key será usado. Para fazer isso, selecione o bucket na página de buckets do S3. No painel de detalhes do bucket, em Criptografia do lado do servidor, consulte o campo. AWS KMS key Esse campo mostra o nome do recurso da Amazon (ARN) ou o identificador exclusivo (ID da chave) da chave.

Permitindo que Macie use um serviço gerenciado pelo cliente AWS KMS key

Se um objeto do Amazon S3 for criptografado usando criptografia de camada dupla do lado do servidor ou criptografia do lado do servidor com um cliente gerenciado (- AWS KMS key ou DSSE -KMS)SSE, o KMS Amazon Macie só poderá descriptografar o objeto se tiver permissão para usar a chave. A forma de fornecer esse acesso depende de a conta que possui a chave também possuir o bucket do S3 que armazena o objeto:

  • Se a mesma conta possuir o bucket AWS KMS key e o bucket, um usuário da conta precisará atualizar a política da chave.

  • Se uma conta possui a chave AWS KMS key e uma conta diferente é proprietária do bucket, um usuário da conta que possui a chave deve permitir o acesso de várias contas à chave.

Este tópico descreve como realizar essas tarefas e fornece exemplos para ambos os cenários. Para saber mais sobre como permitir o acesso ao serviço gerenciado pelo cliente AWS KMS keys, consulte os KMSprincipais acessos e permissões no Guia do AWS Key Management Service desenvolvedor.

Permitir acesso da mesma conta a uma chave gerenciada pelo cliente

Se a mesma conta possuir o bucket do S3 AWS KMS key e o bucket do S3, um usuário da conta precisará adicionar uma declaração à política da chave. A declaração adicional deverá permitir que o perfil vinculado a serviço do Macie para a conta decifre dados usando a chave. Para obter informações detalhadas sobre como atualizar uma política principal, consulte Alterar uma política de chave no Guia do desenvolvedor AWS Key Management Service .

Na declaração:

  • O Principal elemento deve especificar o Amazon Resource Name (ARN) da função vinculada ao serviço Macie para a conta proprietária do bucket do AWS KMS key S3.

    Se a conta estiver em um opt-in Região da AWS, ela também ARN deverá incluir o código de região apropriado para a região. Por exemplo, se a conta estiver na região do Oriente Médio (Bahrein), que tem o código de região me-south-1, o elemento deverá especificar, onde Principal arn:aws:iam::123456789012:role/aws-service-role/macie.me-south-1.amazonaws.com/AWSServiceRoleForAmazonMacie 123456789012 é o ID da conta. Para obter uma lista códigos das regiões nas quais o Macie está disponível, consulte Endpoints e cotas do Amazon Macie no Referência geral da AWS.

  • O array Action deve especificar a ação kms:Decrypt. Essa é a única AWS KMS ação que o Macie deve ter permissão para descriptografar um objeto do S3 criptografado com a chave.

Veja a seguir um exemplo da declaração a ser adicionada à política para uma AWS KMS key.

{ "Sid": "Allow the Macie service-linked role to use the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie" }, "Action": [ "kms:Decrypt" ], "Resource": "*" }

No exemplo anterior:

  • O AWS campo no Principal elemento especifica a função ARN vinculada ao serviço Macie (AWSServiceRoleForAmazonMacie) para a conta. Ele permite que a função vinculada ao serviço do Macie execute a ação especificada pela declaração de política. 123456789012 é um exemplo de ID de conta. Substitua esse valor pelo ID da conta que possui a KMS chave e o bucket do S3.

  • A Action matriz especifica a ação que a função vinculada ao serviço do Macie pode realizar usando o texto cifrado de descriptografia de KMS chave que é criptografado com a chave.

O local em que você adiciona essa declaração a uma política de chave depende da estrutura e dos elementos que a política contém atualmente. Ao adicionar a instrução, certifique-se de que a sintaxe seja válida. As principais políticas usam o JSON formato. Isso significa que você também precisa adicionar uma vírgula antes ou depois da declaração, dependendo de onde você adiciona a declaração à política.

Permitir acesso entre contas a uma chave gerenciada pelo cliente

Se uma conta possuir o AWS KMS key (proprietário da chave) e uma conta diferente possuir o bucket do S3 (proprietário do bucket), o proprietário da chave deverá fornecer ao proprietário do bucket acesso cruzado à chave. KMS Para fazer isso, o proprietário da chave primeiro garante que a política de chave permita que o proprietário do bucket use a chave e crie uma concessão para a chave. Em seguida, o proprietário do bucket cria uma concessão para a chave. Uma concessão é um instrumento de política que permite que AWS os diretores usem KMS chaves em operações criptográficas se as condições especificadas pela concessão forem atendidas. Nesse caso, a concessão delegará as permissões relevantes ao perfil vinculado a serviço do Macie para a conta do proprietário do bucket.

Para obter informações detalhadas sobre como atualizar uma política principal, consulte Alterar uma política de chave no Guia do desenvolvedor AWS Key Management Service . Para saber mais sobre concessões, consulte Subsídios AWS KMS no AWS Key Management Service Guia do desenvolvedor.

Etapa 1: atualizar a política de chave

Na política de chave, o proprietário da chave deve garantir que a política inclua duas declarações:

  • A primeira instrução permite que o proprietário do bucket use a chave para descriptografar dados.

  • A segunda declaração permite que o proprietário do bucket crie uma concessão para o perfil vinculado a serviço do Macie para a própria conta (o proprietário do bucket).

Na primeira declaração, o Principal elemento deve especificar a conta ARN do proprietário do bucket. O array Action deve especificar a ação kms:Decrypt. Essa é a única AWS KMS ação que o Macie deve ter permissão para descriptografar um objeto criptografado com a chave. Veja a seguir um exemplo dessa declaração na política para uma AWS KMS key.

{ "Sid": "Allow account 111122223333 to use the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": [ "kms:Decrypt" ], "Resource": "*" }

No exemplo anterior:

  • O AWS campo no Principal elemento especifica a conta ARN do proprietário do bucket (111122223333). Ele permite que o proprietário do bucket execute a ação especificada pela declaração de política. 111122223333 é um exemplo de ID de conta. Substitua esse valor pelo ID da conta do proprietário do bucket.

  • A Action matriz especifica a ação que o proprietário do bucket pode realizar usando a KMS chave — descriptografar o texto cifrado que é criptografado com a chave.

A segunda declaração na política de chave permite que o proprietário do bucket crie uma concessão para a função vinculada ao serviço Macie para sua conta. Nessa declaração, o Principal elemento deve especificar a ARN conta do proprietário do bucket. O array Action deve especificar a ação kms:CreateGrant. Um elemento Condition pode filtrar o acesso à ação kms:CreateGrant especificada na instrução. Veja a seguir um exemplo dessa declaração na política para uma AWS KMS key.

{ "Sid": "Allow account 111122223333 to create a grant", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": [ "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringEquals": { "kms:GranteePrincipal": "arn:aws:iam::111122223333:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie" } } }

No exemplo anterior:

  • O AWS campo no Principal elemento especifica a conta ARN do proprietário do bucket (111122223333). Ele permite que o proprietário do bucket execute a ação especificada pela declaração de política. 111122223333 é um exemplo de ID de conta. Substitua esse valor pelo ID da conta do proprietário do bucket.

  • A Action matriz especifica a ação que o proprietário do bucket pode realizar na KMS chave: criar uma concessão para a chave.

  • O elemento Condition usa o operador de condição StringEquals e a chave de condição kms:GranteePrincipalpara filtrar o acesso à ação especificada pela declaração de política. Nesse caso, o proprietário do bucket pode criar uma concessão somente para o especificadoGranteePrincipal, que é o papel vinculado ao serviço ARN do Macie para sua conta. NissoARN, 111122223333 é um exemplo de ID de conta. Substitua esse valor pelo ID da conta do proprietário do bucket.

    Se a conta do proprietário do bucket estiver em um opt-in Região da AWS, inclua também o código ARN de região apropriado na função vinculada ao serviço Macie. Por exemplo, se a conta estiver na região do Oriente Médio (Bahrein), que tem o código de região me-south-1, substitua-a por. macie.amazonaws.com macie.me-south-1.amazonaws.com ARN Para obter uma lista códigos das regiões nas quais o Macie está disponível, consulte Endpoints e cotas do Amazon Macie no Referência geral da AWS.

O local em que você adiciona essa declaração a uma política de chave depende da estrutura e dos elementos que a política contém atualmente. Ao adicionar as declarações, o proprietário da chave deverá garantir que a sintaxe seja válida. As principais políticas usam o JSON formato. Isso significa que o proprietário da chave também precisa adicionar uma vírgula antes ou depois de cada declaração, dependendo de onde ele adicionar a declaração à política.

Etapa 2: criar uma concessão

Depois que o proprietário da chave atualizar a política de chave conforme necessário, o proprietário do bucket deve criar uma concessão para a chave. A concessão delega as permissões relevantes à função vinculada ao serviço Macie da conta do proprietário do bucket. Antes de o proprietário do bucket criar a concessão, ele deve verificar se tem permissão para realizar a ação kms:CreateGrant em sua conta. Essa ação permite que ele adicione uma concessão a uma AWS KMS key existente gerenciada pelo cliente.

Para criar a concessão, o proprietário do bucket pode usar a CreateGrantoperação do AWS Key Management Service API. Quando o proprietário do bucket cria a concessão, ele deve especificar os seguintes valores para os parâmetros necessários:

  • KeyId— O ARN da KMS chave. Para acesso entre contas a uma KMS chave, esse valor deve ser umARN. Não pode ser um ID de chave.

  • GranteePrincipal— A ARN função vinculada ao serviço Macie (AWSServiceRoleForAmazonMacie) para sua conta. Esse valor deve serarn:aws:iam::111122223333:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie, onde 111122223333 é o ID da conta do proprietário do bucket.

    Se a conta estiver em uma região opcional, ela ARN deverá incluir o código de região apropriado. Por exemplo, se sua conta estiver na região do Oriente Médio (Bahrein), que tem o código de região me-south-1, deveria ser, onde ARN arn:aws:iam::111122223333:role/aws-service-role/macie.me-south-1.amazonaws.com/AWSServiceRoleForAmazonMacie 111122223333 é o ID da conta do proprietário do bucket.

  • Operations— A ação de AWS KMS descriptografia (). Decrypt Essa é a única AWS KMS ação que o Macie deve ter permissão para descriptografar um objeto criptografado com a chave. KMS

Para criar uma concessão para uma KMS chave gerenciada pelo cliente usando o AWS Command Line Interface (AWS CLI), execute o comando create-grant. O exemplo a seguir mostra como. O exemplo está formatado para Microsoft Windows e usa o caractere de continuação de linha circunflexo (^) para melhorar a legibilidade.

C:\> aws kms create-grant ^ --key-id arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab ^ --grantee-principal arn:aws:iam::111122223333:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie ^ --operations "Decrypt"

Em que:

  • key-idespecifica ARN a KMS chave à qual aplicar a concessão.

  • grantee-principalespecifica a função vinculada ao serviço ARN do Macie para a conta que tem permissão para realizar a ação especificada pela concessão. Esse valor deve corresponder ao ARN especificado pela kms:GranteePrincipal condição da segunda declaração na política de chaves.

  • operationsespecifica a ação que a concessão permite que o principal especificado execute — descriptografar o texto cifrado que está criptografado com a chave. KMS

Se o comando for executado com sucesso, você receberá um resultado semelhante ao seguinte.

{ "GrantToken": "<grant token>", "GrantId": "1a2b3c4d2f5e69f440bae30eaec9570bb1fb7358824f9ddfa1aa5a0dab1a59b2" }

Onde GrantToken é uma string única, não secreta, de comprimento variável e codificada em base64 que representa a concessão que foi criada e GrantId é o identificador exclusivo da concessão.