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: 1655



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

Desenvolvendo o campo de visão de um personagem em um plano 2D

Detectando objetos que entram dentro do campo de visão do personagem. Útil para servir de "gatilho" para eventos em um jogo.

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

Integrando o PHP com Elasticsearch no desenvolvimento de um sistema de busca

Projeto de criação de um sistema de busca usando o framework Symfony e Elasticsearch. A integração com Kibana também é feito de modo remoto com um raspberrypi.

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.

Criando um sistema de mini garagem automatizada integrada com um sistema de monitoramento independente

Desenvolvimento de um sistema de monitoramento que exibi todos os eventos que acontecem na garagem automatizada, como abertura de portões ou ocupação de vagas.

Veja também

Uma das vantagens de ter um robô trabalhando para você é o aumento da produtividade

Hoje em dia não é mais necessário gastar o nosso tempo com tarefas que podem se automatizadas. Os robôs estão aqui para nos ajudar...

Pessoas sem um endereço não podem utilizar os correios. Dispositivos sem um endereço não podem acessar a internet.

Quando nos conectamos à internet, nós recebemos um endereço IP. O endereço IP é o nosso endereço virtual que vai servir como localização para a transferência de dados na internet

ERP Enterprise Resource Planning

Software que possibilita o gerenciamento de todos os recursos da empresa em um só sistema. Esses recursos são capital, pessoas, coisas e informações.

IaaS (Infrastructure as a Service)

Computador virtual. Fornece infraestrutura de computação básica distribuída em vários locais, oferecendo mais flexibilidade e escalabilidade.

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.

RAT Remote Access Trojan

O RAT é um malware que tipicamente infecta o computador da vítima por um cavalo de tróia. Uma vez detectado, não é muito difícil sua remoção.