Como as funções do IAM diferem de políticas baseadas em recursos - AWS Identity and Access Management

Como as funções do IAM diferem de políticas baseadas em recursos

Para alguns serviços da AWS, você pode conceder acesso entre contas para os seus recursos. Para fazer isso, anexe uma política diretamente ao recurso que você deseja compartilhar em vez de usar uma função como um proxy. O recurso que você deseja compartilhar deve ser compatível com políticas baseadas em recursos. Ao contrário de uma política baseada em identidade, uma política baseada em recursos especifica quem (qual principal) pode acessar esse recurso.

nota

As funções do IAM e as políticas baseadas em recursos delegam o acesso entre contas em uma única partição. Por exemplo, suponha que você tenha uma conta em Oeste dos EUA (Norte da Califórnia) na partição padrão aws. Além disso, você tem uma conta em China (Pequim) na partição aws-cn. Você não pode usar uma política do Amazon S3 baseada em recursos na China (Pequim) para permitir acesso a usuários na sua conta padrão da aws.

O acesso entre contas com uma política baseada em recursos tem algumas vantagens sobre o acesso entre contas com uma função. Com um recurso acessado por meio de uma política baseada em recursos, o principal ainda trabalha na conta confiável e não precisa abrir mão de suas permissões para receber as permissões da função. Em outras palavras, o principal continua a ter acesso aos recursos na conta confiável ao mesmo tempo em que tem acesso ao recurso na conta de confiança. Isso é útil para tarefas como cópia de informações de ou para o recurso compartilhado em outra conta.Para saber se os principais de contas fora de sua zona de confiança (organização confiável ou conta) têm acesso para assumir as suas funções, consulte O que é IAM Access Analyzer?.

Os principais que você pode especificar em uma política baseada em recursos incluem contas, usuários do IAM, usuários federados, funções do IAM, sessões de função assumida ou serviços da AWS. Para obter mais informações, consulte Especificar um principal.

A lista a seguir inclui alguns dos serviços da AWS que oferecem suporte às políticas baseadas em recursos. Para obter uma lista completa do número crescente de serviços da AWS que compatíveis com a anexação de políticas de permissão aos recursos em vez de nos principais, consulte Serviços da AWS compatíveis com o IAMe procure os serviços que têm Sim na coluna Baseadas em recursos.

  • Buckets do Amazon S3 – A política é anexada ao bucket, mas a política controla o acesso ao bucket e os objetos dentro dele. Para obter mais informações, acesse Controle de acesso no Guia do desenvolvedor do Amazon Simple Storage Service.

    Em alguns casos, pode ser melhor usar funções para acesso entre contas ao Amazon S3. Para obter mais informações, consulte as demonstrações com exemplos no Guia do desenvolvedor do Amazon Simple Storage Service.

  • Tópicos do Amazon Simple Notification Service (Amazon SNS) – Para obter mais informações, consulte Gerenciamento de acesso aos tópicos do seu Amazon SNS no Guia do desenvolvedor do Amazon Simple Notification Service.

  • Filas do Amazon Simple Queue Service (Amazon SQS) – Para obter mais informações, acesse Apêndice: Linguagem de políticas de acesso no Guia do desenvolvedor do Amazon Simple Queue Service.

Sobre a delegação de permissões da AWS em uma política baseada em recursos

Se um recurso concede permissões aos principais na conta, você pode delegar essas permissões para identidades específicas do IAM. As identidades são usuários, grupos de usuários ou funções na conta. Você delega permissões anexando uma política à identidade. Você pode conceder até o máximo de permissões permitidas pela conta proprietária do recurso.

Suponha que uma política baseada em recursos permita acesso administrativo total a um recurso a todos os principais na conta. Em seguida, você pode delegar acesso total, acesso somente leitura ou qualquer outro acesso parcial aos principais na sua conta da AWS. Como alternativa, se a política baseada em recursos permitir somente permissões de lista, você só poderá delegar o acesso à lista. Se você tentar delegar mais permissões do que sua conta possui, os principais ainda terão apenas acesso de lista. Para obter informações sobre como anexar uma política a uma identidade do IAM, consulte Gerenciar políticas do IAM.

nota

As funções do IAM e as políticas baseadas em recursos delegam o acesso entre contas em uma única partição. Por exemplo, não é possível adicionar acesso entre contas entre uma conta na partição padrão aws e uma conta na partição aws-cn.

Por exemplo, presuma que você gerencie a AccountA e a AccountB. No AccountA, você tem o bucket do Amazon S3 chamado de BucketA. Anexe uma política baseada em recurso a BucketA que permite que todos os principais de AccountB tenham acesso total aos objetos no bucket. Eles podem criar, ler ou excluir objetos nesse bucket. Na AccountB, você anexa uma política ao usuário do IAM nomeado como User2. Essa política permite que o usuário tenha acesso somente leitura aos objetos em BucketA. Isso significa que o User2 pode visualizar os objetos, mas não criá-los, editá-los ou excluí-los.


        Delegação de acesso para uma conta da AWS
  1. A AccountA fornece à AccountB acesso total ao BucketA nomeando a AccountB como principal na política baseada em recursos. Como resultado, a AccountB é autorizada a realizar qualquer ação no BucketA e o administrador da AccountB pode delegar o acesso aos usuários na AccountB.

  2. A AccountB da usuário raiz tem todas as permissões concedidas à conta. Portanto, a usuário raiz tem acesso total ao BucketA.

  3. O administrador da AccountB não concede acesso ao User1. Por padrão, os usuários não têm permissões, exceto aquelas que são explicitamente concedidas. Portanto, o User1 não tem acesso ao BucketA.

  4. O administrador do AccountB concede ao User2 acesso somente leitura ao BucketA. O User2 pode visualizar os objetos no bucket. O nível máximo de acesso que a AccountB pode delegar é o nível de acesso concedido à conta. Nesse caso, a política baseada em recursos concedeu acesso total à AccountB, mas o User2 tem acesso somente leitura.

O IAM avalia as permissões de um principal no momento que este faz uma solicitação. Portanto, se você usar curingas (*) para fornecer aos usuários acesso total aos recursos, os principais poderão acessar qualquer recurso ao qual a conta da AWS tem acesso. Isso é verdadeiro mesmo para recursos que você adiciona ou aos quais obtém acesso após criar a política de usuário.

No exemplo anterior, se a AccountB tivesse anexado uma política ao User2 que permitisse acesso total aos recursos em todas as contas, o User2 automaticamente teria acesso a todos os recursos aos quais a AccountB tivesse acesso. Isso inclui o acesso do BucketA e o acesso a quaisquer outros recursos concedido por políticas baseadas em recursos na AccountA.

Importante

Conceda acesso somente a entidades confiáveis e atribua o nível mínimo de acesso necessário. Sempre que a entidade confiável for outra conta da AWS, essa conta pode, por sua vez, delegar acesso a qualquer um dos seus usuários do IAM. A conta confiável da AWS pode delegar acesso apenas na medida em que o acesso foi concedido; ela não pode delegar mais acessos do que o concedido para a própria conta.

Para obter informações sobre permissões, políticas e a linguagem de política de permissões usada para criar políticas, consulte Gerenciamento de acesso a recursos da AWS.