Pular para conteúdo

AWS — Guia de Configuração

O Elven Assessment analisa 71 serviços da AWS cobrindo segurança, confiabilidade, custo, operações e conformidade. Esta página detalha como configurar o acesso e personalizar o escopo do assessment.


Métodos de autenticação

Assume Role

Este é o método mais seguro. A plataforma assume temporariamente uma IAM Role na sua conta, sem armazenar chaves de longa duração.

Como funciona: A plataforma usa suas próprias credenciais para chamar sts:AssumeRole na sua conta AWS e obter credenciais temporárias com validade de 1 hora.

Campos necessários:

Campo Obrigatório Descrição
Role ARN Sim ARN da IAM Role a ser assumida
External ID Recomendado Proteção adicional contra confused deputy
Sessão Não Nome da sessão STS (padrão: ElvenAssessment)

Exemplo:

Role ARN:   arn:aws:iam::123456789012:role/ElvenAssessmentRole
External ID: elven-assessment-prod-2026

Cross-account

Assume Role é especialmente vantajoso para assessments multi-conta: crie a mesma role em cada conta e adicione múltiplas contas ao mesmo assessment.

Instance Profile

Usa as credenciais do ambiente onde a plataforma está rodando (ex.: EC2 Instance Profile, ECS Task Role, EKS Pod Identity).

Quando usar: A plataforma está implantada dentro da própria AWS e a instância/pod já tem uma IAM Role com as permissões necessárias.

Configuração: Selecione "Instance Profile" no dropdown — nenhum campo adicional é necessário.

Sem campos adicionais

Este método não solicita credenciais. A plataforma usa automaticamente as credenciais do ambiente de execução via IMDS (Instance Metadata Service).

Access Key + Secret Key

Método direto com credenciais de longa duração. Menos recomendado por razões de segurança.

Campos necessários:

Campo Descrição
Access Key ID Começa com AKIA...
Secret Access Key Chave secreta correspondente
Session Token Opcional — necessário apenas para credenciais temporárias

Nunca use credenciais root

Nunca insira as credenciais da conta root da AWS. Crie sempre um usuário IAM dedicado com permissões mínimas.

Armazenamento das chaves

As chaves são armazenadas criptografadas (AES-256-GCM). Ainda assim, prefira Assume Role para não manter chaves de longa duração na plataforma.

AWS Profile (arquivo local)

Usa um perfil do arquivo ~/.aws/credentials configurado no servidor onde a plataforma está instalada.

Campos necessários:

Campo Descrição
Profile Name Nome do perfil (ex.: prod, staging)

Quando usar: Instalações self-hosted onde o administrador já gerencia perfis AWS no servidor.


Política IAM recomendada

Para o assessment funcionar corretamente, a IAM Role ou usuário precisa das seguintes permissões:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ReadOnlyAccess",
      "Effect": "Allow",
      "Action": [
        "ec2:Describe*",
        "ec2:Get*",
        "ec2:List*",
        "s3:GetBucketAcl",
        "s3:GetBucketPolicy",
        "s3:GetBucketPublicAccessBlock",
        "s3:GetBucketEncryption",
        "s3:GetBucketVersioning",
        "s3:GetBucketLogging",
        "s3:ListAllMyBuckets",
        "iam:Get*",
        "iam:List*",
        "iam:GenerateCredentialReport",
        "rds:Describe*",
        "rds:List*",
        "elasticache:Describe*",
        "elasticache:List*",
        "eks:Describe*",
        "eks:List*",
        "lambda:Get*",
        "lambda:List*",
        "cloudtrail:Describe*",
        "cloudtrail:Get*",
        "cloudtrail:List*",
        "cloudwatch:Describe*",
        "cloudwatch:Get*",
        "cloudwatch:List*",
        "logs:Describe*",
        "logs:Get*",
        "logs:List*",
        "kms:Describe*",
        "kms:Get*",
        "kms:List*",
        "secretsmanager:Describe*",
        "secretsmanager:List*",
        "config:Describe*",
        "config:Get*",
        "config:List*",
        "guardduty:Get*",
        "guardduty:List*",
        "securityhub:Describe*",
        "securityhub:Get*",
        "securityhub:List*",
        "wafv2:Get*",
        "wafv2:List*",
        "elb:Describe*",
        "elbv2:Describe*",
        "autoscaling:Describe*",
        "route53:Get*",
        "route53:List*",
        "acm:Describe*",
        "acm:Get*",
        "acm:List*",
        "sns:Get*",
        "sns:List*",
        "sqs:Get*",
        "sqs:List*",
        "redshift:Describe*",
        "dynamodb:Describe*",
        "dynamodb:List*",
        "athena:Get*",
        "athena:List*",
        "glue:Get*",
        "glue:List*",
        "emr:Describe*",
        "emr:List*",
        "kinesis:Describe*",
        "kinesis:List*",
        "firehose:Describe*",
        "firehose:List*",
        "backup:Describe*",
        "backup:Get*",
        "backup:List*",
        "ssm:Describe*",
        "ssm:Get*",
        "ssm:List*",
        "organizations:Describe*",
        "organizations:List*",
        "tag:Get*",
        "support:Describe*"
      ],
      "Resource": "*"
    },
    {
      "Sid": "CostExplorerAccess",
      "Effect": "Allow",
      "Action": [
        "ce:GetRightsizingRecommendation",
        "ce:GetCostAndUsage",
        "ce:GetUsageForecast",
        "ce:GetReservationUtilization",
        "ce:GetSavingsPlansPurchaseRecommendation"
      ],
      "Resource": "*"
    }
  ]
}

AWS Managed Policy alternativa

Para simplificar, você pode usar a policy gerenciada ReadOnlyAccess da AWS (arn:aws:iam::aws:policy/ReadOnlyAccess) e adicionar apenas as permissões de Cost Explorer separadamente. A policy gerenciada inclui a maioria dos Describe* e List* necessários.

Trust Policy para Assume Role

Se estiver usando Assume Role, a IAM Role precisa de uma Trust Policy que permita à plataforma assumi-la. Substitua ACCOUNT_ID_DA_PLATAFORMA pelo ID da conta AWS onde o Elven Assessment está rodando:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::ACCOUNT_ID_DA_PLATAFORMA:root"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "sts:ExternalId": "elven-assessment-prod-2026"
        }
      }
    }
  ]
}

Seleção de regiões

  • Todas as regiões (padrão): a plataforma consulta automaticamente todas as regiões ativas da sua conta.
  • Regiões específicas: desmarque regiões que não são utilizadas para reduzir o tempo de execução.

Regiões mais comuns no Brasil

Se seus recursos estão principalmente no Brasil, priorize sa-east-1 (São Paulo). Para ambientes globais, inclua us-east-1, us-west-2 e eu-west-1.


Seleção de serviços

Opção Quando usar
Todos os serviços (padrão) Assessment completo — recomendado para a maioria dos casos
Personalizado Quando há restrições de tempo ou quando apenas parte do ambiente é relevante

Serviços avaliados por categoria

Identidade e Acesso IAM (usuários, grupos, roles, policies, MFA, password policy), STS, SSO

Computação EC2 (instâncias, security groups, key pairs, snapshots, AMIs), Lambda, Auto Scaling, Batch

Contêineres EKS (clusters, node groups, pods, RBAC, network policies), ECS, ECR, Fargate

Rede VPC, subnets, NACLs, Route Tables, NAT Gateway, VPN, Direct Connect, ELB, ALB/NLB, CloudFront, Route 53, API Gateway

Storage S3 (ACL, políticas, criptografia, versionamento, logging), EBS, EFS, FSx, Storage Gateway, Backup

Banco de Dados RDS, Aurora, DynamoDB, ElastiCache, Redshift, DocumentDB, Neptune, MemoryDB

Segurança GuardDuty, Security Hub, Inspector, Macie, WAF, Shield, Config, CloudTrail, KMS, Secrets Manager, ACM

Observabilidade CloudWatch, CloudTrail, X-Ray, EventBridge

DevOps CodePipeline, CodeBuild, CodeDeploy, CodeCommit

Analytics e IA Athena, Glue, EMR, Kinesis, SageMaker, Bedrock

Governança Organizations, Control Tower, Service Catalog, Trusted Advisor


EKS Deep-Dive (opcional)

Quando o assessment inclui EKS, a plataforma realiza uma análise aprofundada dos clusters Kubernetes:

  • RBAC — ClusterRoles, ClusterRoleBindings e privilégios excessivos
  • Network Policies — namespaces sem isolamento de rede
  • Pod Security — pods rodando como root, capabilities privilegiadas
  • Secrets — secrets sem criptografia at-rest via KMS
  • Node Groups — versões desatualizadas do Kubernetes, node groups sem auto-scaling
  • Add-ons — CoreDNS, kube-proxy, VPC CNI em versões vulneráveis
  • Logging — audit logging do control plane habilitado

Autenticação no EKS

A análise do EKS usa as mesmas credenciais AWS do assessment para gerar um token de autenticação temporário (k8s-aws-v1). Não são necessárias credenciais adicionais.


Dicas de configuração

Nomeie os assessments de forma clara

Use um padrão como AWS [Conta] - [Mês/Ano] (ex.: AWS Produção - Mai/2026). Isso facilita a comparação histórica.

Permissões insuficientes

Se o assessment falhar em determinados serviços com erro AccessDenied, verifique se a policy IAM cobre todos os serviços selecionados. Os erros por serviço são listados na página de progresso.

Cost Explorer

Para que o rightsizing funcione com dados reais de uso, é necessário que o Cost Explorer esteja habilitado na conta AWS (Billing & Cost Management → Cost Explorer → Enable). A habilitação pode levar até 24h para disponibilizar dados históricos.