Como as funções do IAM diferem de políticas baseadas em recurso
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.
As funções do IAM e as políticas baseadas em recurso delegam o acesso entre contas em uma única partição. Por exemplo, suponha que você tenha uma conta no Oeste dos EUA (Norte da Califórnia) na partição aws
padrão. Além disso, você tem uma conta na China (Pequim) na partição aws-cn
. Você não pode usar uma política baseada em recurso do Amazon S3 em sua conta na China (Pequim) para permitir o acesso de usuários em sua conta aws
padrão.
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 as entidades 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 é o IAM Access Analyzer?.
As entidades de segurança que você pode especificar em uma política baseada em recurso incluem contas, usuários do IAM, usuários federados, funções do IAM, sessões de função assumida ou produtos da AWS. Para 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 que funcionam 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 controla o acesso ao bucket e aos objetos nele. Para mais informações, acesse Controle de acesso no Guia do usuário do Amazon Simple Storage Service.
Em alguns casos, pode ser melhor usar funções para acesso entre contas ao Amazon S3. Para mais informações, consulte as demonstrações de exemplo no Guia do usuário do Amazon Simple Storage Service.
-
Tópicos do Amazon Simple Notification Service (Amazon SNS): para obter mais informações, acesse Gerenciamento de acesso aos seus tópicos do 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: A linguagem da política 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 recurso
Se um recurso conceder permissões às entidades de segurança em sua conta, você poderá delegar essas permissões a identidades do IAM específicas. 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 Gerenciamento de políticas do IAM.
As funções do IAM e as políticas baseadas em recurso 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
. Em AccountA
, você tem o bucket do Amazon S3 chamado 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 denominado 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.

-
A
AccountA
fornece àAccountB
acesso total aoBucketA
nomeando aAccountB
como principal na política baseada em recursos. Como resultado, aAccountB
é autorizada a realizar qualquer ação noBucketA
e o administrador daAccountB
pode delegar o acesso aos usuários naAccountB
. -
O usuário raiz
AccountB
possui todas as permissões concedidas à conta. Portanto, o usuário raiz tem acesso total aoBucketA
. -
O administrador da
AccountB
não concede acesso aoUser1
. Por padrão, os usuários não têm permissões, exceto aquelas que são explicitamente concedidas. Portanto, oUser1
não tem acesso aoBucketA
. -
O administrador do
AccountB
concede aoUser2
acesso somente leitura aoBucketA
. OUser2
pode visualizar os objetos no bucket. O nível máximo de acesso que aAccountB
pode delegar é o nível de acesso concedido à conta. Nesse caso, a política baseada em recursos concedeu acesso total àAccountB
, mas oUser2
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
.
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 poderá, 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 para recursos da AWS.