GuardDuty Proteção contra malware para backup: permissões de função do IAM - Amazon GuardDuty

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

GuardDuty Proteção contra malware para backup: permissões de função do IAM

Função de cliente fornecida para verificação de malware

GuardDuty A Proteção contra Malware espera que uma função de cliente (função de scanner) seja fornecida quando as verificações são iniciadas nos recursos de Backup, ou seja, instantâneos AMIs e EBS/EC2/S 3 pontos de recuperação. Essa função fornece as permissões necessárias GuardDuty para realizar a verificação nesses recursos específicos. A política de permissões e a política de confiança para essa função podem ser encontradas emPolítica de permissões e confiança para a função. A seção abaixo descreve por que cada uma dessas permissões é necessária.

Detalhes sobre as permissões

  • ModifySnapshotAttribute- Permite que instantâneos criptografados com chave não criptografada e gerenciados pelo cliente sejam acessados pela conta do serviço de Proteção contra GuardDuty Malware.

  • CreateGrant- Permite que a Proteção contra GuardDuty Malware crie e acesse um volume EBS criptografado com chave gerenciada pelo cliente a partir do instantâneo criptografado da chave gerenciada pelo cliente ao qual a conta de GuardDuty serviço tem acesso.

  • RetireGrant- Permite que a Proteção contra GuardDuty Malware retire as concessões que foram criadas na Chave Gerenciada pelo Cliente para leitura de instantâneos criptografados

  • ReEncryptToe ReEncryptFrom - Exigido pelo EBS para dar GuardDuty acesso a snapshots criptografados com chaves gerenciadas pelo cliente e criar volumes criptografados a partir delas. Embora os clientes possam considerar ReEncryption um instantâneo durante o compartilhamento como uma transição fundamental, os instantâneos permanecem imutáveis do ponto de vista do cliente depois de criados.

  • ListSnapshotBlockse GetSnapshotBlock - O EBS Direct APIs é usado para acessar os blocos de snapshot de um snapshot criptografado com chave AWS gerenciada. Isso é feito porque os instantâneos criptografados com chave AWS gerenciada não podem ser acessados de outra forma entre contas.

  • Decrypt- Permite descriptografar instantâneos básicos que são criptografados por chave gerenciada pelo cliente quando são baixados na memória usando o EBS Direct APIs como parte da verificação incremental.

  • ListChangedBlocks- API EBS Direct usada na verificação incremental de instantâneos para obter a lista de blocos alterados entre dois instantâneos.

  • DescribeKey- Permite que a Proteção contra GuardDuty Malware determine o ID da chave AWS gerenciada na conta do cliente.

  • DescribeImages- Permite que uma AMI seja descrita para obter a lista de instantâneos pertencentes à AMI.

  • DescribeRecoveryPoint- Permite que o serviço busque os detalhes do ponto de recuperação e verifique o tipo de recurso do ponto de recuperação.

  • CreateBackupAccessPoint,DescribeBackupAccessPoint, DeleteBackupAccessPoint - Permite que o serviço crie, descreva e exclua o ponto de acesso necessário para acessar os pontos de recuperação.

  • kms:Decrypt- Permite que o serviço acesse objetos em um ponto de recuperação do S3 durante uma verificação do ponto de recuperação do S3.

Protegendo a função

A função deve ser configurada com uma política de confiança que confie no diretor do serviço de Proteção contra GuardDuty Malware. Isso garante que nenhum diretor além do GuardDuty serviço possa assumir essa função. Além disso, você é incentivado a reduzir as políticas a recursos específicos, em vez de*. Isso inclui IDs de instantâneos e IDs de chave. Isso garantirá que a função forneça acesso somente a esses recursos específicos.

Importante

A configuração incorreta pode resultar em falhas de varredura devido a permissões insuficientes.

Como a Proteção contra GuardDuty Malware usa subsídios no AWS KMS

GuardDuty A Proteção contra Malware exige subsídios para usar suas chaves KMS.

Quando você inicia uma verificação em um instantâneo criptografado ou em uma EC2 AMI que consiste em instantâneos criptografados, o GuardDuty Malware Protection cria concessões em seu nome enviando uma CreateGrantsolicitação ao AWS KMS. Essas concessões dão GuardDuty acesso a uma chave específica em sua conta.

GuardDuty A Proteção contra Malware exige a concessão para usar sua chave gerenciada pelo cliente para as seguintes operações internas:

  • Envie DescribeKeysolicitações AWS para obter detalhes sobre a chave simétrica gerenciada pelo cliente com a qual o recurso enviado para uma verificação de malware está criptografado.

  • Crie um volume do EBS a partir de um snapshot criptografado usando a CreateVolumeAPI e criptografe o volume com a mesma chave.

  • Acesse blocos de instantâneos no instantâneo por meio da GetSnapshotBlockAPI durante uma verificação incremental.

  • Envie solicitações de descriptografia ao AWS KMS para descriptografar as chaves de dados criptografadas para que elas possam ser usadas para ler os dados no instantâneo durante a verificação.

Você pode revogar a concessão criada ou remover o acesso do serviço à chave gerenciada pelo cliente a qualquer momento. Se você fizer isso, GuardDuty não conseguirá acessar nenhum dos dados criptografados pela chave gerenciada pelo cliente, o que afeta as operações que dependem desses dados.

GuardDuty Contexto de criptografia de proteção contra malware

Um contexto de criptografia é um conjunto opcional de pares de chave/valor que pode conter informações contextuais adicionais sobre os dados.

Quando você inclui um contexto de criptografia em uma solicitação para criptografar dados, o AWS KMS; vincula o contexto de criptografia aos dados criptografados. Para descriptografar os dados, você inclui o mesmo contexto de criptografia na solicitação.

GuardDuty A Proteção contra Malware usa um dos dois contextos de criptografia.

Contexto de criptografia 1: A chave éaws:guardduty:id.

"encryptionContext": { "aws:guardduty:id": "snap-11112222333344" }

Esse contexto de criptografia é usado com operações de concessão: CreateGrant, Decrypt,,, GenerateDataKeyWithoutPlaintext, ReEncryptTo. RetireGrant DescribeKey

Uma concessão é criada no recurso atual com esse contexto de criptografia e operações de concessão.

Contexto de criptografia 2: A chave é aws:ebs:id

"encryptionContext": { "aws:ebs:id": "snap-11112222333344" }

Esse contexto de criptografia é usado com operações de concessão: ReEncryptFrom, Decrypt,,. RetireGrant DescribeKey

Três concessões são criadas com esses contextos de criptografia e operações de concessão. Um no instantâneo de destino com a operação de ReEncryptFrom concessão. Um segundo no instantâneo de destino com Decrypt, RetireGrant, DescribeKey operações. E uma terceira no instantâneo básico com as mesmas operações de concessão da segunda concessão.

Política de permissões e confiança para a função

Política de permissões

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ebs:ListSnapshotBlocks", "ebs:ListChangedBlocks", "ebs:GetSnapshotBlock" ], "Resource": "arn:aws:ec2:*::snapshot/*" }, { "Sid": "CreateGrantPermissions", "Effect": "Allow", "Action": "kms:CreateGrant", "Resource": "arn:aws:kms:*:*:key/*", "Condition": { "ForAnyValue:StringLike": { "kms:EncryptionContext:aws:guardduty:id": "snap-*", "kms:ViaService": [ "guardduty.*.amazonaws.com", "backup.*.amazonaws.com" ] }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "CreateGrant", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", "RetireGrant", "DescribeKey" ] }, "Bool": { "kms:GrantIsForAWSResource": "true" } } }, { "Sid": "CreateGrantPermissionsForReEncryptAndDirectAPIs", "Effect": "Allow", "Action": "kms:CreateGrant", "Resource": "arn:aws:kms:*:*:key/*", "Condition": { "ForAnyValue:StringLike": { "kms:EncryptionContext:aws:ebs:id": "snap-*", "kms:ViaService": [ "guardduty.*.amazonaws.com", "backup.*.amazonaws.com" ] }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "ReEncryptTo", "ReEncryptFrom", "RetireGrant", "DescribeKey" ] }, "Bool": { "kms:GrantIsForAWSResource": "true" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeImages", "ec2:DescribeSnapshots" ], "Resource": "*" }, { "Sid": "ShareSnapshotPermission", "Effect": "Allow", "Action": [ "ec2:ModifySnapshotAttribute" ], "Resource": "arn:aws:ec2:*:*:snapshot/*" }, { "Sid": "ShareSnapshotKMSPermission", "Effect": "Allow", "Action": [ "kms:ReEncryptTo", "kms:ReEncryptFrom" ], "Resource": "arn:aws:kms:*:*:key/*", "Condition": { "StringLike": { "kms:ViaService": "ec2.*.amazonaws.com" } } }, { "Sid": "DescribeKeyPermission", "Effect": "Allow", "Action": "kms:DescribeKey", "Resource": "arn:aws:kms:*:*:key/*" }, { "Sid": "DescribeRecoveryPointPermission", "Effect": "Allow", "Action": [ "backup:DescribeRecoveryPoint" ], "Resource": "*" }, { "Sid": "CreateBackupAccessPointPermissions", "Effect" : "Allow", "Action" : [ "backup:CreateBackupAccessPoint" ], "Resource": "arn:aws:backup:*:*:recovery-point:*" }, { "Sid": "ReadAndDeleteBackupAccessPointPermissions", "Effect" : "Allow", "Action" : [ "backup:DescribeBackupAccessPoint", "backup:DeleteBackupAccessPoint" ], "Resource": "*" }, { "Sid": "KMSKeyPermissionsForInstantAccess", "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "arn:aws:kms:*:*:key/*", "Condition": { "StringLike": { "kms:ViaService": "backup.*.amazonaws.com" } } } ] }

Política de confiança

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "malware-protection.guardduty.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }