Olá! Meu nome é Letícia. Sou uma pessoa branca, de olhos castanhos escuros e cabelo castanho escuro na altura dos ombros. Hoje estou vestindo uma camiseta branca.
Audiodescrição: Letícia está no quarto de gravação, com uma iluminação azul e roxa ao fundo, uma estante de livros à direita e um vaso de plantas à esquerda.
Sejam bem-vindos ao curso sobre ambiente AWS para cientistas de dados.
Vamos começar entendendo como funcionam as permissões e a segurança na AWS, para garantir que tudo o que fizermos dentro da nuvem esteja protegido e com os acessos corretos.
Em seguida, veremos como armazenar e acessar dados na AWS, utilizando os principais serviços de armazenamento.
Depois, exploraremos o SageMaker, onde iniciaremos uma análise exploratória e criaremos um modelo simples de Machine Learning (aprendizado de máquina), executando um código Python em uma instância na nuvem. Isso significa que estaremos em um ambiente computacional totalmente gerenciado pela AWS, sem a necessidade de configurar nada localmente.
Posteriormente, conheceremos mais sobre o AWS Glue para montar um processo de ETL visual sem a necessidade de escrever código Python.
Por fim, utilizaremos o Athena para consultar e analisar os dados com SQL diretamente no S3.
É importante lembrar que a AWS é uma plataforma extensa com diversos serviços que podem ser combinados de diferentes formas em um projeto de dados. Neste curso, escolhemos um caminho mais prático e direto, focado em um fluxo enxuto e aplicável ao dia a dia de uma pessoa cientista de dados.
Uma dica é realizar este curso com calma. Aproveitem cada etapa, explorem o ambiente, testem as ferramentas e acompanhem o projeto. Durante o curso, trabalharemos de forma prática, utilizando uma base de dados sobre doenças cardíacas. Vamos criar um pequeno fluxo completo de dados e machine learning. Desenvolveremos um modelo de machine learning na nuvem, entendendo como cada serviço se conecta e como tudo funciona na prática.
Este é o momento ideal para montar o próprio projeto prático. Criem um repositório com este projeto, documentem cada etapa, as decisões tomadas, os testes realizados e os resultados encontrados. Assim, ao final, teremos um projeto completo de ciência de dados na AWS para incluir no portfólio.
Após concluir o projeto que desenvolveremos, uma boa recomendação é escolher outra base de dados de interesse e tentar aplicar todo o fluxo aprendido nessa nova base. Essa prática ajudará a consolidar o aprendizado e expandir o portfólio com algo totalmente próprio.
Vamos mergulhar no universo da AWS juntos?
Nesta primeira aula, vamos discutir sobre IAM e segurança, que são fundamentais dentro da AWS. Antes de criar qualquer recurso na nuvem, é essencial garantir que tudo esteja seguro e com os acessos configurados corretamente.
O que é o IAM? O AWS Identity and Access Management (IAM) é o serviço responsável por gerenciar quem pode acessar o quê dentro da AWS. Ele é o alicerce de segurança na nuvem, controlando tanto as identidades, como usuários, grupos e funções, quanto as permissões que definem exatamente quais ações cada um pode realizar em cada serviço.
Um conceito importante são as políticas, ou policies. As políticas do IAM definem permissões para uma ação, independentemente do método usado para executar a operação. Uma política IAM pode ser encontrada na AWS como políticas pré-criadas que a própria AWS define ou políticas personalizadas que podem ser codificadas em JSON, modo visual ou até mesmo importadas. Elas definem de maneira precisa os três pilares de uma regra de acesso:
s3:GetObject do S3 para ler um arquivo.Allow ou Deny.Além disso, temos os usuários. Um usuário IAM é uma entidade que representa uma pessoa ou aplicativo que interage com os serviços da AWS. Os usuários podem fazer login no console de gerenciamento da AWS para tarefas interativas, bem como fazer solicitações programáticas usando a API e o CLI. Os usuários do IAM podem receber permissões diretamente ou fazer parte de um grupo com permissões específicas.
Os grupos do IAM são uma coleção de usuários que compartilham políticas de controle de acesso. Os membros do grupo têm permissão para executar ações específicas em objetos dentro do escopo do grupo. Por exemplo, se for concedido acesso somente à leitura a todas as instâncias do EC2, qualquer membro do grupo poderá exibir informações sobre essas instâncias.
Por fim, temos as funções, ou roles, que são outro componente essencial do IAM. As funções são identidades temporárias usadas para conceder permissões a serviços da AWS ou permitir acesso seguro entre aplicações, sem precisar criar usuários ou compartilhar credenciais. Por exemplo, ao trabalhar com o Amazon SageMaker, se quisermos que o notebook acesse dados armazenados em um bucket do S3, atribuímos ao notebook uma função com as permissões necessárias, e o acesso acontece de forma automática e segura utilizando essa função.
Podemos utilizar as roles (funções) para delegar acesso a usuários, aplicações e serviços que normalmente não teriam permissão para acessar determinados recursos da AWS. Isso inclui cenários como permitir que usuários de outra conta da AWS acessem nossos recursos ou conceder permissões temporárias dentro da nossa própria conta. A role funciona como um perfil de acesso que reúne um conjunto de políticas e permissões, podendo ser associada a um serviço, um usuário temporário ou até outra conta AWS, dependendo da necessidade. Diferente de um usuário, uma role não possui credenciais fixas, como senha ou chaves de acesso. Esse modelo garante mais segurança, evita o uso de credenciais expostas e facilita o controle de acesso em pipelines, notebooks e aplicações que rodam na nuvem.
Agora, abordando algumas boas práticas de segurança, o primeiro ponto é que é altamente recomendável não usar o usuário raiz, conhecido como root, para tarefas do dia a dia. Ele deve ser utilizado apenas em situações críticas, como configurações iniciais da conta, recuperação de acesso ou tarefas específicas que exigem privilégios totais. Isso é importante porque o usuário raiz tem acesso irrestrito a todos os recursos da conta da AWS, incluindo a capacidade de excluir dados, alterar políticas de segurança, encerrar a conta, entre outros. Portanto, é essencial proteger essas credenciais com o máximo de cuidado, armazená-las em um local seguro e nunca utilizá-las para operações rotineiras. Após criar um usuário administrativo no IAM, devemos utilizar apenas esse usuário para o trabalho diário e manter o acesso root guardado para emergências.
O segundo ponto é o privilégio mínimo. Devemos conceder apenas as permissões estritamente necessárias para que cada usuário, função ou serviço da AWS execute suas tarefas específicas. Evitar conceder permissões amplas ou genéricas, como políticas com acesso irrestrito, é fundamental, pois isso aumenta o risco de uso indevido ou exploração acidental ou maliciosa dos recursos. Por exemplo, se um usuário precisa apenas enviar arquivos para um bucket específico do S3, em vez de conceder acesso total ao S3, podemos criar uma política que limite as ações e recursos, permitindo que o usuário envie objetos para o bucket, mas não possa listar, excluir ou acessar outros buckets.
O terceiro ponto é o uso de grupos. Para facilitar o controle de permissões, devemos criar grupos IAM com políticas específicas para cada tipo de função ou equipe. Por exemplo, podemos criar um grupo chamado "cientistas de dados". Assim, em vez de configurar permissões individualmente para cada usuário, podemos adicionar os usuários aos grupos correspondentes, como o grupo de cientistas de dados. Dessa forma, fica mais fácil gerenciar quem pode fazer o quê, e qualquer mudança futura de permissão pode ser feita diretamente no grupo, sem precisar ajustar usuário por usuário.
Agora que entendemos um pouco do conceito por trás do IAM, precisamos começar a colocar tudo isso em prática. Na próxima aula, vamos começar criando uma conta do zero na AWS e, em seguida, criar nosso usuário administrador.
O primeiro passo para utilizar os serviços da AWS é a criação de uma conta. Além disso, precisamos criar um usuário administrador, pois, como vimos na aula anterior, é uma boa prática ter esse usuário ao invés de utilizar a conta raiz, a conta root. É isso que vamos fazer nesta aula.
Primeiramente, precisamos acessar a página da AWS. Podemos digitar aws.amazon.com/pt para visualizar a página em português. Se já tivermos uma conta na AWS, podemos clicar em "faça login no console". Caso contrário, podemos criar uma conta do zero clicando em "criar conta". Vamos criar uma conta do zero, então clicaremos em "criar conta".
Existem algumas etapas que precisamos seguir. A primeira delas é inserir um endereço de e-mail e dar um nome para a conta. Vamos colocar nosso endereço de e-mail, que será utilizado para verificação. Em seguida, colocamos o nome da conta e clicamos em "verificar e-mail". Um código será enviado para nosso e-mail, que utilizaremos para verificar a conta. Após inserir o código recebido, clicamos em "verificar". Se tudo estiver correto, a conta será criada com sucesso.
Agora, podemos definir uma senha forte, com pelo menos oito caracteres, incluindo letras maiúsculas, minúsculas e números. Após definir a senha, clicamos em "continuar". Esta é a etapa 1 de 5.
Na próxima página, precisamos escolher um plano. Existem opções de plano pago e um plano gratuito de seis meses. Podemos optar pelo plano gratuito clicando em "escolha o plano gratuito". Em seguida, precisamos fornecer algumas informações pessoais, como nome completo, país, número de telefone com DDD, endereço, cidade, entre outros. Após preencher essas informações, concordamos com os termos e clicamos em "confirmar" para continuar o processo.
Na etapa seguinte, são solicitadas informações de faturamento, incluindo um cartão de crédito. É importante destacar que a AWS faz uma pequena cobrança de verificação, que é estornada posteriormente. Essa cobrança é temporária, geralmente de um dólar ou equivalente, e serve para verificar a conta. Preenchemos as informações do cartão de crédito, como data de expiração, código de segurança, nome e endereço.
Após preencher todas as informações, precisamos confirmar nossa identidade. Inserimos nosso número de telefone e escolhemos a opção de receber um SMS para confirmação. Após inserir o número de telefone, digitamos os caracteres solicitados para confirmar. Um código de verificação será enviado por SMS, que inserimos para continuar.
Com a conta verificada através do telefone, podemos selecionar um plano. Optamos pelo plano básico, que é gratuito, e completamos o cadastro. O processo de ativação da conta pode levar alguns minutos, e receberemos um e-mail quando for concluído. Por fim, clicamos em "acessar o console de gerenciamento da AWS" para verificar se já conseguimos acessar nossa conta.
Agora que conseguimos acessar o console da AWS, observamos a barra superior que contém a opção de pesquisa. Nessa barra, podemos digitar "IAM" para criar um usuário administrador, pois não queremos utilizar a conta raiz. Essa é a primeira etapa que vamos realizar.
Clicamos no serviço IAM e, no menu lateral esquerdo, escolhemos a opção "users" para criar um novo usuário. Selecionamos "create user" e atribuímos um nome ao usuário. Habilitamos a opção para prover acesso ao painel do console de gerenciamento da AWS e definimos uma senha forte. Após isso, clicamos em "next".
Na seção de permissões, escolhemos a opção de anexar políticas diretamente. Isso nos permite vincular políticas pré-configuradas a um usuário específico, sem a necessidade de criar grupos ou personalizar regras. Esse método é recomendado para ambientes de teste ou estudo, pois facilita o aprendizado e a configuração inicial. Em ambientes de produção, o ideal é criar grupos e anexar as políticas necessárias ao grupo, garantindo melhor organização e segurança.
Selecionamos a política "Administrator Access", que concede acesso total a todos os serviços e recursos da conta. Aqui está como essa política é definida:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}
]
}
Outra política que selecionamos é a "de-beaming", que concede acesso total ao console de cobrança e custos, permitindo visualizar e gerenciar faturas, relatórios de custos e orçamentos. A definição dessa política é a seguinte:
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"account:GetAccountInformation",
"aws-portal:Billing",
"aws-portal:PaymentMethods",
"aws-portal:Usage",
"billing:CreateBillingView",
"billing:DeleteBillingView",
"billing:GetBillingData",
"billing:GetBillingDetails",
"billing:GetBillingNotifications",
"billing:GetBillingPreferences",
...
"tax:UpdateExemptions"
],
"Resource": "*"
}
Se quisermos criar um usuário para outra pessoa do time, com permissão apenas para baixar, enviar e excluir arquivos em um bucket específico, podemos criar uma policy personalizada. Ao clicar em "Create Policy", somos direcionados para uma nova página onde podemos criar essa permissão de forma visual, em JSON, ou até importar. No modo visual, selecionamos o serviço específico, definimos as ações permitidas e os recursos. No JSON, especificamos o efeito, as ações permitidas e o bucket específico. Aqui está um exemplo de como essa política pode ser definida:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject"
],
"Resource": "arn:aws:s3:::meubucketpessoal/*"
}
]
}
Essa prática de limitar o acesso a um bucket específico é comum em ambientes reais. Após criar a policy, prosseguimos com as configurações do usuário administrador para fins de teste e aprendizado, utilizando as duas políticas para simplificar o processo.
Após adicionar as políticas, clicamos em "Next", revisamos as informações e criamos o usuário. Com o usuário criado, acessamos suas informações e verificamos as policies anexadas. Agora, precisamos sair da conta raiz e acessar a nova conta de administrador para começar a utilizar os serviços da AWS.
O curso AWS: ciência de dados, gestão de segurança e custos possui 210 minutos de vídeos, em um total de 46 atividades. Gostou? Conheça nossos outros cursos de Machine Learning em Data Science, ou leia nossos artigos de Data Science.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
2 anos de Alura
Matricule-se no plano PLUS 24 e garanta:
Jornada de estudos progressiva que te guia desde os fundamentos até a atuação prática. Você acompanha sua evolução, entende os próximos passos e se aprofunda nos conteúdos com quem é referência no mercado.
Mobile, Programação, Front-end, DevOps, UX & Design, Marketing Digital, Data Science, Inovação & Gestão, Inteligência Artificial
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você participa de eventos exclusivos, pode tirar dúvidas em estudos colaborativos e ainda conta com mentorias em grupo com especialistas de diversas áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
2 anos de Alura
Todos os benefícios do PLUS 24 e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Para estudantes ultra comprometidos atingirem seu objetivo mais rápido.
2 anos de Alura
Todos os benefícios do PRO 24 e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.
Conecte-se ao mercado com mentoria individual personalizada, vagas exclusivas e networking estratégico que impulsionam sua carreira tech para o próximo nível.