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 :
- Signe un token JWT de courte durée identifiant votre workspace GitGuardian
- Appelle AWS STS
AssumeRoleWithWebIdentitypour échanger le JWT contre des identifiants AWS temporaires - 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
- Ouvrez la Console IAM → Identity providers
- Cliquez sur Add provider
- Sélectionnez OpenID Connect
- Configurez le fournisseur :
| Champ | SaaS | Self-Hosted |
|---|---|---|
| Provider URL | https://api.gitguardian.com | https://<your-gitguardian-url>/exposed |
| Audience | sts.amazonaws.com | sts.amazonaws.com |
- Cliquez sur Add provider
Étape 2 : Créer un rôle IAM
- Dans la Console IAM → Roles, cliquez sur Create role
- Sélectionnez Web Identity comme type d'entité de confiance
- Choisissez le fournisseur OIDC que vous venez de créer
- Sélectionnez
sts.amazonaws.comcomme Audience
Politique de confiance
Ajoutez une condition sur la revendication sub pour restreindre l'assomption de rôle à votre workspace GitGuardian spécifique :
- Cliquez sur Add condition :
- Key :
<oidc-provider>:sub(par ex.api.gitguardian.com:sub) - Condition :
StringEquals - Value :
gitguardian-account-id:<your-gitguardian-account-id>
- Key :
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
- Cliquez sur Next
- 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-*"
]
}
]
}
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.*.
- Cliquez sur Next
- Nommez le rôle (par ex.
GitGuardianBedrockAccess) et cliquez sur Create Role
Étape 3 : Configurer l'intégration dans GitGuardian
- Dans la plateforme GitGuardian, naviguez vers Settings → Workspace → AI
- Cliquez sur le bouton Edit
- Sélectionnez Custom AWS Bedrock comme fournisseur
- 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)
- 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.