Escolar Documentos
Profissional Documentos
Cultura Documentos
br
DlteC do Brasil®
www.dltec.com.br
info@dltec.com.br|413045.7810
Copyright © 2021.
O conteúdo dessa apostila é uma adaptação da matéria online do curso Identidades e Gestão
de Acessos à AWS.
Aviso Importante!
Esse material é de propriedade da DlteC do Brasil e é protegido pela lei de direitos autorais
9610/98.
Seu uso pessoal e intransferível é somente para os alunos devidamente matriculados no curso.
A cópia e distribuição é expressamente proibida e seu descumprimento implica em processo
cível de danos morais e material previstos na legislação contra quem copia e para quem
distribui.
Identidades e Gestão de
Acessos à AWS
Sumário
1 Introdução ao Curso
1.1 Introdução
Bem-vindo (a) ao curso Identidades e Gestão de Acessos à AWS - o segundo daqueles que
integram a trilha de cursos AWS Cloud Practitioner da DlteC do Brasil, cuja estrutura é
ilustrada a seguir:
Esses cursos lhe ajudarão a preparar-se para o exame CLF-C01 da Amazon Web Services
(AWS). Ao ser aprovado (a), você conquista a certificação AWS Certified Cloud Practitioner.
2.1 Introdução
O AWS Identity and Access Management (IAM) é o serviço que disponibiliza os mecanismos
necessários para que se consiga controlar com segurança os acessos aos recursos da Nuvem
AWS. Você poderá utilizá-lo para determinar quem poderá autenticar-se em sua conta e quais
recursos estarão autorizados a utilizar:
• Acesso compartilhado à sua conta: você poderá conceder permissões a outras pessoas
para que administrem e usufruam dos recursos de Nuvem em sua conta da AWS:
• Permissões granulares: o IAM permite que você conceda permissões de maneira granular
àqueles que precisam utilizar os seus recursos na Nuvem AWS.
Por exemplo, você pode conceder acesso completo a alguns usuários ao Amazon Elastic
Compute Cloud (Amazon EC2), ao Amazon Simple Storage Service (Amazon S3), ao Amazon
DynamoDB, ao Amazon Redshift, e a outros serviços da AWS.
Para outros usuários, você pode permitir acesso somente leitura a apenas alguns buckets do S3
ou permissão para administrar apenas algumas instâncias do EC2 ou para acessar suas
informações de faturamento, mas nada mais.
O IAM consegue integrar-se com provedores de identidade que trabalhem com o protocolo de
autenticação OpenID Connect (como o Login with Amazon, Facebook, Google e outros) e com
aqueles que trabalhem com o padrão SAML 2.0 (como o ForgeRock e o Microsoft Active
Directory, por exemplo).
• Autenticação multifator: você pode configurar a autenticação de dois fatores à sua conta e
aos usuários individuais para proporcionar segurança extra.
Por meio da Multi-Factor Authentication (MFA), você ou seus usuários deverão fornecer não
apenas uma senha ou chave de acesso para trabalhar com a sua conta da AWS, mas também
um código disponibilizado por um dispositivo especialmente configurado.
Informação Adicional:
O IAM é um recurso oferecido sem custos adicionais em sua conta da AWS. Você é apenas
cobrado (a) quando acessar outros serviços utilizando os usuários do IAM ou as credenciais
temporárias de segurança oferecidas pelo serviço AWS Security Token Service (STS).
A figura a seguir ilustra as formas pelas quais você poderá autenticar-se e, consequentemente,
interagir com o AWS IAM:
Alguns serviços da AWS trabalham a nível de região, enquanto outros são globais. O IAM é um
exemplo de serviço global da AWS.
Isto quer dizer que você não precisará criar recursos do serviço em cada região da AWS que
precise trabalhar. O que se configura no IAM se aplica automaticamente a todas as regiões.
3.1 Introdução
Quando você criou a sua conta da AWS no curso "Introdução à Nuvem AWS", você já começa
utilizando uma identidade conhecida como usuário raiz ou root.
Como possui acesso total e irrestrito aos serviços e recursos da AWS em sua conta, é também
dito que este usuário é o "proprietário" da sua conta da AWS.
Para logar-se com este usuário no Console, você utiliza o endereço de e-mail e senha
informados durante o processo de criação da conta da AWS.
Após clicar em "Próximo", informe a sua senha para que consiga autenticar-se na Nuvem AWS
e acessar o Console de Gerenciamento:
A AWS recomenda que você não utilize o usuário root em suas atividades do dia a dia na
nuvem e muito menos compartilhe as suas credenciais com ninguém.
O recomendado é que você crie um usuário do IAM com privilégios administrativos e utilize-o
para trabalhar, deixando o root apenas para tarefas que assim o exijam, tais como:
Por padrão, os usuários do IAM não conseguem ter acesso a nada em sua conta da AWS. Com
isto, você consegue seguir o padrão de segurança recomendado pela AWS denominado como
"privilégio mínimo" ao conceder permissões.
Este indica que você somente deverá conceder as permissões necessárias para que os usuários
consigam realizar as tarefas que precisam e nada mais.
Informação Adicional:
Cada conta da AWS poderá possuir, no máximo, 5.000 usuários do IAM. Caso seja necessário
incluir mais usuários, a AWS sugere que você considere o uso de credenciais de segurança
temporárias. Tais credenciais agem como base para o uso de funções do IAM e da federação
de identidades. Retornaremos a isto mais a frente.
Você anexa as permissões necessárias ao grupo e, quando os usuários forem nele incluídos,
tais permissões são automaticamente herdadas por cada um. A figura a seguir ilustra a
finalidade dos grupos de usuários:
Você poderá criar até 300 grupos em sua conta da AWS. No entanto, este limite padrão
consegue ser estendido até 500 grupos.
É importante mencionar que um usuário do IAM poderá pertencer a muitos grupos, mas um
grupo não poderá ser integrado a outro, já que o serviço não suporta o aninhamento de grupos.
Além disso, os grupos de usuários não são utilizados pelo IAM no processo de autenticação dos
usuários, mas sim para autorizar o acesso aos recursos da Nuvem AWS a partir da sua conta.
Digite "iam" na barra de pesquisas e, após clicar no ícone do serviço, seu painel (ou console)
será apresentado.
Repare que na parte superior da janela é apresentada a URL padrão a ser utilizada pelos
usuários do IAM para acessar os recursos e serviços de nuvem em sua conta da AWS:
Vamos criar um alias para esta URL. Para isto, clique em "Personalizar" e defina um nome que
será posicionado no lugar do identificador da sua conta da AWS na URL. O alias não poderá
exceder o limite de 63 caracteres :
Para criar o seu primeiro usuário, clique na opção "Usuários" (localizada no lado esquerdo da
tela) e, em seguida, clique no botão "Adicionar usuários".
Na primeira tela de configuração, você deverá informar o nome do usuário e o seu tipo de
acesso: seja via Console ou de forma programática.
Nomeie o usuário com o seu primeiro e segundo nome ("Leandro.Siqueira", por exemplo) e
selecione somente a opção de acesso ao Console.
Ao clicar na opção de acesso ao Console, novos campos serão exibidos para que você configure
a senha do usuário do IAM. Esta poderá ser gerada automaticamente caso seja necessário.
Configure uma senha manualmente e, em seguida, desmarque a opção que exige ao usuário
alterá-la no próximo login.
Continue o procedimento clicando no botão "Próximo", de forma que a tela de configuração das
permissões seja exibida:
Clique no botão "Criar um grupo" para que o pop-up de criação de grupos do IAM seja
apresentado.
Clique no botão "Próximo" para que a tela de configuração de tags do IAM seja exibida:
Nesse momento não iremos nos preocupar em preencher nenhuma tag. Portanto, clique no
botão "Próximo" para que a tela de revisão seja exibida:
Clique em "Fechar" para que a tela de usuários do IAM seja exibida - já incluindo aquele que
acabamos de criar:
Para visualizar o grupo que criamos durante o processo, clique na opção "Grupos de usuários":
Clique agora na opção "Usuários" para retornar à tela anterior e, em seguida, clique sobre o
nome do seu usuário:
Uma política é um objeto na AWS que, quando associado a uma identidade ou a um recurso,
define suas permissões.
A maioria das políticas são armazenadas na AWS como documentos JSON (JavaScript Object
Notation).
Clique sobre o botão "{} JSON" para visualizar o código correspondente à política que foi
anexada ao grupo "Admin":
Feche esta janela e, retornando agora para a tela do IAM, vamos criar um novo grupo. Para
isto, clique em "Grupos de usuários" e, na tela apresentada, clique em "Criar grupo":
Agora vamos criar um novo usuário do IAM e incluí-lo neste grupo que acabamos de definir.
Para isto, clique em "Usuários" e, em seguida, no botão "Adicionar usuários". Nomeie-o como
"Bob" e defina-lhe somente o acesso de forma programática à Nuvem AWS:
Clique no botão "Próximo" para que a tela de permissões seja exibida. Em seguida, selecione a
caixinha referente ao grupo "Desenvolvedores", de maneira que o usuário seja nele incluído:
As chaves de acesso são credenciais de longo prazo que consistem de duas partes:
• ID da chave de acesso
• Chave de acesso secreta.
Se você clicar no link "Exibir", você poderá visualizar a chave de acesso secreta que foi gerada.
Clique no botão "Fazer download .csv" para que tais informações sejam baixadas para a sua
máquina local - você precisará dessas informações mais a frente.
Informação Adicional:
A AWS recomenda que você não gere chaves de acesso para o usuário root da sua conta, já
que esta proporciona acesso total a todos os seus recursos para todos os serviços da Nuvem
AWS (incluindo informações sobre faturamento).
4 Autenticação Multifator
4.1 Introdução
Quando o recurso é ativado, os usuários (seja o root ou do IAM) precisarão informar um código
específico de autenticação que tenha sido gereado por algum dispositivo MFA suportado pela
AWS.
• Dispositivos MFA virtuais: aplicação que poderá ser instalada em seu telefone, por
exemplo, e que gera códigos numéricos de seis dígitos com base em um algoritmo de senha
única - sincronizado com o tempo.
• Chave de segurança U2F: dispositivo que você poderá conectar na porta USB de sua
máquina. O U2F (Universal 2nd Factor) é um padrão de autenticação aberto hospedado pela
FIDO Alliance.
Quando uma chave U2F é habilitada, o usuário faz o login informando as suas credenciais e, em
seguida, toca no dispositivo para que a autenticação seja completada (ao contrário de inserir
manualmente algum código). A figura a seguir ilustra um exemplo da Yubico:
Casos suas senhas ou chaves de acesso tenham sido comprometidas, os recursos da sua conta
da AWS ainda estarão seguros devido ao requisito de autenticação adicional imposto pelo
recurso.
Para configurar a autenticação multifator ao usuário root, clique sobre o alias da sua conta da
AWS na barra superior da janela do Console e selecione a opção "Minhas credenciais de
segurança":
Clique na seta ao lado de "Autenticação multifator (MFA)" e, em seguida, clique sobre o botão
"Ativar MFA" para que o seguinte pop-up seja apresentado:
Deixe selecionada a opção padrão ("Dispositivo MFA virtual") e clique em "Continuar" para que
tela a seguir seja apresentada:
Após instalar um aplicativo que seja suportado pela AWS em seu telefone, clique em "Exibir
código QR" e posicione o telefone na frente da tela para que o aplicativo consiga ler o código
QR.
Efetue o logout do Console de Gerenciamento da AWS clicando sobre o alias da sua conta e, em
seguida, sobre "Sair".
Em seguida, clique no botão "Fazer login novamente". Selecione a opção "Usuário root",
informe o seu endereço de e-mail e pressione o botão "Próximo".
Após confirmar os caracteres de segurança e digitar a sua senha, perceba que a tela da
autenticação multifator é exibida:
Digite o código numérico que esteja sendo apresentado na aplicação instalada em seu telefone
e clique sobre "Enviar" para acessar o Console de Gerenciamento da AWS.
5.1 Introdução
Quando uma política de senha personalizada não é definida, a política padrão da AWS é
utilizada com os seguintes requisitos:
A política padrão ainda especifica que a senha dos usuários não poderão ser idênticas ao nome
ou endereço de e-mail da conta da AWS.
Vamos definir uma senha personalizada, desta vez já utilizando as credenciais de acesso do
usuário administrador - "Leandro.Siqueira", neste exemplo.
Para isto, posicione a sua URL de login de usuários do IAM em seu navegador e acesse-a:
Preencha os campos conforme as suas configurações e clique em "Entrar". Repare que o nome
do usuário do IAM é exibido na barra superior da janela do Console de Gerenciamento da AWS:
Acesse o IAM e clique em "Configurações de conta" para que a tela a seguir seja apresentada:
Clique em "Alterar política de senha" para ter acesso as configurações que você poderá
determinar:
6.1 Introdução
Outro exemplo de entidade do IAM é aquele conhecido como função ou role. Uma função é um
recurso do IAM similar a um usuário, no sentido de também receber políticas administrativas
que determinarão aquilo que poderá ou não ser feito em seus recursos da Nuvem AWS.
No entanto, ao contrário dos usuários, as funções não possuem credenciais padrão de longo
prazo (senhas ou chaves de acesso), além de serem principalmente assumidas por aplicações.
Quando uma aplicação assume uma função definida em sua conta da AWS chamando as APIs
"AssumeRole" do serviço Amazon Security Token Service (STS), essas retornam à função
credenciais de segurança temporárias que serão válidas apenas durante um curto período de
tempo.
Por exemplo, imagine que você possua uma aplicação sendo executada em uma instância do
Amazon EC2. Imagine também que esta aplicação normalmente não possua permissão para
acessar certos objetos que encontram-se armazenados em um bucket do Amazon S3.
No entanto, devido a alteração em alguns requisitos, esta aplicação agora precisará ter acesso
eventual a tal bucket, de forma a gravar alguns registros específicos. Ou seja, agora a aplicação
precisará ter acesso programático ao bucket do Amazon S3.
Neste cenário, você poderá criar uma função específica para que seja assumida pela aplicação,
de forma que consiga ter acesso ao bucket apenas nos momentos em que isto seja necessário:
Um outro exemplo comum do uso de funções se dá naqueles casos onde pessoas já possuam
identidades configuradas fora da AWS (como em um serviço de diretório na rede corporativa)
ou em outra conta da AWS.
Casos esses precisem trabalhar com os seus de Nuvem, você poderá definir uma função do IAM
para especificar as permissões que deverão ser associadas:
Vamos criar um exemplo simples mas que dará uma boa ideia sobre o uso de funções do IAM.
O nosso objetivo será criar um usuário do IAM com certas permissões em relação ao Amazon
EC2 mas que consiga assumir uma função de forma que obtenha acesso full ao Amazon S3.
Primeiramente, vamos criar uma função. Para isto, estando no Console de Gerenciamento da
AWS com o seu usuário incluído no grupo "Admin" ("Leandro.Siqueira", neste exemplo), acesse
o painel do IAM e selecione a opção "Funções":
Deixe selecionada a opção "Outra conta da AWS" (que se refere a sua conta ou a de terceiros)
e, em "ID da conta", digite o identificador da sua conta da AWS:
Vamos anexar a política "AmazonS3FullAccess" à função. Por isto, pesquise por ela e selecione
a caixinha para anexá-la.
Em seguida, clique no botão "Próximo" para acessar a tela de tags. Não iremos configurar
nenhuma tag. Sendo assim, clique em "Próximo" para acessar a tela de revisão.
Em seguida, você irá criar um usuário do IAM com acesso ao Console de Gerenciamento
denominado "Paulo":
Após acessar a tela de permissões, selecione a opção "Anexar políticas existentes de forma
direta" e, em seguida, clique no botão "Criar política" para que uma nova janela seja aberta
apresentando o seguinte:
Com a aba "Editor visual" selecionada, clique sobre o link "Escolha um serviço" e digite "ec2" na
caixa de pesquisa. Clique no link do serviço e, após clicar na seta ao lado de "Ações", clique na
seta ao lado de leitura e selecione aquelas exibidas a seguir:
Clique no link "fechar" localizado abaixo de "Ações" e, em seguida, clique na opção "Adicionar
permissões adicionais".
Em "Escolha um serviço", digite "iam", clique no link do serviço e, após clicar na seta ao lado de
"Lista", selecione a ação "ListRoles" e clique em "fechar" localizado abaixo de "Ações".
Clique novamente em "Adicionar permissões adicionais" e escolha desta vez o serviço STS. Em
"Ações", clique na seta ao lado de "Gravação" e selecione a ação "AssumeRole" (clicando no link
"fechar" em seguida).
Agora clique na seta ao lado de "Recursos" e, em seguida, clique sobre o link "Adicionar ARN".
No pop-up exibido, insira o ARN da função que criamos no campo "Especificar ARN para role":
Clique em "Adicionar" para que o pop-up seja fechado. Suba a barra de rolagem da janela e,
após clicar sobre a aba "JSON", observe os códigos que foram automaticamente gerados com
base naquilo que foi determinado via "Editor visual":
Clique no botão "Próximo" e, na tela de configuração de tags, clique em "Próximo" para ter
acesso à tela de revisão. Nomeie a política como "MinhaPoliticaTeste" e dê a descrição que
preferir:
Clique em "Criar política" para que esta já torna-se disponível para ser utilizada.
Na tela de criação do usuário, clique no botão de refresh para que a listagem das políticas seja
atualizada. Em seguida, pesquise pela "MinhaPoliticaTeste", selecione a caixinha disponível ao
lado de seu nome e clique no botão "Próximo" para prosseguir.
Na tela de configuração de tags, clique no botão "Próximo" para acessar a tela de revisão:
Após clicar em "Criar usuário", baixe o arquivo ".csv" contendo os seus dados de acesso à
Nuvem AWS e clique no botão "Fechar".
Efetue o logout da sua conta da AWS e, utilizando a URL de usuários do IAM, acesse o Console
utilizando as credenciais de acesso do usuário "Paulo".
Digite "s3" na barra de pesquisa do Console e clique no ícone do serviço. Observe que o usuário
não possui permissões para listar os buckets do Amazon S3:
Para que "Paulo" assuma a função que criamos, clique sobre o alias da conta na barra superior
do Console e selecione a opção "Alternar funções":
Em seguida, clique no botão "Mudar de função" para que o usuário do IAM assuma a função
que criamos:
Note que as mensagens relacionadas a problemas de permissão não são exibidas. Perceba
também que o nome da função assume o lugar do nome do usuário na barra superior da janela.
Para voltar a utilizar o usuário do IAM, clique sobre o nome da função e selecione "Voltar para
Paulo":
Ao fazer isto, você poderá perceber que as mensagens de permissão são novamente exibidas.
7.1 Introdução
No curso "Introdução à Nuvem AWS", você aprendeu a instalar a AWS CLI tanto no Linux
quanto no Microsoft Windows.
Agora, iremos realizar algumas tarefas simples no IAM via linha de comandos, de maneira que
você possa visualizar como isto funciona na prática. Os exemplos a seguir serão efetuados na
máquina Linux.
Sendo assim, acesse o terminal e, estando no diretório home do seu usuário, execute o
comando "aws" junto a ação "configure".
Você precisará informar o ID da chave de acesso do usuário do IAM "Bob" e a sua chave de
acesso secreta. Acompanhe:
$ aws configure
Após finalizar a configuração, o subdiretório ".aws" já estará disponível no seu diretório home:
$ ls -l .aws
total 8
-rw-------. 1 leandro leandro 29 Aug 12 13:27 config
-rw-------. 1 leandro leandro 116 Aug 12 13:27 credentials
No arquivo "config", você encontrará a configuração que você determinou para a região padrão:
$ cat .aws/config
[default]
region = sa-east-1
$ cat .aws/credentials
[default]
aws_access_key_id = xxx
aws_secret_access_key = xxx
Para visualizar os usuários do IAM que encontram-se configurados na sua conta da AWS,
execute o comando "aws" da seguinte maneira:
{
"Group": {
"Path": "/",
"GroupName": "Dbas",
"GroupId": "AGPAVIOBZV4JRBUZZUO7X",
"Arn": "arn:aws:iam::361720557331:group/Dbas",
"CreateDate": "2021-08-12T16:32:40+00:00"
}
}
{
"User": {
"Path": "/",
"UserName": "Thomas",
"UserId": "AIDAVIOBZV4JUOSVV2N3M",
"Arn": "arn:aws:iam::361720557331:user/Thomas",
"CreateDate": "2021-08-12T16:41:02+00:00"
}
}
Agora vamos definir uma senha provisória ao Console de Gerenciamento da AWS para o novo
usuário. Quando este logar pela primeira vez, ele precisará informar uma nova senha:
Por padrão, o usuário do IAM é criado sem qualquer permissão. Desta maneira, execute o
comando a seguir para incluí-lo ao grupo de usuários "Dbas":
Em seguida, vamos anexar uma política gerenciada pela AWS ao grupo "Dbas", de maneira que
o usuário herde as suas permissões.
Para isto, acesse o Console de Gerenciamento da AWS com o seu usuário administrador
("Leandro.Siqueira", neste exemplo) e, após acessar o painel do IAM, clique sobre a opção
"Políticas".
Pesquise pela política "PowerUserAccess" e, após encontrá-la, clique sobre o seu nome para que
sua tela de resumo seja exibida:
Efetue o logout do Console com o seu usuário administrador e acesse a URL de login dos seus
usuários do IAM. Digite "Thomas" em "Nome de usuário" e informe a senha provisória que
definimos via linha de comandos.
Após clicar em "Entrar", perceba que você deverá configurar uma nova senha ao usuário do
IAM:
Defina a nova senha e clique no botão "Confirmar a alteração de senha" para aplicá-la e
acessar o Console de Gerenciamento da AWS:
8 Conclusão e Certificado
Parabéns por ter chegado ao final do curso Gerenciamento de Identidades e Acessos na
Nuvem AWS!
Tenha certeza de que compreendeu todos os conceitos aqui mostrados. Não esqueça que você
deve ler e assistir tudo para obter o seu certificado de conclusão do curso.