Démarrage rapide

Connectez Wasteless à AWS en lecture seule

Ce parcours installe le produit, connecte le rôle `wasteless-readonly` et produit une première collecte sans donner de permission de modification.

Vérifié avec le code du produit8 minAdministrateurs AWS

Avant de commencer

  • Git et Docker

  • Python 3.11 ou supérieur

  • Une identité AWS autorisée à assumer le rôle créé

  • Le droit de déployer les rôles IAM dans le compte cible

1. Installez Wasteless

Terminal
git clone https://github.com/wasteless-io/wasteless.git
cd wasteless
./install.sh

Sur Linux compatible, ./install.sh --install-system-deps peut installer les dépendances système. Docker Desktop reste un prérequis externe sur macOS et WSL2.

2. Créez les rôles AWS

Utilisez soit le template CloudFormation onboarding/cloudformation/wasteless-onboarding.yaml, soit le module onboarding/terraform/. Pour une évaluation, désactivez la création du rôle de remédiation.

SortieUsage
ReadOnlyRoleArnCollecte et détection
RemediationRoleArnActions AWS optionnelles
ExternalIdProtection de l'assumption cross-account, si configurée

3. Démarrez et testez la connexion

Terminal
wasteless

Ouvrez http://localhost:8888/setup, renseignez AWS_ROLE_ARN, l'ExternalId éventuel et seulement si nécessaire AWS_WRITE_ROLE_ARN. Utilisez ensuite Test connection, puis Test & save.

Valeur AWSConfiguration
ReadOnlyRoleArnAWS_ROLE_ARN
RemediationRoleArnAWS_WRITE_ROLE_ARN, optionnel
ExternalIdAWS_EXTERNAL_ID, si configuré

4. Ajoutez Steampipe pour la couverture complète

Les détecteurs load balancer, NAT Gateway, VPC vide et migration gp2 vers gp3 nécessitent Steampipe et son plugin AWS.

Terminal, macOS
brew install turbot/tap/steampipe
steampipe plugin install aws
~/.steampipe/config/aws.spc
connection "aws" {
  plugin   = "aws"
  role_arn = "arn:aws:iam::123456789012:role/wasteless-readonly"
  regions  = ["eu-west-1"]
}

5. Lancez la première collecte

Terminal
wasteless collect
wasteless status
  • La connexion utilise le rôle AWS en lecture seule
  • Une collecte complète ou partielle apparaît dans l'historique
  • L'inventaire et les recommandations disponibles sont consultables
  • Aucun accès en écriture n'est nécessaire pour détecter

Le temps d'exécution dépend du nombre de ressources, des appels AWS et de la disponibilité de Steampipe.

Si le résultat n'est pas celui attendu

SymptômeVérification
Connexion AWS refuséeARN, principal de confiance et ExternalId
Quatre étapes ignoréescommand -v steampipe, plugin AWS et fichier aws.spc
PostgreSQL indisponibledocker ps puis docker compose up -d postgres
Aucune donnée récenteLancer wasteless collect et lire la sortie
Environnement Python absentRecréer venv et installer requirements.lock
Voir la source sur GitHub