Aller au contenu principal

BYOC : AWS Bedrock

GitGuardian s'authentifie auprès de votre compte AWS en utilisant la fédération OpenID Connect (OIDC) — aucun identifiant AWS de longue durée n'est stocké. Lorsqu'un appel LLM est nécessaire, GitGuardian :

  1. Signe un token JWT de courte durée identifiant votre workspace GitGuardian
  2. Appelle AWS STS AssumeRoleWithWebIdentity pour échanger le JWT contre des identifiants AWS temporaires
  3. Utilise ces identifiants pour invoquer des modèles sur votre endpoint Bedrock

Ce mécanisme est utilisé pour les déploiements SaaS et Self-Hosted.

Prérequis

  • Rôle Owner ou Manager sur votre workspace GitGuardian
  • Permissions AWS IAM pour créer des fournisseurs OIDC, des rôles et des politiques dans votre compte AWS
  • Accès aux modèles Amazon Bedrock activé dans la région AWS cible (voir la documentation AWS)

Étape 1 : Ajouter GitGuardian en tant que fournisseur OIDC dans AWS

  1. Ouvrez la Console IAM → Identity providers
  2. Cliquez sur Add provider
  3. Sélectionnez OpenID Connect
  4. Configurez le fournisseur :
ChampSaaSSelf-Hosted
Provider URLhttps://api.gitguardian.comhttps://<your-gitguardian-url>/exposed
Audiencests.amazonaws.comsts.amazonaws.com
  1. Cliquez sur Add provider

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

  1. Dans la Console IAM → Roles, cliquez sur Create role
  2. Sélectionnez Web Identity comme type d'entité de confiance
  3. Choisissez le fournisseur OIDC que vous venez de créer
  4. Sélectionnez sts.amazonaws.com comme Audience

Politique de confiance

Ajoutez une condition sur la revendication sub pour restreindre l'assomption de rôle à votre workspace GitGuardian spécifique :

  1. Cliquez sur Add condition :
    • Key : <oidc-provider>:sub (par ex. api.gitguardian.com:sub)
    • Condition : StringEquals
    • Value : gitguardian-account-id:<your-gitguardian-account-id>
Trouver votre identifiant de compte GitGuardian

Votre identifiant de compte est visible dans l'URL de votre dashboard GitGuardian : https://dashboard.gitguardian.com/workspace/<your-account-id>/

La politique de confiance résultante devrait ressembler à ceci :

Pour les utilisateurs SaaS :

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

Pour les utilisateurs Self-Hosted :

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

Politique de permission

  1. Cliquez sur Next
  2. Attachez une politique accordant l'accès à l'invocation Bedrock. Vous pouvez utiliser la politique gérée par AWS AmazonBedrockFullAccess, ou créer une politique personnalisée plus restrictive :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream"
],
"Resource": [
"arn:aws:bedrock:*::foundation-model/anthropic.*",
"arn:aws:bedrock:*:*:inference-profile/us.anthropic.*",
"arn:aws:bedrock:*::foundation-model/amazon.nova-*",
"arn:aws:bedrock:*:*:inference-profile/us.amazon.nova-*"
]
}
]
}
remarque

GitGuardian utilise des profils d'inférence inter-régions pour invoquer les modèles, car la plupart des modèles modernes le nécessitent. Incluez l'ARN du profil d'inférence correspondant à la région AWS de votre Bedrock : us.anthropic.*, eu.anthropic.*.

  1. Cliquez sur Next
  2. Nommez le rôle (par ex. GitGuardianBedrockAccess) et cliquez sur Create Role

Étape 3 : Configurer l'intégration dans GitGuardian

  1. Dans la plateforme GitGuardian, naviguez vers Settings → Workspace → AI
  2. Cliquez sur le bouton Edit
  3. Sélectionnez Custom AWS Bedrock comme fournisseur
  4. Saisissez :
    • AWS Account ID : l'identifiant de votre compte AWS
    • Role ARN : l'ARN du rôle créé à l'étape 2 (par ex. arn:aws:iam::123456789012:role/GitGuardianBedrockAccess)
    • Region : la région AWS où vous avez activé l'accès aux modèles Bedrock (par ex. us-west-2)
  5. Cliquez sur Install — GitGuardian effectuera une vérification de connectivité pour valider la configuration

C'est terminé ! GitGuardian utilisera désormais votre compte AWS Bedrock pour les fonctionnalités basées sur les LLM.