Como o IAM funciona - AWS Identity and Access Management

Como o IAM funciona

O AWS Identity and Access Management fornece a infraestrutura necessária para controlar a autenticação e autorização da sua Conta da AWS.

Primeiro, um usuário humano ou uma aplicação usa suas credenciais de login para se autenticar na AWS. O IAM compara as credenciais de entrada com uma entidade principal (usuário do IAM, usuário federado, perfil do IAM ou aplicação) de confiança da Conta da AWS e autentica a permissão para acessar a AWS.

Em seguida, o IAM faz uma solicitação para conceder à entidade principal acesso aos recursos. O IAM concede ou nega o acesso em resposta a uma solicitação de autorização. Por exemplo, ao acessar o console pela primeira vez e ir para a página inicial do console, você não está acessando um serviço específico. Ao selecionar um serviço, você envia ao IAM uma solicitação de autorização para esse serviço. O IAM confirma que a sua identidade está na lista de usuários autorizados, determina quais políticas controlam o nível de acesso concedido e avalia outras políticas que possam estar em vigor. As entidades principais da sua Conta da AWS ou de outra Conta da AWS na qual você confia podem fazer solicitações de autorização..

Uma vez autorizada, a entidade principal pode realizar ações ou operações nos recursos da sua Conta da AWS. Por exemplo, a entidade principal pode iniciar uma nova instância do Amazon Elastic Compute Cloud, modificar a associação ao grupo do IAM ou excluir buckets do Amazon Simple Storage Service. O seguinte diagrama ilustra esse processo ao longo da infraestrutura do IAM:

Esse diagrama mostra como uma entidade principal é autenticada e autorizada pelo serviço IAM para realizar ações ou operações em outros serviços ou recursos da AWS.

Componentes de uma 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 operações que a entidade principal deseja realizar, como uma ação no AWS Management Console ou uma operação na AWS CLI ou na API da AWS.

  • Recursos: o objeto de recurso da AWS no qual a entidade principal deseja realizar ações ou operações.

  • 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 entidade principal incluem as políticas de permissão.

  • Dados do ambiente: informações sobre o endereço IP, o agente do usuário, o status do SSL habilitado e o timestamp.

  • Dados do recurso: dados relacionados ao recurso solicitado, como um nome de 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 da solicitação, que o IAM avalia para e autorizá-la.

Como as entidades principais são autenticados

Uma entidade principal entra na AWS usando suas credenciais, que são autenticadas pelo IAM autentica para permitir que a entidade principal envie uma solicitação à AWS. Alguns serviços, como o Amazon S3 e o AWS STS, permitem determinadas solicitações de usuários anônimos. Porém, essas são exceções à regra. Todo tipo de usuário passa pela autenticação.

  • Usuário-raiz: as credenciais de entrada usadas para autenticação são o endereço de e-mail que você usou para criar a Conta da AWS e a senha que especificou naquele momento.

  • Usuário federado: seu provedor de identidades autentica e passa suas credenciais para a AWS; você não precisa entrar diretamente na AWS. Tanto o IAM Identity Center quanto o IAM são compatíveis com usuários federados.

  • Usuários no Diretório do Centro de Identidade do AWS IAM (não federados): os usuários criados diretamente no diretório padrão do IAM Identity Center entram usando o portal de acesso do AWS e fornecem o seu nome de usuário e senha.

  • Usuário do IAM: você entra fornecendo o ID ou o alias da sua conta, seu nome de usuário e sua senha. Para autenticar workloads usando a API ou a AWS CLI, você pode usar credenciais temporárias assumindo um perfil ou usar credenciais de longo prazo fornecendo sua chave de acesso e sua chave secreta.

    Para saber mais sobre as entidades do IAM, consulte Usuários do IAM e Perfis do IAM.

A AWS recomenda o uso da autenticação multifator (MFA) para aumentar a segurança de sua conta. Para saber mais sobre a MFA, consulte Código da autenticação multifator no IAM da AWS.

Princípios básicos da política de autorização e permissão

Autorização se refere à entidade principal ter as permissões necessárias para concluir a solicitação. Durante a autorização, o IAM identifica as políticas que se aplicam à solicitação usando valores do contexto da solicitação. Em seguida, ela usa as políticas para determinar se deve permitir ou negar uma solicitação. O IAM armazena a maioria das políticas de permissão como documentos JSON que especificam as permissões das entidades principais.

vários tipos de políticas que podem afetar uma solicitação de autorização. Para fornecer aos usuários permissões para acessar os recursos da AWS em sua conta, você pode usar políticas baseadas em identidade. As políticas baseadas em recurso podem conceder acesso entre contas. Para fazer uma solicitação em outra conta, uma política nessa outra conta deve 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.

O IAM verifica todas as políticas que se aplicam ao contexto da sua solicitação. A avaliação da política do IAM usa uma negação explícita, o que significa que, se uma única política de permissão incluir uma ação negada, o IAM negará toda a solicitação e interromperá a avaliação. Como as solicitações são negadas por padrão, as políticas de permissões aplicáveis devem permitir que todas as partes da solicitação do IAM autorizem sua solicitação. A lógica de avaliação de uma solicitação em uma única conta segue estas regras básicas:

  • Por padrão, todas as solicitações são negadas. (Em geral, as solicitações feitas usando as credenciais 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 uma política de controle de serviços (SCP) ou de uma política de controle de recursos (RCP) do Organizations, um limite de permissões do IAM ou uma política de sessão se sobrepõem à permissão. Se um ou mais desses tipos de política existir, todos eles devem permitir a solicitação. Se não, ela será implicitamente negada. Para obter mais informações sobre SCPs e RCPs, consulte Políticas de autorização no AWS Organizations no Guia do usuário do AWS Organizations.

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

Para saber mais, consulte Lógica da avaliação de política.

Depois que o IAM autentica e autoriza a entidade principal, o IAM aprova as ações ou operações solicitadas avaliando a política de permissão que se aplica à entidade principal. Cada serviço da AWS define com quais ações (operações) ele é compatível e inclui o que você pode fazer com um recurso, como visualizar, criar, editar e excluir esse recurso. A política de permissão aplicável à entidade principal deve incluir as ações necessárias para realizar uma operação. Para saber mais sobre como o IAM avalia as políticas de permissão, consulte Lógica da avaliação de política.

O serviço define um conjunto de ações que uma entidade principal poder realizar em cada recurso. Ao criar políticas de permissão, certifique-se de incluir as ações que você deseja que o usuário possa realizar. Por exemplo, o IAM é compatível com mais de 40 ações para um recurso de usuário incluindo as seguintes ações básicas:

  • CreateUser

  • DeleteUser

  • GetUser

  • UpdateUser

Além disso, você pode especificar condições na política de permissão que forneçam acesso aos recursos quando a solicitação atender às condições especificadas. Por exemplo, talvez você queira que uma instrução da política entre em vigor após uma data específica ou controle o acesso quando um valor específico aparecer em uma API. Para especificar condições, use o elemento Condition de uma instrução da política.

Depois que o IAM aprova as operações em uma solicitação, a entidade principal pode trabalhar com os 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. Se a entidade principal criar uma solicitação para realizar uma ação em um recurso que não está incluída na política de permissão, o serviço negará a solicitação. Por exemplo, se tiver permissão para excluir um perfil do IAM, mas solicitar permissão para excluir um grupo do IAM, a solicitação falhará se você não tiver permissão para excluir grupos do IAM. Para saber mais sobre quais ações, recursos e chaves de condição são compatíveis com os diferentes serviços da AWS, consulte Actions, Resources, and Condition Keys for AWS Services.