Análise de objetos criptografados do Amazon S3 com o Amazon Macie - 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 com o Amazon Macie

Quando você habilita o Amazon Macie para o seu 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 da AWS em seu nome. Uma função vinculada ao serviço simplifica o processo de configuração de 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 Usando funções vinculadas a serviços no Guia do AWS Identity and Access Managementusuá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 pelo Amazon S3 (SSE-S3)

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-KMS e SSE-KMS)

Se um objeto for criptografado usando criptografia de camada dupla do lado do servidor ou criptografia do lado do servidor com um dispositivo 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 chaves KMS gerenciadas inteiramente dentro AWS KMS e chaves KMS em um repositório de chaves externo. Se o Macie não tiver permissão para usar a chave KMS aplicável, o Macie 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 todas as AWS KMS keys gerenciadas por clientes de que o Macie precisa para acessar ao analisar objetos nos buckets do S3 da 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 chaves KMS que você especificar.

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

Se um objeto for criptografado usando criptografia do lado do servidor com uma chave fornecida pelo cliente (SSE-C), o Macie não conseguirá 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…
Armazenar objetos com criptografia SSE-C A contagem de objetos por criptografia é fornecida pelo cliente e de = 1
Armazene objetos que usam criptografia DSSE-KMS ou SSE-KMS A contagem de objetos por criptografia é AWS KMSgerenciada e De = 1
Armazenar objetos com 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 a criptografia DSSE-KMS Criptografia padrão = aws:kms:dsse
Criptografe novos objetos por padrão usando a criptografia SSE-KMS Criptografia padrão = aws:kms
Criptografe novos objetos por padrão usando a criptografia SSE-KMS Criptografia padrão = AES256

Se um bucket estiver configurado para criptografar novos objetos por padrão usando criptografia DSSE-KMS ou SSE-KMS, você também poderá determinar qual deles será usado. AWS KMS key 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 exibe o nome do recurso da Amazon (ARN) ou o identificador exclusivo (ID da chave) da chave.

Permitir que o Amazon Macie use um AWS KMS key gerenciado pelo cliente

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 (DSSE-KMS AWS KMS key ou SSE-KMS), o Amazon Macie poderá descriptografar o objeto somente 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 for proprietária da AWS KMS key e do bucket, um usuário da conta precisará atualizar a política da chave.

  • Se uma conta for proprietária da AWS KMS key e outra conta diferente for proprietária do bucket, um usuário da conta proprietária da chave deverá permitir o acesso entre 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 clienteAWS KMS keys, consulte Autenticação e controle de acesso AWS KMS no Guia do AWS Key Management Service desenvolvedor.

Permitir acesso da mesma conta a uma chave gerenciada pelo cliente

Se a mesma conta for proprietária da AWS KMS key e do 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 elemento Principal deverá especificar o nome do recurso da Amazon (ARN) do perfil vinculado a serviço do Macie para a conta proprietária da AWS KMS key e do bucket do S3.

    Se a conta estiver em uma Região da AWS opcional, o ARN também deverá incluir o código de região adequado 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 Principal elemento deverá especificararn:aws:iam::123456789012:role/aws-service-role/macie.me-south-1.amazonaws.com/AWSServiceRoleForAmazonMacie, onde 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 ação do AWS KMS para a qual o Macie deve ter permissão para descriptografar um objeto do S3 que foi 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 campo AWS no elemento Principal especifica o ARN da função vinculada ao serviço Macie (AWSServiceRoleForAmazonMacie) para a conta. Isso permite que a função vinculada ao serviço do Macie execute a ação especificada na declaração de política. 123456789012 é um exemplo de ID de conta. Substitua esse valor pelo ID da conta proprietária da chave do KMS e do bucket do S3.

  • A matriz Action especifica a ação que o perfil vinculado a serviço do Macie pode realizar usando a chave do KMS: descriptografar o texto cifrado que foi 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 políticas de chaves usam o formato JSON. 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 for proprietária da AWS KMS key (proprietária da chave) e outra conta for proprietária do bucket do S3 (proprietária do bucket), o proprietário da chave deverá fornecer ao proprietário do bucket acesso entre contas à chave do 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 as AWSentidades principais usem chaves KMS 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 ServiceGuia 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 elemento Principal deve especificar o ARN da conta do proprietário do bucket. O array Action deve especificar a ação kms:Decrypt. Essa é a única ação do AWS KMS para a qual o Macie deve ter permissão para descriptografar um objeto que foi 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 campo AWS no elemento Principal especifica o ARN da conta do proprietário do bucket (111122223333). Isso permite que o proprietário do bucket execute a ação especificada na declaração de política. 123456789012 é um exemplo de ID de conta. Substitua esse valor pelo ID da conta do proprietário do bucket.

  • A matriz Action especifica a ação que o proprietário do bucket pode realizar usando a chave do KMS: descriptografar o texto cifrado que foi 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. Na primeira declaração, o elemento Principal deve especificar o ARN da 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 campo AWS no elemento Principal especifica o ARN da conta do proprietário do bucket (111122223333). Isso permite que o proprietário do bucket execute a ação especificada na declaração de política. 123456789012 é um exemplo de ID de conta. Substitua esse valor pelo ID da conta do proprietário do bucket.

  • O array Action especifica a ação que o proprietário do bucket pode realizar na chave KMS — 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 poderá criar uma concessão somente para o GranteePrincipal especificado, que é o ARN do perfil vinculado a serviço do Macie para a própria conta. Nesse ARN, 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 uma Região da AWS opcional, inclua também o código de região adequado no ARN do perfil vinculado a serviço do 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, macie.amazonaws.com substitua pelo ARN. macie.me-south-1.amazonaws.com 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 políticas de chave usam o formato JSON. 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 da 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 chave do KMS. Para acesso entre contas a uma chave do KMS, esse valor deve ser um ARN. Não pode ser um ID de chave.

  • GranteePrincipal: o ARN do perfil vinculada a serviço do Macie (AWSServiceRoleForAmazonMacie) para a conta dele. Esse valor deve ser arn:aws:iam::111122223333:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie, em que 111122223333 é o ID da conta do proprietário do bucket.

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

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

Para criar uma concessão para uma chave do KMS gerenciada pelo cliente usando a 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-id especifica o ARN da chave do KMS à qual aplicar a concessão.

  • grantee-principal especifica o ARN do perfil vinculado a serviço 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 condição kms:GranteePrincipal da segunda declaração na política de chave.

  • operations especifica a ação que a concessão permite que a entidade principal especificada execute: descriptografar o texto cifrado que foi criptografado com a chave do 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.