Diretrizes da avaliação de políticas - AWS Identity and Access Management

Diretrizes da avaliação de políticas

A AWS avaliará suas políticas enviadas em relação a um conjunto de diretrizes. As mesmas diretrizes de avaliação se aplicam tanto aos modelos de política quanto aos limites de permissões, com pequenas diferenças observadas quando apropriado.

Para fins de avaliação, separamos os serviços em grupos distintos. A distinção mais importante é para serviços sensíveis à segurança, que gerenciam o acesso, as credenciais e as chaves. As políticas que concedem acesso a esses serviços precisam se concentrar estritamente no trabalho que está sendo feito. Os serviços sensíveis à segurança incluem: AWS Identity and Access Management (IAM), AWS Key Management Service (KMS), AWS Resource Access Manager (RAM), AWS IAM Identity Center, AWS Organizations e AWS Secrets Manager.

Uma distinção secundária são os serviços que podem acessar dados além dos limites da conta. As políticas desses serviços devem incluir proteções para evitar o acesso não intencional entre contas.

Validações comuns

Todas as instruções de políticas devem seguir estas diretrizes:

  • Todas as instruções devem incluir os campos Effect, Action (ou NotAction), Resource e Condition, nessa ordem

  • Todas as ações em uma única instrução devem ser listadas em ordem alfabética

  • Todos os ARNs incluídos na política devem seguir a sintaxe definida na documentação pública dos serviços relevantes

  • Os campos NotAction só podem ser usados em instruções Deny

  • As ações nas instruções Allow devem incluir um código de serviço. Caracteres curinga genéricos (“*”) não são permitidos

Restrições de serviços sensíveis à segurança

As seguintes restrições se aplicam aos serviços sensíveis à segurança mencionados acima:

  • As ações nas instruções Allow devem ser mais específicas do que [service]:*

  • As ações nas instruções Allow para modelos de política de acesso temporário não devem conter curingas

  • As ações sensíveis, como iam:PassRole ou iam:CreateServiceLinkedRole, exigem escopo adicional, como recursos específicos ou verificações condicionais. Entre essas ações estão:

    • Transferência de perfil do IAM

    • Ações de modificação do perfil do IAM

    • Ações de modificação da política do IAM

    • Operações criptográficas ou de gravação do AWS KMS

    • Operações de gravação ou compartilhamento do AWS RAM

    • Operações do AWS Secrets Manager para recuperar ou modificar segredos ou modificar políticas de recursos

  • Outras ações podem usar um recurso curinga, como iam:ListUsers ou iam:GetPolicy

  • As ações que gerenciam credenciais, como iam:CreateAccessKey, são bloqueadas

Restrições específicas do IAM

Para o IAM:

  • Somente operações de gravação limitadas são permitidas para perfis e políticas do IAM. Você não pode solicitar permissões em outros recursos do IAM, como usuários, grupos e certificados.

  • A anexação de políticas ou as ações de gerenciamento de políticas em linha são limitadas a perfis com um limite de permissões. Os limites de permissões devem ser fornecidos pelo parceiro ou em uma lista de políticas permitidas gerenciadas pela AWS. As políticas gerenciadas pela AWS poderão ser permitidas se não concederem permissões administrativas ou altamente privilegiadas. Por exemplo, políticas gerenciadas pela AWS para funções de trabalho específicas ou a política SecurityAudit podem ser aceitáveis. a AWS analisará cada política gerenciada pela AWS caso a caso durante o processo de integração.

  • O gerenciamento de políticas só é permitido para políticas com um caminho específico do parceiro: arn:aws:iam::@{AccountId}:policy/partner_domain.com/[feature]*

  • As tags só podem ser aplicadas durante a criação dos recursos e somente para perfis e políticas

  • As verificações de iam:PassRole devem corresponder a um nome específico ou prefixo de caminho

Restrições específicas do AWS STS

Para AWS STS:

  • sts:AssumeRole deve ter como escopo um ARN de perfil específico, um prefixo ARN de perfil, ou deve estar limitado a um conjunto de contas ou a um ID da organização/unidade organizacional

Restrições do Centro de Identidade do IAM

Para o Centro de Identidade do AWS IAM, as seguintes ações estão bloqueadas:

  • Todas as ações relacionadas ao gerenciamento de permissões (por exemplo, sso:AttachCustomerManagedPolicyReferenceToPermissionSet)

  • Modificações de usuários, grupos e membros do AWS Identity Store

  • Gerenciamento de tags

Restrições do AWS Organizations

Para o AWS Organizations, somente ações de leitura serão permitidas.

Validações adicionais específicas do serviço

  • As ações que adquirem segredos ou credenciais, como glue:GetConnection ou redshift:GetClusterCredentials, devem ter condições que correspondam a ARNs completos, prefixos ARN ou tags

  • Para o Amazon Redshift: redshift:GetClusterCredentials só é permitido em um nome de banco de dados específico, e redshift:GetClusterCredentialsWithIAM só é permitido em um nome de grupo de trabalho específico

nota

Ao gerenciar os recursos do IAM na conta, recomendamos usar um caminho que indique seu nome, por exemplo, arn:aws:iam::111122223333:role/partner.com/rolename. Isso ajudará a diferenciar os recursos associados à sua integração e facilitar a descoberta, a auditoria e a análise para os clientes.

Requisitos de acesso entre contas

As instruções que potencialmente permitem o acesso entre contas devem incluir pelo menos um dos itens abaixo:

  • Uma condição que especifica a conta ou a organização do recurso (por exemplo, aws:ResourceOrgId que corresponde a um ou mais valores esperados)

  • Um campo de recurso que inclui uma conta específica (por exemplo, arn:aws:sqs:*:111122223333:*)

  • Um campo de recurso que inclui uma conta que não é curinga e um nome completo do recurso (por exemplo, arn:aws:s3:::full-bucket-name)

nota

O acesso entre contas é um recurso sensível que exige uma justificativa comercial clara. A AWS analisará cuidadosamente a necessidade de acesso entre contas durante o processo de integração.