IAM Identity and access manager

O gerenciamento de identidades e acesso é um recurso da AWS usado para atribuir permissões para usuários e recursos na AWS.

Categoria de Tecnologia

Postado em 22 janeiro 2024

Atualizado em 22 janeiro 2024

Palavras-chave: aws,amazon,iam,identidade,acesso,gerenciamento,nuvem,cloud

Visualizações: 2029



Atualmente, a AWS (Amazon Web Services) é a plataforma de nuvem mais utilizada mundialmente. Esse plataforma fornece uma grande quantidade de recursos que podem ser utilizados sob demanda ou como instâncias reservadas.

Pelo fato da AWS poder ser acessada por múltiplos usuários de uma empresa ou grupo de desenvolvedores, ela precisa ser administrada estrategicamente para que não cause problemas como acesso indevido de outros usuários em relação a recursos específicos. O IAM (Identity and Access Management) é o recurso responsável pelo gerenciamento de usuários. É essencial para projetos que tem múltiplos programadores trabalhando na nuvem em uma mesma conta.

O que é IAM na AWS?

IAM é um acrônimo para Gerenciamento de Identidade e Acesso. Esse recurso permite adicionar, editar ou remover permissões de usuários em relação a outros recursos da AWS. Por exemplo, podemos permitir que o usuário A possa apenas visualizar uma lista de usuários, mas ele não poderá adicionar ou editar usuários dessa lista. Para o usuário A ter permissão para adicionar ou editar usuários, ele precisa que tais permissões sejam atribuídas a ele. O usuário que poderá atribuir permissões para esse usuário A é o usuário raiz (root user) ou um usuário com permissões elevadas (como um usuário administrador).

exemplo de gerenciamento de identidade e acesso iam aws

Com excessão do usuário raiz, todos os usuários são IAM users. Os IAM Users são usuários que podem ser adicionados posteriormente e são vinculados ao usuário raiz que possui a conta da AWS.

O que é um IAM User?

Assim como o usuário raiz, o IAM user também precisa de credenciais como nome de usuário e senha. Entretanto, esse usuário precisa do ID da conta do usuário raiz para poder acessar o recurso IAM. Os IAM users possuem relação com com a conta do usuário raiz, por isso devem ser criados pelo próprio usuário raiz (a menos que o usuário raiz crie um usuário IAM com permissão para criar outros usuários IAM). O limite de usuários IAM que podem ser criados para uma conta na AWS é de até 5000.

Não é possível criar usuários IAM vinculados a outros usuários IAM (sub-usuários IAM). Todos os usuários serão criados a partir da conta do usuário raiz. Por exemplo, mesmo se um usuário IAM com permissão para criar outros usuários criar um, esse novo usuário será do domínio do usuário raiz.

O que são os groups, roles e politics no IAM?

No IAM, o gerenciamento de permissões é realizado usando três elementos:

  • Grupos de usuários (Groups)
  • Funções (Role)
  • Políticas (Politics)

Políticas

Nas políticas são definidos as permissões. As permissões de ler, escrever, editar e apagar permissões de um determinado recurso ou recursos são realizados nas políticas. Para as políticas terem efeito sobre um usuário ou recurso, elas devem ser selecionadas e atribuídas pelo usuário raiz ou usuário com permissões de administrador. A atribuição de políticas pode ser realizada em grupos de usuários ou em funções.

Funções

As funções são atribuídas diretamente em um recurso ou usuário. Uma função pode ser usada quando precisamos que um recurso ou usuário tenha permissão temporária sobre outro recurso. Um exemplo de função é permitir que o EC2 acesse outro recurso como o S3.

Grupos de usuários

Invés de atribuir políticas diretamente ao usuário, inseri o usuário dentro de um grupo com as políticas já definidas. Exemplos de grupos podem ser desenvolvedores, administradores ou testadores. Agiliza o trabalho de atribuição de permissões, pois necessita apenas uma ação: adicionar usuário em um determinado grupo.

Não é possível adicionar um usuário a múltiplos grupos. Porém, podemos adicionar políticas diretamente a um usuário, contornando esse problema.

Posso acessar o IAM por um software?

Sim, é possível acessar o IAM através de um SDK do AWS disponível para diversas linguagens de programação. A AWS também permite acesso pelo terminal.

Conclusão

O IAM é um serviço disponibilizado pela AWS para gerenciamento de usuários em uma única conta. O gerenciamento é feito através de grupos de usuários, funções e políticas. As permissões podem ser atribuídas em usuários e recursos. Assim como usuários precisam de permissões para acessar determinados recursos, recursos também precisam de permissão para acessar outros recursos.

Projetos práticos

Integrando Laravel com o protocolo MQTT para comunicação entre dispositivos

Projeto de comunicação entre dois dispositivos ESP8266 e Raspberrypi4. Laravel irá funcionar como servidor e receptor de dados de temperatura e umidade coletados com o DHT11.

Implementando um algoritmo de pathfinding

Implementando um programa que encontra a menor distância entre dois pontos dentro de um labirinto usando o algoritmo A* (a-estrela).

Tutorial de programação do jogo da serpente em javascript

Programando o clássico jogo da serpente usando o framework p5.js. Tutorial indicado para iniciantes da programação que querem aprender os conceitos básico da área criando jogos.

Caixa eletrônico usando arquitetura limpa

Usando JavaFX e arquitetura limpa para criar um aplicativo de caixa eletrônico extremamente simples.

Criando um sistema de integração contínua (CI/CD)

Fazendo a integração contínua de Jenkins, Sonatype Nexus, Sonatype, JUnit e Gradle para automatizar processos repetitivos. Prática bastante usada em tecnologias de DevOps.

Veja também

Um algoritmo não pode ser composto por instruções ambíguas, isso pode trazer resultados inesperados

Os algoritmos na ciência da computação são o principal meio para o desenvolvedor poder escrever instruções para o computador, operando a sua maneira

A digitalização é o jeito moderno de gerenciamento de documentos

Digitalizar documentos facilita o gerenciamento, aumenta a disponibilidade e economiza tempo, consequentemente trazendo muitos outros benefícios.

PERT Técnica de avaliação e revisão de programa

O PERT é um método composto por linhas e nós conectados entre si com o intuito de representar a dependência entre as atividades.

Engenharia social

A engenharia social é qualquer técnica na qual o agressor tenta enganar a vítima para obter dados sensíveis, como senha e cartão de crédito.

Financiamento coletivo

Foca principalmente em projetos com potencial e projetos que despertam o interesse de investidores, não sendo necessariamente focado na carência.

Internet profunda (Deep web)

Camada da internet onde sistemas de busca convencionais não conseguem acessar por diversos motivos, deixando de indexar o conteúdo.