Metodologia: o que exatamente lemos da sua conta

A lista completa de chamadas de API que fazemos, por caminho de acesso. Nenhuma delas escreve, altera ou remove qualquer coisa.

Por que publicamos isso

Dar acesso à conta de AWS de uma empresa é uma decisão de segurança, e uma decisão de segurança precisa de detalhe verificável, não de promessa. Esta página lista cada chamada que executamos. As duas listas abaixo não são escritas à mão: saem do mesmo código que faz as chamadas — o template CloudFormation da role e a lista de ações do CLI open-source — então elas não têm como divergir do que o produto realmente faz.

Caminho 1: role assumida

Você implanta uma role somente leitura por CloudFormation e nós a assumimos com um ExternalId exclusivo da sua conta. Estas são as permissões que a role concede, agrupadas como estão no template. Toda ação é List, Read ou Describe, enumerada individualmente — não há curinga em lugar nenhum.

  • CostExplorerRead

    Cost Explorer — commitment coverage / spend (rule COMMIT-C001).

    • ce:GetCostAndUsage
    • ce:GetReservationUtilization
    • ce:GetReservationCoverage
    • ce:GetSavingsPlansUtilization
    • ce:GetSavingsPlansCoverage
  • EC2Read

    EC2 inventory — idle instances, orphan volumes, snapshots, EIPs, NAT. DescribeRegions lets us scan every enabled region, not just one.

    • ec2:DescribeRegions
    • ec2:DescribeInstances
    • ec2:DescribeVolumes
    • ec2:DescribeAddresses
    • ec2:DescribeSnapshots
    • ec2:DescribeNatGateways
    • ec2:DescribeRouteTables
  • RDSRead

    RDS inventory — idle databases, snapshots, reservations.

    • rds:DescribeDBInstances
    • rds:DescribeDBSnapshots
    • rds:DescribeReservedDBInstances
  • S3Read

    S3 — bucket list + lifecycle config only (never object contents).

    • s3:ListAllMyBuckets
    • s3:ListBucket
    • s3:GetLifecycleConfiguration
    • s3:ListBucketMultipartUploads
    • s3:ListMultipartUploadParts
  • CloudWatchRead

    CloudWatch — utilization metrics for "idle resource" rules.

    • cloudwatch:GetMetricData
    • cloudwatch:GetMetricStatistics
  • LambdaRead

    Lambda — function inventory.

    • lambda:ListFunctions
  • CloudFrontRead

    CloudFront — cross-check before recommending an S3 bucket removal (never suggest deleting a bucket that serves a live distribution).

    • cloudfront:ListDistributions
  • ELBRead

    Load balancers — detect idle ALB/NLB with no healthy targets.

    • elasticloadbalancing:DescribeLoadBalancers
    • elasticloadbalancing:DescribeTargetGroups
    • elasticloadbalancing:DescribeTargetHealth
  • LogsRead

    CloudWatch Logs — log groups with no retention accumulate forever.

    • logs:DescribeLogGroups
  • DynamoDBRead

    DynamoDB — provisioned tables sitting idle versus their capacity.

    • dynamodb:ListTables
    • dynamodb:DescribeTable
  • Route53Read

    Route 53 — hosted zones billing a flat fee while hosting nothing.

    • route53:ListHostedZones
  • SelfPolicySimulation

    Self-diagnosis of a missing permission, scoped to this role only.

    • iam:SimulatePrincipalPolicy

Caminho 2: CLI open-source

Se preferir não criar role nenhuma, o CLI roda na sua máquina com as credenciais que você já usa, coleta um snapshot e envia só o snapshot. O código é aberto e auditável, e estas são as únicas chamadas que ele faz.

  • ce:GetCostAndUsage
  • ec2:DescribeRegions
  • ec2:DescribeInstances
  • ec2:DescribeVolumes
  • ec2:DescribeSnapshots
  • ec2:DescribeAddresses
  • ec2:DescribeNatGateways
  • ec2:DescribeRouteTables
  • rds:DescribeDBInstances
  • rds:DescribeDBSnapshots
  • s3:ListAllMyBuckets
  • s3:GetBucketLocation
  • s3:GetLifecycleConfiguration
  • s3:ListBucketMultipartUploads
  • s3:ListMultipartUploadParts
  • cloudfront:ListDistributions
  • cloudwatch:GetMetricStatistics
  • elasticloadbalancing:DescribeLoadBalancers
  • elasticloadbalancing:DescribeTargetGroups
  • elasticloadbalancing:DescribeTargetHealth
  • logs:DescribeLogGroups
  • dynamodb:ListTables
  • dynamodb:DescribeTable
  • redshift:DescribeClusters
  • route53:ListHostedZones
  • sts:GetCallerIdentity

Por que as duas listas não são idênticas

São caminhos de acesso diferentes, com capacidades diferentes, e a diferença é deliberada. A role assumida consegue consultar dados de reserva e de plano de economia pelo Cost Explorer, que alimentam a análise de cobertura de compromisso; o CLI local não pede essas permissões. Já o CLI precisa se identificar e descobrir a região dos buckets, o que a role obtém de outra forma. Listar as duas separadamente é mais honesto do que apresentar uma união que não corresponde a nenhum dos dois casos.

O que nunca fazemos

  • Nenhuma ação de escrita, alteração ou remoção — em nenhum dos dois caminhos.
  • Não lemos o conteúdo dos seus objetos, bancos ou logs: só metadados de configuração e métricas de uso.
  • Não executamos os comandos de correção por você. O relatório mostra o comando; rodar é decisão sua.

Veja também as garantias de segurança e o modelo de acesso

Rodar scan grátis