Como permissões e políticas fornecem gerenciamento de acesso
A parte de gerenciamento de acesso do AWS Identity and Access Management (IAM) ajuda você a definir o que uma entidade principal pode fazer em uma conta. Uma entidade principal é uma pessoa ou aplicação autenticada usando uma entidade do IAM (usuário ou perfil do IAM). O gerenciamento de acesso geralmente é referenciado como autorização. Você gerencia o acesso na AWS criando políticas e anexando-as a identidades de IAM (usuários do IAM, grupos do IAM ou perfis IAM) ou recursos da AWS. Uma política é um objeto no AWS que, quando associado a uma identidade ou recurso, define suas permissões. A AWS avalia essas políticas quando uma entidade de segurança usa uma entidade (usuário ou perfil) do IAM para fazer uma solicitação. As permissões nas políticas determinam se a solicitação será permitida ou negada. A maioria das políticas é armazenada na AWS como documentos JSON. Para obter mais informações sobre os tipos e os usos de políticas, consulte Políticas e permissões no AWS Identity and Access Management.
Políticas e contas
Se você gerenciar uma única conta na AWS, você definirá as permissões nessa conta usando políticas. Se você gerenciar permissões entre várias contas, será mais difícil gerenciar as permissões de seus usuários do IAM. Você pode usar funções do IAM, políticas baseadas em recurso ou listas de controle de acesso (ACLs) para obter permissões entre contas. No entanto, se você possuir várias contas, em vez disso, recomendamos o uso do serviço AWS Organizations para ajudá-lo a gerenciar essas permissões. Para obter mais informações, consulte O que é o AWS Organizations? no Guia do usuário do Organizations.
Políticas e usuários
Usuários do IAM são identidades no Conta da AWS. Quando você cria um usuário do IAM, ele não pode acessar nada em sua conta até que você conceda permissão a ele. Você concede permissões a um usuário do IAM criando uma política baseada em identidade que é uma política anexada ao usuário do IAM ou a um grupo do IAM ao qual o usuário do IAM pertence. O exemplo a seguir mostra uma política JSON que permite que o usuário do IAM execute todas as ações do Amazon DynamoDB (dynamodb:*
) na tabela Books
na conta 123456789012
na região us-east-2
.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "dynamodb:*", "Resource": "arn:aws:dynamodb:us-east-2:123456789012:table/Books" } }
Depois que você anexa essa política ao usuário do IAM, ele tem permissão de realizar todas as ações da tabela Books
da instância do DynamoDB. A maioria dos usuários do IAM tem várias políticas que são combinadas para representar todas as permissões concedidas a ele.
Por padrão, as ações ou recursos que não são explicitamente permitidos são negados. Por exemplo, se a política precedente for a única política anexada a um usuário, esse usuário poderá realizar as ações do DynamoDB na tabela Books
, mas não poderá realizar ações em outras tabelas. De modo similar, o usuário não poderá realizar nenhuma ação no Amazon EC2, no Amazon S3 nem em qualquer outro serviço da AWS, porque as permissões para trabalhar com esses serviços não estão incluídas na política.
Políticas e grupos do IAM
Você pode organizar os usuários do IAM em grupos do IAM e anexar uma política a um grupo do IAM. Nesse caso, os usuários individuais do IAM ainda têm suas próprias credenciais, mas todos os usuários do IAM no grupo do IAM têm as permissões anexadas ao grupo. Use grupos do IAM para facilitar o gerenciamento de permissões.
Usuários ou grupos do IAM podem ter várias políticas anexadas a eles que concedem diferentes permissões. Nesse caso, a combinação de políticas determina as permissões efetivas da entidade principal. Se a entidade principal não tiver a permissão Allow
explícita para uma ação e um recurso, a entidade principal não terá essas permissões,.
Usuários federados e funções
Usuários federados não têm identidades permanentes na sua Conta da AWS da mesma forma que os usuários do IAM. Para atribuir permissões a usuários federados, você pode criar uma entidade denominada função e definir permissões para a função. Quando um usuário federado fizer login na AWS, ele estará associado à função e terá as permissões definidas na função. Para obter mais informações, consulte Criar um perfil para um provedor de identidade de terceiros (federação).
Políticas baseadas em identidade e em recursos
As políticas baseadas em identidade são políticas de permissões que você anexa a uma identidade do IAM, como um usuário, grupo ou função do IAM. As políticas baseadas em recurso são políticas de permissões que você anexa a um recurso, como um bucket do Amazon S3 ou uma política de confiança de função do IAM.
As Políticas baseadas em identidade controlam quais ações cada identidade pode realizar, em quais recursos e em que condições. As políticas baseadas em identidade podem ser categorizadas em:
-
Políticas gerenciadas: políticas autônomas baseadas em identidade que você pode anexar a vários usuários, grupos e perfis na sua Conta da AWS. Você pode usar dois tipos de políticas gerenciadas:
-
Políticas gerenciadas pela AWS: políticas gerenciadas que são criadas e gerenciadas pela AWS. Se você não tiver experiência com o uso de políticas, recomendamos começar usando políticas gerenciadas pela AWS.
-
Políticas gerenciadas pelo cliente: políticas gerenciadas que você criar e gerenciar na sua Conta da AWS. As políticas gerenciadas pelo cliente oferecem um controle mais preciso de suas políticas do que as políticas gerenciadas pela AWS. Você pode criar, editar e validar uma política do IAM no editor visual ou criando o documento de política JSON diretamente. Para ter mais informações, consulte Defina permissões personalizadas do IAM com políticas gerenciadas pelo cliente e Editar políticas do IAM.
-
-
Políticas em linha: políticas que você cria e gerencia e que são incorporadas diretamente em um único usuário, grupo ou função. Na maioria dos casos, não recomendamos o uso de políticas embutidas.
As Políticas baseadas em recurso controlam quais ações uma entidade principal pode realizar nesses recursos, e em que condições. As políticas baseadas em recursos são políticas em linha, e não há políticas gerenciadas que sejam baseadas em recurso. Para permitir o acesso entre contas, você pode especificar uma conta inteira ou as entidades do IAM em outra conta como a entidade principal em uma política baseada em atributo.
O serviço do IAM é compatível com um único tipo de política baseada em recurso denominada política de confiança de um perfil, a qual você anexa a um perfil do IAM. Como um perfil do IAM é tanto uma identidade quanto um recurso que é compatível com as políticas baseadas em recurso, você deve anexar uma política de confiança e uma política baseada em identidade a um perfil do IAM. As políticas de confiança definem quais entidades principais (contas, usuários, funções e usuários federados) podem assumir a função. Para saber como as funções do IAM diferem de outras políticas baseadas em recurso, consulte Acesso a recursos entre contas no IAM.
Para ver quais serviços oferecem suporte a políticas baseadas em recursos, consulte Serviços da AWS que funcionam com o IAM. Para saber mais sobre as políticas baseadas em recursos, consulte Políticas baseadas em identidade e em recurso.