Aller au contenu principal

BYOC : AWS Bedrock

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

  1. Signe un JWT token de courte durée identifiant votre workspace GitGuardian
  2. Appelle AWS STS AssumeRoleWithWebIdentity pour échanger le JWT contre des credentials AWS temporaires
  3. Utilise ces credentials 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 OIDC providers, rôles et policies dans votre compte AWS
  • Accès aux modèles Amazon Bedrock activé dans la région AWS cible (voir documentation AWS)

Étape 1 : ajouter GitGuardian comme OIDC provider dans AWS

  1. Ouvrez la IAM Console → Identity providers
  2. Cliquez sur Add provider
  3. Sélectionnez OpenID Connect
  4. Configurez le provider :
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 IAM Console → Roles, cliquez sur Create role
  2. Sélectionnez Web Identity comme type d'entité de confiance
  3. Choisissez l'OIDC provider que vous venez de créer
  4. Sélectionnez sts.amazonaws.com comme Audience

Trust policy

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

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

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

La trust policy 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"
}
}
}
]
}

Permission policy

  1. Cliquez sur Next
  2. Attachez une policy accordant l'accès invoke Bedrock. Vous pouvez utiliser la policy AWS managée AmazonBedrockFullAccess, ou créer une policy 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.*"
]
}
]
}
remarque

GitGuardian utilise les cross-region inference profiles pour invoquer les modèles car la plupart des modèles modernes le requièrent. Incluez l'ARN du inference profile correspondant à la région AWS de votre Bedrock : us.anthropic.*, eu.anthropic.*.

  1. Cliquez sur Next
  2. Nommez le rôle (par exemple 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 provider
  4. Saisissez :
    • AWS Account ID : votre identifiant de compte AWS
    • Role ARN : l'ARN du rôle créé à l'étape 2 (par exemple arn:aws:iam::123456789012:role/GitGuardianBedrockAccess)
    • Region : la région AWS où vous avez l'accès aux modèles Bedrock activé (par exemple us-west-2)
  5. Cliquez sur Install — GitGuardian effectuera une vérification de connectivité pour valider la configuration

C'est tout ! GitGuardian utilisera maintenant votre compte AWS Bedrock pour les fonctionnalités LLM.