Perguntas frequentes do AWS Identity and Access Management (IAM)

Geral

O IAM fornece controle de acesso minucioso em toda a AWS. Com o IAM, é possível controlar o acesso a serviços e recursos sob condições específicas. Use as políticas do IAM, para gerenciar permissões para seu quadro de funcionários e sistemas para garantir permissões com privilégio mínimo. O IAM é oferecido sem cobranças adicionais. Para obter mais informações, consulte O que é o IAM?

O IAM fornece autenticação e autorização para produtos da AWS. Um serviço avalia se a solicitação da AWS será permitida ou negada. O acesso é negado por padrão e é permitido somente quando uma política concede acesso explícito. É possível anexar políticas a funções e a recursos para controlar o acesso na AWS. Para obter mais informações, consulte Como funciona o IAM.

Ao definir permissões com políticas do IAM, conceda apenas as permissões necessárias para executar uma tarefa. Essa prática se chama conceder privilégio mínimo. Você aplica permissões de privilégio mínimo no IAM definindo as ações que podem ser executadas em recursos específicos mediante condições específicas. Para obter mais informações, consulte Gerenciamento de acesso para recursos da AWS.

Comece a usar o IAM para gerenciar permissões para serviços e recursos da AWS criando uma função do IAM e concedendo permissões a ela. Para usuários do quadro de funcionários, crie um perfil que possa ser assumido pelo provedor de identidade. Para sistemas, crie uma função que possa ser assumida pelo serviço que você está usando, como o Amazon EC2 ou o AWS Lambda. Após criar uma função, anexe uma política à função para conceder permissões que atendam às suas necessidades. No início, talvez você não conheça as permissões específicas necessárias, então pode começar com permissões mais abrangentes. As políticas gerenciadas pela AWS fornecem permissões para ajudar você a dar os primeiros passos e estão disponíveis em todas as contas da AWS. Depois, reduza as permissões definindo políticas gerenciadas pelo cliente específicas para seus casos de uso. Você pode criar e gerenciar políticas e funções pelo console do IAM, pelas APIs da AWS ou pela AWS CLI. Para obter mais informações, consulte Conceitos básicos do IAM.

Recursos do IAM

Perfis do AWS Identity and Access Management (IAM) fornecem um modo de acessar a AWS com base em credenciais de segurança temporárias. Cada perfil tem um conjunto de permissões para fazer solicitações de produtos da AWS, e um perfil não está associado a um usuário ou grupo específico. Em vez disso, entidades confiáveis, como provedores de identidade ou produtos da AWS, assumem perfis. Para obter mais informações, consulte Perfis do IAM.

Você deve usar funções do IAM para conceder acesso a suas contas da AWS com base em credenciais de curto prazo, uma prática recomendada de segurança. As identidades autorizadas, que podem ser produtos da AWS ou usuários de seu provedor de identidade, podem assumir funções para fazer solicitações à AWS. Para conceder permissões a uma função, anexe uma política do IAM a ela. Para obter mais informações, consulte Cenários comuns para perfis.

Os usuários do IAM são identidades com credenciais de longo prazo. Talvez você esteja usando usuários do IAM para usuários de quadro de funcionários. Nesse caso, a AWS recomenda usar um provedor de identidade e federá-lo na AWS assumindo funções. Também é possível usar funções para conceder acesso entre contas a serviços e recursos, como funções do AWS Lambda. Em alguns cenários, você pode exigir que usuários do IAM com chaves de acesso com credenciais de longo prazo tenham acesso a sua conta da AWS. Para esses cenários, a AWS recomenda usar as últimas informações de acesso ao IAM usadas para alternar as credenciais frequentemente e remover as credenciais que não estão em uso. Para obter mais informações Visão geral do gerenciamento de identidades da AWS: usuários.

As políticas do IAM definem permissões para as entidades às quais são anexadas. Por exemplo, para conceder acesso a uma função do IAM, anexe uma política à função. As permissões definidas na política determinam se as solicitações serão permitidas ou negadas. Também é possível anexar políticas a alguns recursos, como buckets do Simple Storage Service (Amazon S3), para conceder acesso direto entre contas. E você pode anexar políticas a uma organização ou unidade organizacional da AWS para restringir o acesso a várias contas. A AWS avalia essas políticas quando uma função do IAM faz uma solicitação. Para obter mais informações, consulte Políticas baseadas em identidade.

Conceder acesso

Para conceder acesso a serviços e recursos com o AWS Identity and Access Management (IAM), anexe políticas do IAM a perfis ou recursos. Comece anexando políticas gerenciadas pela AWS, que pertencem à AWS, são atualizadas por ela e estão disponíveis em todas as contas da AWS. Se você conhece as permissões específicas necessárias para seus casos de uso, pode criar políticas gerenciadas pelo cliente e anexá-las a perfis. Alguns recursos da AWS fornecem um modo de conceder acesso definindo uma política anexada a recursos, como buckets do Simple Storage Service (Amazon S3). Essas políticas baseadas em recursos permitem conceder acesso direto entre contas aos recursos aos quais estão anexadas. Para obter mais informações, consulte Gerenciamento de acesso para recursos da AWS.

Para atribuir permissões a um perfil ou recurso, crie uma política, que é um documento JavaScript Object Notation (JSON) que define permissões. O documento contém declarações de permissões que concedem ou negam acesso a ações, recursos e condições de serviço específicos. Após criar uma política, é possível anexá-la a uma ou mais funções da AWS para conceder permissões a sua conta da AWS. Para conceder acesso direto entre contas a recursos, como buckets do Simple Storage Service (Amazon S3), use políticas baseadas em recursos. Crie suas políticas pelo console do IAM, pelas APIs da AWS ou pela AWS CLI. Para mais informações, consulte Criação de políticas do IAM.

As políticas gerenciadas pela AWS são criadas e administradas pela AWS e incluem casos de uso comuns. Para começar, conceda permissões mais abrangentes usando as políticas gerenciadas pela AWS que estão disponíveis em sua conta da AWS e são comuns em todas as contas da AWS. Então, à medida que refina seus requisitos, você pode limitar as permissões definindo políticas gerenciadas pelo cliente específicas para seus casos de uso com o objetivo de obter permissões de privilégio mínimo. Para obter mais informações, consulte Políticas gerenciadas pela AWS.

Para conceder somente as permissões necessárias para realizar tarefas, crie políticas gerenciadas pelo cliente específicas para seus casos de uso e recursos. Use as políticas gerenciadas pelo cliente para continuar refinando as permissões para seus requisitos específicos. Para obter mais informações, consulte Políticas gerenciadas pelo cliente.

As políticas em linha são integradas e inerentes a funções do IAM específicas. Use políticas em linha para manter um relacionamento individual estrito entre uma política e a identidade à qual ela é aplicada. Por exemplo, é possível conceder permissões administrativas para garantir que elas não sejam anexadas a outras funções. Para obter mais informações, consulte Políticas em linha.

Políticas baseadas em recursos são políticas de permissões que são anexadas a recursos. Por exemplo, é possível anexar políticas baseadas em recursos a buckets do Simple Storage Service (Amazon S3), filas do Amazon SQS, endpoints da VPC e chaves de criptografia do AWS Key Management Service. Para obter uma lista de serviços que oferecem suporte políticas baseadas em recursos, consulte os Produtos da AWS compatíveis com o IAM. Use políticas baseadas em recursos para conceder acesso direto entre contas. Com políticas baseadas em recursos, defina quem terá acesso a um recurso e quais ações poderá realizar com ele. Para obter mais informações, consulte Políticas baseadas em identidade em recurso.

O RBAC oferece um modo de atribuir permissões com base na função de trabalho da pessoa, conhecida fora da AWS como função. O IAM fornece o RBAC definindo funções do IAM com permissões que se alinham às funções de trabalho. Então, você pode conceder acesso para que indivíduos assumam essas funções e realizem funções de trabalho específicas. Com o RBAC, é possível auditar o acesso examinando cada função do IAM e suas permissões anexadas. Para obter mais informações, consulte Comparar o ABAC com o modelo de RBAC tradicional.

Como prática recomendada, conceda acesso somente às ações e recursos de serviço específicos necessários para realizar cada tarefa. Isso se chama conceder privilégio mínimo. Quando os funcionários adicionam novos recursos, é necessário atualizar as políticas para permitir o acesso a esses recursos.

O ABAC é uma estratégia de autorização que define permissões com base em atributos. Na AWS, esses atributos são chamados de etiquetas, e é possível defini-los em recursos da AWS, perfis do IAM e em sessões de perfil. Com o ABAC, você define um conjunto de permissões com base no valor de uma etiqueta. É possível conceder permissões detalhadas a recursos específicos exigindo que as etiquetas da função ou sessão correspondam às etiquetas do recurso. Por exemplo, você pode criar uma política que conceda aos desenvolvedores acesso a recursos marcados com o cargo “desenvolvedor”. O ABAC é útil em ambientes que estão em rápido crescimento, concedendo permissões a recursos à medida que são criados com etiquetas específicas. Para obter mais informações, consulte o Controle de acesso baseado em atributos para a AWS.

Para conceder acesso usando o ABAC, primeiro defina as chaves de etiqueta e os valores que deseja utilizar para controle de acesso. Depois verifique se sua função do IAM tem as chaves e valores de etiqueta adequados. Se várias identidades usarem essa função, você também poderá definir chaves e valores de etiqueta de sessão. Em seguida, verifique se seus recursos têm as chaves e valores de etiqueta apropriados. Também é possível exigir que os usuários criem recursos com as etiquetas adequadas e restrinjam o acesso para modificá-las. Depois que suas etiquetas estiverem aplicadas, defina uma política que conceda acesso a ações e tipos de recursos específicos, mas somente se as etiquetas de função ou de sessão corresponderem às etiquetas de recurso. Para obter um tutorial que demonstra como usar o ABAC na AWS, consulte Tutorial do IAM: Definir permissões para acessar recursos da AWS com base em etiquetas.

Restringir acesso

Com o AWS Identity and Access Management (IAM), todo acesso é negado por padrão e requer uma política que conceda acesso. Ao gerenciar permissões em escala, convém implementar barreiras de proteção de permissões e restringir o acesso em suas contas. Para restringir o acesso, especifique uma instrução Deny em qualquer política. Se uma instrução Deny se aplicar a uma solicitação de acesso, ela sempre prevalecerá sobre uma instrução Allow. Por exemplo, se você permitir o acesso a todas as ações na AWS, mas negar o acesso ao IAM, toda solicitação ao IAM será negada. É possível incluir uma instrução Deny em qualquer tipo de política, inclusive em políticas baseadas em identidade, baseadas em recursos e de controle de serviço com o AWS Organizations. Para obter mais informações, acesse Controlar o acesso com o AWS Identity and Access Management.

As SCPs são semelhantes a políticas do IAM e usam quase a mesma sintaxe. Porém, as SCPs não concedem permissões. Em vez disso, as SCPs permitem ou negam o acesso a produtos da AWS para contas individuais da AWS com contas-membro do Organizations ou para grupos de contas em uma unidade organizacional. As ações especificadas de uma SCP afetam todos os usuários e funções do IAM, inclusive o usuário raiz da conta-membro. Para obter mais informações, consulte Lógica da avaliação de política

Analisar o acesso

Ao começar a conceder permissões, conceda permissões mais abrangentes enquanto explora e experimenta. À medida que os casos de uso amadurecem, a AWS recomenda que refinar as permissões para conceder apenas as permissões necessárias com o objetivo de chegar a permissões de privilégio mínimo. A AWS fornece ferramentas que ajudam você a refinar suas permissões. Comece com as políticas gerenciadas pela AWS, que são criadas e administradas pela AWS e contêm permissões para casos de uso comuns. À medida que refina suas permissões, defina permissões específicas nas políticas gerenciadas pelo cliente. Para ajudar a definir as permissões específicas necessárias, use o AWS Identity and Access Management (IAM) Access Analyzer, revise os logs do AWS CloudTrail e examine as informações do último acesso. Você também pode usar o simulador de políticas do IAM para testar e solucionar problemas de políticas.

Obter privilégio mínimo é um ciclo contínuo para conceder as permissões detalhadas corretas à medida que seus requisitos evoluem. O IAM Access Analyzer ajuda a simplificar o gerenciamento de permissões em cada etapa desse ciclo. A geração de políticas com o IAM Access Analyzer gera uma política minuciosa com base na atividade de acesso capturada em seus logs. Isso significa que, depois de criar e executar uma aplicação, você pode gerar políticas que concedem apenas as permissões necessárias para operar a aplicação. A validação de política com o IAM Access Analyzer utiliza mais de 100 verificações de política para orientar a criação e validação de políticas seguras e funcionais. Você pode usar essas verificações ao criar novas políticas ou para validar as políticas existentes. Descobertas públicas e entre contas com o IAM Access Analyzer ajudam você a verificar e refinar o acesso permitido por suas políticas de recursos de fora de sua organização ou conta da AWS. Para obter mais informações, consulte Usando o IAM Access Analyzer.

Pode haver usuários, funções e permissões do IAM em sua conta da AWS que não sejam mais necessários. Recomendamos que você os remova com o objetivo de obter acesso com privilégio mínimo. Para usuários do IAM, revise as últimas informações de senha e chave de acesso usadas. Para funções, revise as últimas informações da função usada. Essas informações estão disponíveis no console do IAM, nas APIs e nos SDKs. As últimas informações usadas ajudam a identificar usuários e funções que não estão mais em uso e que podem ser removidos com segurança. Você também pode refinar as permissões revisando o serviço e as informações do último acesso para identificar permissões não utilizadas. Para obter mais informações, consulte Refinar permissões na AWS usando as informações do último acesso.

O simulador de políticas do IAM avalia as políticas que você escolhe e determina as permissões efetivas para cada uma das ações especificadas. Use o simulador de políticas para testar e solucionar problemas de políticas baseadas em identidade e em recursos, limites de permissões do IAM e SCPs. Para obter mais informações, consulte Testar as políticas do IAM com o simulador de políticas do IAM.

As verificações de políticas personalizadas do IAM Access Analyzer validam se as políticas do IAM atendem aos padrões de segurança antes das implantações. As verificações de políticas personalizadas usam o poder do raciocínio automatizado (garantia de segurança comprovável com o respaldo de evidências matemáticas) para permitir que as equipes de segurança detectem proativamente atualizações de políticas fora de conformidade. Por exemplo, uma nova versão de política do IAM é mais permissiva que a versão anterior. As equipes de segurança podem usar essas verificações para agilizar as análises, aprovando automaticamente políticas em conformidade com padrões de segurança e inspecionando mais detalhadamente as que não cumprem esses padrões. Esse novo tipo de validação oferece maior garantia de segurança na nuvem. As equipes e desenvolvimento podem automatizar as revisões de políticas em grande escala integrando essas verificações de políticas personalizadas às ferramentas e ambientes usados pelos desenvolvedores para criar políticas, como pipelines de CI/CD.

O IAM Access Analyzer simplifica a inspeção do acesso não utilizado para guiá-lo em direção ao menor privilégio. As equipes de segurança podem usar o IAM Access Analyzer para obter visibilidade do acesso não utilizado em toda a organização da AWS e automatizar a forma como dimensionam as permissões corretamente. Quando a opção de analisador de acesso não utilizado está habilitada, o IAM Access Analyzer analisa continuamente suas contas para identificar acessos não utilizados e cria um painel centralizado com as descobertas. O painel ajuda as equipes de segurança a analisar as descobertas de forma centralizada e a priorizar as contas com base no volume de descobertas. As equipes de segurança podem usar o painel para analisar as descobertas de forma centralizada e priorizar quais contas são analisadas com base no volume de descobertas. As descobertas destacam funções não utilizadas, chaves de acesso não utilizadas para usuários do IAM e senhas não utilizadas para usuários do IAM. Para funções e usuários ativos do IAM, as descobertas fornecem visibilidade sobre serviços e ações não utilizados.