Visão geral do gerenciamento de acesso: permissões e políticas - AWS Identity and Access Management

Visão geral do gerenciamento de acesso: permissões e políticas

A parte de gerenciamento de acesso do AWS Identity and Access Management (IAM) ajuda você a definir o que uma entidade principal tem permissão para fazer em uma conta. Uma entidade principal é uma pessoa ou uma aplicação que é autenticada usando uma entidade (usuário ou função) do IAM. O gerenciamento de acesso geralmente é referenciado como autorização. Você gerencia o acesso na AWS criando políticas e anexando-as às identidades do IAM (usuários, grupos de usuários ou funções) ou aos 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 função) 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 são armazenadas 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 IAM.

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. 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

Os usuários do IAM são identidades no serviço. 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 criando uma política baseada em identidade, que é uma política que é anexada ao usuário ou grupo ao qual o usuário pertence. O exemplo a seguir mostra uma política JSON que permite que o usuário 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ê anexar essa política a seu usuário do IAM, o usuário terá somente essas permissões do DynamoDB. A maioria dos usuários têm várias políticas que juntas representam as permissões para esse usuário.

Por padrão, as ações ou os recursos que não são explicitamente permitidos são negados. Por exemplo, se a política anterior for a única política anexada a um usuário, esse usuário só poderá executar ações do DynamoDB na tabela Books. As ações em todas as outras tabelas são proibidas. Da mesma forma, o usuário não tem permissão para realizar nenhuma ação no Amazon EC2, Amazon S3 ou em qualquer outro produto da AWS. O motivo é que as permissões para trabalhar com esses serviços não estão incluídas na política.

Políticas e grupos

Você pode organizar os usuários do IAM em grupos do IAM e anexar uma política a um grupo. Neste caso, os usuários individuais ainda têm suas próprias credenciais, mas todos os usuários em um grupo têm as permissões que são anexadas ao grupo. Use grupos para facilitar o gerenciamento de permissões e siga o nossas Práticas recomendadas de segurança no IAM.

Os usuários podem ser organizados em grupos para facilitar o gerenciamento de permissões, porque os usuários têm as permissões atribuídas a um grupo.

Os usuários ou os grupos podem ter várias políticas anexadas a eles que concedem diferentes permissões. Neste caso, as permissões dos usuários são calculadas com base na combinação de políticas. No entanto, o princípio básico ainda se aplica: se o usuário não recebeu uma permissão explícita para uma ação e um recurso, ele 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 uma função 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 obter mais informações, consulte Criação de políticas do IAM e Edição de 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 recurso.

O serviço do IAM oferece suporte a apenas um tipo de política baseada em recurso chamada política de confiança de uma função, que é anexada a uma função do IAM. Como uma função do IAM é tanto uma identidade quanto um recurso que oferece suporte a políticas baseadas em recurso, você deve anexar uma política de confiança e uma política baseada em identidade a uma função 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.