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



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

Criando um jogo de pacman usando javascript e pixi.js (parte 1)

Desenvolvimento dos conceitos mais básicos do clássico pacman, como: mapa, animação, deslocamento e detector de colisões.

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.

Caixa eletrônico usando arquitetura limpa

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

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.

Usando dados fornecidos pelo TSE para simular o gráfico das eleições presidenciais de 2022

Simulação dos gráficos do segundo turno das eleições presidenciais, utilizando python e ferramentas de análise de dados, pandas e jupyter.

Veja também

Antigamente, as linguagens de programação não tinham um modo tão flexível de escrever como hoje

A linguagem de programação orientada a objetos revolucionou o mundo da programação, sendo o tipo de linguagem mais utilizada na atualidade

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

Indústria 4.0

Também conhecida como quarta revolução industrial, utiliza tecnologias modernas para automatizar processos. Iniciou-se em 2011, na Alemanha.

Fintech

Fintech é o uso da tecnologia para criar soluções inovadoras no mercado financeiro, facilitando a vida das pessoas em movimentar dinheiro virtualmente.

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.

HR Tech

HR Tech é um software que auxilia na gestão de pessoas, tornando-se possível o gerenciamento centralizado na área de recursos humanos.