Aller au contenu principal

Intégration AWS IAM

L'intégration AWS IAM offre une visibilité complète sur votre infrastructure AWS Identity and Access Management, enrichissant votre NHI Governance avec un contexte détaillé des permissions et des informations de sécurité.

Vue d'ensemble

Cette intégration est fournie directement dans la plateforme GitGuardian et ne nécessite pas l'installation de GitGuardian Scout. Elle récupère des données AWS IAM complètes, y compris toutes les permissions liées aux utilisateurs, rôles et groupes, et relie toutes ces permissions aux clés API AWS. Cela enrichit votre graphe de sécurité avec un contexte détaillé sur la sensibilité des identifiants et le rayon d'impact potentiel en cas de fuite.

Fonctionnalités clés

  • Analyse complète des permissions : récupère toutes les données AWS IAM, y compris les policies, rôles, utilisateurs et groupes
  • Contexte des clés API : analyse les permissions liées aux clés API AWS pour comprendre leur impact potentiel
  • Enrichissement du graphe de sécurité : fournit un contexte détaillé sur la sensibilité des identifiants et le rayon d'impact
  • Authentification sécurisée : utilise l'authentification OIDC, éliminant le besoin d'identifiants à longue durée de vie

Démarrer

Suivez ces étapes pour configurer l'intégration AWS IAM :

Étape 1 : Configurer le fournisseur OIDC dans AWS

Ajoutez votre instance GitGuardian comme fournisseur OIDC dans votre compte AWS, en utilisant ces valeurs :

  • Provider URL :
    • GitGuardian SaaS : https://api.gitguardian.com
    • Self-Hosted : https://<your-gitguardian-hostname>/exposed (conservez le chemin /exposed)
  • Audience : sts.amazonaws.com

Pour confirmer l'URL exacte du Provider pour votre instance, ouvrez <provider-url>/.well-known/openid-configuration dans un navigateur. Le champ issuer est la valeur à utiliser.

AWS IAM Base Configuration

Create OIDC Provider

Lorsque AWS demande une empreinte de certificat, utilisez le bouton Get thumbprint dans la console. AWS récupère l'empreinte à partir du certificat TLS de l'URL du Provider, il n'y a donc rien à copier depuis GitGuardian. Si vous créez le fournisseur via AWS CLI, CloudFormation ou Terraform, fournissez l'empreinte de l'autorité de certification de votre URL de Provider, en suivant le guide AWS pour obtenir l'empreinte.

Accessibilité Self-Hosted

AWS valide les tokens en récupérant <provider-url>/.well-known/openid-configuration et les clés publiques à <provider-url>/v1/auth/jwks. Les deux endpoints doivent être accessibles depuis l'Internet public. Si votre instance GitGuardian n'est accessible qu'à l'intérieur de votre réseau, l'assumption du rôle échouera jusqu'à ce que vous les exposiez à AWS.

Étape 2 : Créer le rôle AWS IAM

Créez un rôle AWS qui fait confiance au fournisseur OIDC de GitGuardian. Cela implique de configurer à la fois une trust policy et une permission policy.

Trust Policy

Configurez la trust policy pour permettre au fournisseur OIDC GitGuardian d'assumer le rôle. Pour une sécurité renforcée, incluez une condition qui restreint l'accès à votre compte GitGuardian spécifique :

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Federated": "arn:aws:iam::{your-aws-account-id}:oidc-provider/{your-gitguardian-oidc-provider}"
},
"Action": "sts:AssumeRoleWithWebIdentity",
"Condition": {
"StringEquals": {
"{your-gitguardian-oidc-provider}:sub": "gitguardian-account-id:{your-gitguardian-account-id}"
}
}
}
]
}

Remarque : remplacez les placeholders :

  • {your-aws-account-id} : votre identifiant de compte AWS
  • {your-gitguardian-oidc-provider} : l'URL du fournisseur OIDC de l'étape 1, sans le préfixe https://. Pour GitGuardian SaaS, utilisez api.gitguardian.com. Pour Self-Hosted, conservez le chemin /exposed, par exemple gitguardian.example.com/exposed.
  • {your-gitguardian-account-id} : votre identifiant de compte GitGuardian. Trouvez-le dans l'URL de votre dashboard GitGuardian, comme le numéro après /workspace/. Sur les instances Self-Hosted, l'identifiant de compte par défaut est 1.

Exemple : si l'URL de votre dashboard est https://dashboard.gitguardian.com/workspace/123456/, alors votre identifiant de compte GitGuardian est 123456.

La condition sub (gitguardian-account-id:{your-gitguardian-account-id}) garantit que seul votre compte GitGuardian spécifique peut assumer ce rôle, fournissant une couche de sécurité supplémentaire.

Cela peut également être fait depuis l'interface, en sélectionnant Web Identity lors de la création du rôle AWS IAM.

Permission Policy

Attachez la permission policy suivante pour accorder les permissions de lecture IAM nécessaires :

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iam:GetAccessKeyLastUsed",
"iam:GetGroup",
"iam:GetGroupPolicy",
"iam:GetPolicy",
"iam:GetPolicyVersion",
"iam:GetRolePolicy",
"iam:GetUserPolicy",
"iam:ListAccessKeys",
"iam:ListAttachedGroupPolicies",
"iam:ListAttachedRolePolicies",
"iam:ListAttachedUserPolicies",
"iam:ListGroups",
"iam:ListPolicies",
"iam:ListRolePolicies",
"iam:ListRoles",
"iam:ListUserPolicies",
"iam:ListUsers"
],
"Resource": "*"
}
]
}

Étape 3 : Accéder aux paramètres d'intégration GitGuardian

Dans la plateforme GitGuardian, naviguez vers Settings > Sources pour accéder à la page de configuration de l'intégration.

GIM Source Integration

Étape 4 : Ajouter l'intégration AWS IAM

Configurez la nouvelle intégration AWS IAM en fournissant :

  • AWS Account ID : votre identifiant de compte AWS
  • Role ARN : l'ARN du rôle créé à l'étape 2

GIM Add Integration

Finalisation

Tout est prêt ! GitGuardian va commencer à récupérer les données AWS IAM depuis votre compte, enrichissant votre graphe de sécurité avec un contexte complet des permissions pour les identifiants AWS découverts.

Une fois l'intégration active, vous pourrez visualiser les données AWS enrichies dans votre plateforme GitGuardian. L'inventaire NHI affichera toutes les clés API AWS découvertes avec des métadonnées complètes :

AWS NHI Inventory

Chaque clé API AWS aura un graphe de sécurité enrichi montrant une analyse détaillée des permissions :

AWS API Key Graph Resources

Autres intégrations

Pour plus d'informations sur les autres intégrations, notamment les gestionnaires de secrets, les systèmes CI/CD et les sources d'infrastructure, veuillez consulter la documentation ggscout.