Exemplos de políticas baseadas em identidade para a Amazon GuardDuty - 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á.

Exemplos de políticas baseadas em identidade para a Amazon GuardDuty

Por padrão, usuários e funções não têm permissão para criar ou modificar GuardDuty recursos. Eles também não podem realizar tarefas usando o AWS Management Console, AWS Command Line Interface (AWS CLI), ou AWS API. Para conceder permissão aos usuários para realizar ações nos recursos de que precisam, um IAM administrador pode criar IAM políticas. O administrador pode então adicionar as IAM políticas às funções e os usuários podem assumir as funções.

Para saber como criar uma política IAM baseada em identidade usando esses exemplos de documentos de JSON política, consulte Criação de IAM políticas no Guia do IAMusuário.

Para obter detalhes sobre ações e tipos de recursos definidos por GuardDuty, incluindo o formato de cada um dos tipos de recursos, consulte Ações, recursos e chaves de condição para a Amazon GuardDuty na Referência de Autorização de Serviço. ARNs

Melhores práticas de política

As políticas baseadas em identidade determinam se alguém pode criar, acessar ou excluir GuardDuty recursos em sua conta. Essas ações podem incorrer em custos para o seu Conta da AWS. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:

  • Comece com AWS políticas gerenciadas e migrar para permissões com privilégios mínimos — Para começar a conceder permissões para seus usuários e cargas de trabalho, use o AWS políticas gerenciadas que concedem permissões para muitos casos de uso comuns. Eles estão disponíveis em seu Conta da AWS. Recomendamos que você reduza ainda mais as permissões definindo AWS políticas gerenciadas pelo cliente que são específicas para seus casos de uso. Para ter mais informações, consulte AWS políticas gerenciadas ou AWS políticas gerenciadas para funções de trabalho no Guia IAM do usuário.

  • Aplique permissões com privilégios mínimos — Ao definir permissões com IAM políticas, conceda somente as permissões necessárias para realizar uma tarefa. Você faz isso definindo as ações que podem ser executadas em atributos específicos sob condições específicas, também conhecidas como permissões de privilégio mínimo. Para obter mais informações sobre IAM como usar para aplicar permissões, consulte Políticas e permissões IAM no Guia IAM do usuário.

  • Use condições nas IAM políticas para restringir ainda mais o acesso — Você pode adicionar uma condição às suas políticas para limitar o acesso a ações e recursos. Por exemplo, você pode escrever uma condição de política para especificar que todas as solicitações devem ser enviadas usandoSSL. Você também pode usar condições para conceder acesso às ações de serviço se elas forem usadas por meio de um determinado AWS service (Serviço da AWS), por exemplo, AWS CloudFormation. Para obter mais informações, consulte elementos IAM JSON da política: Condição no Guia IAM do usuário.

  • Use o IAM Access Analyzer para validar suas IAM políticas e garantir permissões seguras e funcionais — o IAM Access Analyzer valida políticas novas e existentes para que as políticas sigam a linguagem da IAM política (JSON) e as melhores práticas. IAM IAMO Access Analyzer fornece mais de 100 verificações de políticas e recomendações práticas para ajudá-lo a criar políticas seguras e funcionais. Para obter mais informações, consulte Validação da política do IAM Access Analyzer no Guia do IAM Usuário.

  • Exigir autenticação multifatorial (MFA) — Se você tiver um cenário que exija IAM usuários ou um usuário root em seu Conta da AWS, ative MFA para obter segurança adicional. Para exigir MFA quando API as operações são chamadas, adicione MFA condições às suas políticas. Para obter mais informações, consulte Configurando o API acesso MFA protegido no Guia do IAMusuário.

Para obter mais informações sobre as melhores práticas emIAM, consulte as melhores práticas de segurança IAM no Guia IAM do usuário.

Usando o GuardDuty console

Para acessar o GuardDuty console da Amazon, você deve ter um conjunto mínimo de permissões. Essas permissões devem permitir que você liste e visualize detalhes sobre os GuardDuty recursos em seu Conta da AWS. Se você criar uma política baseada em identidade que seja mais restritiva do que as permissões mínimas exigidas, o console não funcionará conforme planejado para entidades (usuários ou funções) com essa política.

Você não precisa permitir permissões mínimas do console para usuários que estão fazendo chamadas somente para o AWS CLI ou o AWS API. Em vez disso, permita o acesso somente às ações que correspondam à API operação que eles estão tentando realizar.

Para garantir que usuários e funções ainda possam usar o GuardDuty console, conecte também o GuardDuty ConsoleAccess ou ReadOnly AWS política gerenciada para as entidades. Para obter mais informações, consulte Adicionar permissões a um usuário no Guia do IAM usuário.

Permissões necessárias para habilitar o GuardDuty

Para conceder permissões que várias IAM identidades (usuários, grupos e funções) devem ter, anexe a AWS política gerenciada: AmazonGuardDutyFullAccess política necessária para GuardDuty habilitar.

Permitir que usuários visualizem suas próprias permissões

Este exemplo mostra como você pode criar uma política que permita IAM aos usuários visualizar as políticas embutidas e gerenciadas que estão anexadas à identidade do usuário. Essa política inclui permissões para concluir essa ação no console ou programaticamente usando o AWS CLI ou AWS API.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

IAMPolítica personalizada para conceder acesso somente de leitura ao GuardDuty

Para conceder acesso somente de leitura, GuardDuty você pode usar a política AmazonGuardDutyReadOnlyAccess gerenciada.

Para criar uma política personalizada que conceda acesso somente para leitura a uma IAM função, usuário ou grupo GuardDuty, você pode usar a seguinte declaração:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:ListMembers", "guardduty:GetMembers", "guardduty:ListInvitations", "guardduty:ListDetectors", "guardduty:GetDetector", "guardduty:ListFindings", "guardduty:GetFindings", "guardduty:ListIPSets", "guardduty:GetIPSet", "guardduty:ListThreatIntelSets", "guardduty:GetThreatIntelSet", "guardduty:GetMasterAccount", "guardduty:GetInvitationsCount", "guardduty:GetFindingsStatistics", "guardduty:DescribeMalwareScans", "guardduty:UpdateMalwareScanSettings", "guardduty:GetMalwareScanSettings" ], "Resource": "*" } ] }

Negar acesso às GuardDuty descobertas

Você pode usar a política a seguir para negar acesso às GuardDuty descobertas a uma IAM função, usuário ou grupo. Os usuários não podem ver as descobertas ou os detalhes sobre as descobertas, mas podem acessar todas as outras GuardDuty operações:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:CreateDetector", "guardduty:DeleteDetector", "guardduty:UpdateDetector", "guardduty:GetDetector", "guardduty:ListDetectors", "guardduty:CreateIPSet", "guardduty:DeleteIPSet", "guardduty:UpdateIPSet", "guardduty:GetIPSet", "guardduty:ListIPSets", "guardduty:CreateThreatIntelSet", "guardduty:DeleteThreatIntelSet", "guardduty:UpdateThreatIntelSet", "guardduty:GetThreatIntelSet", "guardduty:ListThreatIntelSets", "guardduty:ArchiveFindings", "guardduty:UnarchiveFindings", "guardduty:CreateSampleFindings", "guardduty:CreateMembers", "guardduty:InviteMembers", "guardduty:GetMembers", "guardduty:DeleteMembers", "guardduty:DisassociateMembers", "guardduty:StartMonitoringMembers", "guardduty:StopMonitoringMembers", "guardduty:ListMembers", "guardduty:GetMasterAccount", "guardduty:DisassociateFromMasterAccount", "guardduty:AcceptAdministratorInvitation", "guardduty:ListInvitations", "guardduty:GetInvitationsCount", "guardduty:DeclineInvitations", "guardduty:DeleteInvitations" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::123456789012:role/aws-service-role/guardduty.amazonaws.com/AWSServiceRoleForAmazonGuardDuty", "Condition": { "StringLike": { "iam:AWSServiceName": "guardduty.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:PutRolePolicy", "iam:DeleteRolePolicy" ], "Resource": "arn:aws:iam::123456789012:role/aws-service-role/guardduty.amazonaws.com/AWSServiceRoleForAmazonGuardDuty" } ] }

Usando uma IAM política personalizada para limitar o acesso aos GuardDuty recursos

Para definir o acesso de um usuário GuardDuty com base na ID do detector, você pode usar todas as GuardDutyAPIações em suas IAM políticas personalizadas, exceto as seguintes operações:

  • guardduty:CreateDetector

  • guardduty:DeclineInvitations

  • guardduty:DeleteInvitations

  • guardduty:GetInvitationsCount

  • guardduty:ListDetectors

  • guardduty:ListInvitations

Use as seguintes operações em uma IAM política para definir o acesso de um usuário GuardDuty com base no IPSet ID e no ThreatIntelSet ID:

  • guardduty:DeleteIPSet

  • guardduty:DeleteThreatIntelSet

  • guardduty:GetIPSet

  • guardduty:GetThreatIntelSet

  • guardduty:UpdateIPSet

  • guardduty:UpdateThreatIntelSet

Os exemplos a seguir mostram como criar políticas usando algumas das operações anteriores:

  • Esta política permite que um usuário execute a operação guardduty:UpdateDetector usando o ID do detector de 1234567 na região us-east-1:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:UpdateDetector", ], "Resource": "arn:aws:guardduty:us-east-1:123456789012:detector/1234567" } ] }
  • Essa política permite que um usuário execute a guardduty:UpdateIPSet operação usando o ID do detector de 1234567 e o IPSet ID de 000000 na região us-east-1:

    nota

    Certifique-se de que o usuário tenha as permissões necessárias para acessar listas de IP confiáveis e listas de ameaças em GuardDuty. Para obter mais informações, consulte Permissões necessárias para fazer upload das listas de IP confiáveis e listas de ameaças.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:UpdateIPSet", ], "Resource": "arn:aws:guardduty:us-east-1:123456789012:detector/1234567/ipset/000000" } ] }
  • Essa política permite que um usuário execute a guardduty:UpdateIPSet operação usando qualquer ID de detector e a IPSet ID 000000 na região us-east-1:

    nota

    Certifique-se de que o usuário tenha as permissões necessárias para acessar listas de IP confiáveis e listas de ameaças em GuardDuty. Para obter mais informações, consulte Permissões necessárias para fazer upload das listas de IP confiáveis e listas de ameaças.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:UpdateIPSet", ], "Resource": "arn:aws:guardduty:us-east-1:123456789012:detector/*/ipset/000000" } ] }
  • Essa política permite que um usuário execute a guardduty:UpdateIPSet operação usando seu ID de detector e qualquer IPSet ID na região us-east-1:

    nota

    Certifique-se de que o usuário tenha as permissões necessárias para acessar listas de IP confiáveis e listas de ameaças em GuardDuty. Para obter mais informações, consulte Permissões necessárias para fazer upload das listas de IP confiáveis e listas de ameaças.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:UpdateIPSet", ], "Resource": "arn:aws:guardduty:us-east-1:123456789012:detector/1234567/ipset/*" } ] }