Como funciona o IAM - AWS Identity and Access Management

Como funciona o IAM

Antes de criar usuários, você deve entender como o IAM funciona. O IAM fornece a infraestrutura necessária para controlar a autenticação e autorização da sua conta. A infraestrutura do IAM inclui os seguintes elementos:


      IntroToIAM_Diagram

Termos

Saiba mais sobre regiões do IAM.

Recursos da IAM

O usuário, grupo, função, política, provedor de identidade e objetos que são armazenados no IAM. Assim como acontece com outros produtos da AWS, você pode adicionar, editar e remover recursos do IAM.

Identidades do IAM

Os objetos de recurso do IAM usados para identificar e agrupar. Você pode anexar uma política a uma identidade do IAM. Entre eles estão usuários, grupos e funções.

Entidades do IAM

Os objetos de recurso do IAM usados pela AWS na autenticação. Entre eles estão usuários e funções do IAM.

Entidades principais

Uma pessoa ou aplicação que usa o usuário raiz da Conta da AWS, um usuário do IAM ou uma função do IAM para fazer login e fazer solicitações à AWS. Os principais incluem usuários federados e funções assumidas.

Entidade principal

Uma principal é uma pessoa ou um aplicativo que pode fazer uma solicitação de uma ação ou operação em um recurso da AWS. A entidade é autenticada como usuário raiz da Conta da AWS ou uma entidade do IAM para fazer solicitações à AWS. Como melhor prática, não use suas credenciais usuário raiz para seu trabalho diário. Em vez disso, crie entidades do IAM (usuários e funções). Você também pode oferecer suporte a usuários federados ou a acesso programático para permitir que um aplicativo acesse sua conta da AWS.

Solicitação

Quando uma entidade principal tenta usar o AWS Management Console, a API da AWS ou a AWS CLI, ela envia uma solicitação para a AWS. A solicitação inclui as seguintes informações:

  • Ações (ou operações) – As ações ou as operações que o principal deseja executar. Pode ser uma ação no AWS Management Console, uma operação na AWS CLI ou na API da AWS.

  • Recursos: o objeto de recurso da AWS no qual as ações ou operações são executadas.

  • Principal – A pessoa ou o aplicativo que usou uma entidade (usuário ou função) para enviar a solicitação. As informações sobre a principal incluem as políticas associadas à entidade usada pela principal para fazer login.

  • Dados do ambiente – Informações sobre o endereço IP, o agente de usuário, o status do SSL habilitado ou a hora do dia.

  • Dados do recurso – Dados relacionados ao recurso que está sendo solicitado. Isso pode incluir informações como um nome da tabela do DynamoDB ou uma tag em uma instância do Amazon EC2.

O AWS reúne as informações da solicitação em um contexto de solicitação, que é usado para avaliar e autorizar a solicitação.

Autenticação

Uma entidade principal deve ser autenticada (conectado na AWS) usando suas credenciais para enviar uma solicitação para a AWS. Alguns serviços, como o Amazon S3 e o AWS STS, permitem algumas solicitações de usuários anônimos. No entanto, eles são a exceção à regra.

Para autenticar-se no console como um usuário usuário raiz, você deve fazer login com seu endereço de e-mail e senha. Como usuário do IAM, fornece o ID da conta ou o alias e usa seu nome de usuário e senha. Para autenticar-se na API ou na AWS CLI, você deve fornecer sua chave de acesso e chave secreta. Também pode ser necessário fornecer informações adicionais de segurança. Por exemplo, a AWS recomenda o uso da autenticação multifator (MFA) para aumentar a segurança de sua conta. Para saber mais sobre as entidades do IAM que a AWS pode autenticar, consulte Usuários do IAM e Perfis do IAM.

Autorização

Você também deve ser autorizado (permitido) para concluir a solicitação. Durante a autorização, a AWS usa valores do contexto da solicitação para verificar a existência de políticas que se aplicam à solicitação. Em seguida, ela usa as políticas para determinar se deve permitir ou negar uma solicitação. A maioria das políticas é armazenada no AWS, como documentos JSON e especifica as permissões para as entidades principais. Há vários tipos de políticas que podem afetar a autorização de uma solicitação. Para fornecer aos usuários permissões para acessar os recursos da AWS em sua conta, você precisa somente de políticas baseadas em identidade. As políticas baseadas em recurso são populares para conceder acesso entre contas. Os outros tipos de política são recursos avançados e devem ser usados com cuidado.

O AWS verifica cada política que se aplica ao contexto da sua solicitação. Se uma única política de permissões incluir uma ação negada, o AWS negará toda a solicitação e interromperá a avaliação. Esse processo é chamado de negação explícita. Como as solicitações são negadas por padrão, o AWS só autorizará a solicitação se cada parte da solicitação tiver permissão das políticas de permissão aplicáveis. A lógica de avaliação para um solicitação em uma única conta segue estas regras gerais:

  • Por padrão, todas as solicitações são negadas. (Em geral, as solicitações feitas usando as credenciais de usuário raiz da Conta da AWS para recursos na conta são sempre permitidas.)

  • Uma permissão explícita em uma política de permissões (baseada em recurso ou identidades) substitui esse padrão.

  • A existência de um SCP do Organizations, um limite de permissões do IAM ou uma política de sessão substitui a permissão. Se um ou mais desses tipos de política existir, todos eles devem permitir a solicitação. Caso contrário, ela será implicitamente negada.

  • Uma negação explícita em qualquer política substitui todas as permissões.

Para saber mais sobre como todos os tipos de políticas são avaliadas, consulte Lógica da avaliação de política. Se você precisar fazer uma solicitação em uma conta diferente, uma política na outra conta deverá permitir que você acesse o recurso, e a entidade do IAM que você usa para fazer a solicitação deve ter uma política baseada em identidade que permita a solicitação.

Ações ou operações

Depois que sua solicitação tiver sido autenticada e autorizada, a AWS aprovará as ações ou operações em sua solicitação. As operações são definidas por um serviço e incluem coisas que você pode fazer em um recurso, como visualizar, criar, editar e excluir esse recurso. Por exemplo, o IAM oferece suporte a aproximadamente 40 ações para um recurso de usuário incluindo as seguintes ações:

  • CreateUser

  • DeleteUser

  • GetUser

  • UpdateUser

Para permitir que uma entidade principal execute uma operação, você deve incluir as ações necessárias em uma política aplicável à entidade principal ou ao recurso afetado. Para ver uma lista de ações, tipos de recursos e chaves de condição compatíveis com cada serviço, consulte Ações, recursos e chaves de condição de serviços da AWS.

Recursos

Depois que a AWS aprova as operações em sua solicitação, elas podem ser executadas nos recursos relacionados em sua conta. Um recurso é uma objeto que existe dentro de um serviço. Os exemplos incluem uma instância do Amazon EC2, um usuário do IAM e um bucket do Amazon S3. O serviço define um conjunto de ações que podem ser executadas em cada recurso. Se você criar uma solicitação para realizar uma ação não relacionada em um recurso, essa solicitação será negada. Por exemplo, se você solicitar a exclusão de uma função do IAM mas fornecer um recurso de grupo do IAM, a solicitação falhará. Para ver tabelas de serviços da AWS que identificam quais recursos são afetados por uma ação, consulte Ações, recursos e chaves de condição de serviços da AWS.