Intégrer Amazon ECR
Sécurisez vos applications conteneurisées en surveillant Amazon Elastic Container Registry à la recherche de secrets exposés dans les images de conteneurs et configurations Docker.
Pourquoi surveiller Amazon ECR ?
Amazon ECR sert de passerelle entre votre pipeline de développement et les environnements de production AWS. Les images de conteneurs dans ECR contiennent souvent des credentials AWS, des chaînes de connexion RDS et des clés de comptes de service qui, lorsqu'exposés, peuvent accorder aux attaquants un accès complet à votre infrastructure cloud, vos bases de données et données sensibles des clients sur plusieurs services AWS.
Capacités
| Fonctionnalité | Support | Détails |
|---|---|---|
| Analyse historique | ✅ (Pris en charge) | Analyser les images existantes et leurs couches |
| Analyse incrémentale | ✅ (Pris en charge) | Analyse planifiée régulière pour le nouveau contenu |
| Périmètre surveillé | ✅ (Pris en charge) | Surveillance granulaire de vos dépôts |
| Périmètre d'équipe | ✅ (Pris en charge) | Contrôle d'accès basé sur l'équipe |
| Vérification de présence | ❌ (Non pris en charge) | Toutes les occurrences sont considérées comme présentes |
| Visibilité de la source | ❌ (Non pris en charge) | Toutes les sources sont considérées comme privées |
| Pièces jointes | N/A | Non applicable pour les container registries |
Ce que nous analysons :
- Toutes les couches d'images de conteneurs
- Dockerfiles et configurations de build
- Variables d'environnement dans les métadonnées d'image
Cette intégration analyse automatiquement vos dépôts surveillés, téléchargeant des images Docker qui peuvent entraîner des coûts de bande passante. Pour optimiser les coûts et réduire les faux positifs, sélectionnez soigneusement les sources à surveiller et utilisez notre fonctionnalité d'exclusion par chemin de fichier.
Exigences de plan : disponible pour les plans GitGuardian Business et Enterprise. Essayez-le gratuitement avec un essai de 30 jours - tous les incidents détectés restent accessibles après la fin de l'essai.
Couverture des détecteurs : pour minimiser les faux positifs, Generic High Entropy Secret et Generic Password sont désactivés. Tous les autres détecteurs sont activés.
Configurer votre intégration Amazon ECR
Prérequis :
- Compte Owner ou Manager sur votre Dashboard GitGuardian
- Permissions AWS IAM pour créer des rôles et politiques dans votre compte AWS
GitGuardian s'intègre à Amazon ECR en utilisant des rôles IAM avec un accès en lecture seule à vos dépôts.
Vous pouvez installer GitGuardian sur plusieurs instances Amazon ECR pour surveiller vos dépôts. Pour configurer l'intégration Amazon ECR, vous devez créer un rôle IAM dans votre compte AWS, et le configurer avec un AWS External ID généré par GitGuardian pour votre workspace.
Connecter GitGuardian avec votre compte Amazon ECR
- Dans la plateforme GitGuardian, naviguez vers la page d'intégration Sources
- Cliquez sur Install à côté de Amazon ECR dans la section Container registries

- Cliquez sur Install sur la page d'intégration Amazon ECR
- Récupérez le Role name. Par défaut, c'est
GitGuardianECRScanning, mais vous pouvez le personnaliser. Ce rôle permet à GitGuardian d'analyser vos dépôts ECR. - Pour les utilisateurs SaaS uniquement : récupérez l'AWS External ID, unique à votre workspace. Vous en aurez besoin lors de la définition de la trust policy pour le rôle IAM. Gardez cet ID confidentiel !
- Cliquez sur Connect with Amazon ECR pour lier GitGuardian à votre compte Amazon ECR.

- Créez un nouveau rôle IAM dans la Console IAM AWS pour GitGuardian.
Pour les utilisateurs SaaS :
- Sélectionnez AWS account pour le type d'entité de confiance, et choisissez Another AWS account.
- Entrez l'Account ID de GitGuardian :
762233768605 - Sélectionnez Require external ID, entrez votre AWS External ID (5) et assurez-vous de laisser Require MFA désactivé. Pour plus de détails, voyez comment utiliser un external ID lors de l'octroi d'accès à vos ressources AWS à un tiers dans la documentation AWS.
- Cliquez sur Next.
- Attachez le rôle
AmazonEC2ContainerRegistryReadOnlypour activer la collecte de ressources. - Cliquez sur Next.
- Nommez le rôle en utilisant le Role name (4) défini précédemment (
GitGuardianECRScanningpar défaut), et fournissez une description. - Cliquez sur Create Role.
Pour les utilisateurs Self-Hosted :
- Sélectionnez Web Identity pour le type d'entité de confiance. Et cliquez sur Create New
- Sélectionnez OpenID Connect,
- Utilisez
https://the-url-of-your-gitguardian.com/exposedcomme Provider URL, etsts.amazonaws.comcomme Audience - Cliquez sur Add provider et utilisez-le pour le rôle.
- Toujours dans la section Web identity, cliquez sur Add condition, et utilisez :
- Key :
the-url-of-your-gitguardian.com/exposed:sub(signifiant la claimsubdu token JWT) - Condition : StringEquals
- Value :
gitguardian-account-id:YOUR_GITGUARDIAN_ACCOUNT_ID
- Attachez le rôle
AmazonEC2ContainerRegistryReadOnlypour activer la collecte de ressources. - Cliquez sur Next.
- Nommez le rôle en utilisant le Role name (4) défini précédemment (
GitGuardianECRScanningpar défaut), et fournissez une description. - Cliquez sur Create Role.
Voici la structure résultante de la trust policy pour les utilisateurs On-Prem :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRoleWithWebIdentity",
"Principal": {
"Federated": "arn:aws:iam::YOUR_AWS_ACCOUNT_ID:oidc-provider/the-url-of-your-gitguardian.com/exposed"
},
"Condition": {
"StringEquals": {
"the-url-of-your-gitguardian.com/exposed:sub": "gitguardian-account-id:YOUR_GITGUARDIAN_ACCOUNT_ID",
"the-url-of-your-gitguardian.com/exposed:aud": "sts.amazonaws.com"
}
}
}
]
}
Enregistrer les informations de votre compte Amazon ECR
-
Récupérez votre Region

-
Copiez votre Account ID

-
Retournez à la plateforme GitGuardian pour enregistrer les informations de votre compte Amazon ECR
-
Entrez votre Region name (ex :
us-west-2) -
Collez votre Account ID
-
Cliquez sur Install

-
Personnalisez votre périmètre surveillé :
- Surveiller des dépôts Amazon ECR spécifiques (Recommandé)
- Aucun dépôt n'est surveillé par défaut, vous devrez les sélectionner manuellement.
- Les dépôts nouvellement créés ne seront pas surveillés par défaut. Vous pouvez ajuster ce paramètre à tout moment.
- Recommandé pour optimiser vos coûts de bande passante.
- Surveiller toute l'instance Amazon ECR
- Tous les dépôts sont surveillés par défaut avec une analyse historique complète déclenchée automatiquement.
- Les dépôts nouvellement créés seront surveillés par défaut. Vous pouvez ajuster ce paramètre à tout moment.

- Surveiller des dépôts Amazon ECR spécifiques (Recommandé)
C'est tout ! Votre instance Amazon ECR est maintenant installée, et GitGuardian surveille toutes les images Docker de vos dépôts sélectionnés à la recherche de secrets.
Personnaliser votre périmètre surveillé
Pour personnaliser les dépôts surveillés, naviguez vers vos paramètres Amazon ECR.
- Sélectionnez/Désélectionnez les dépôts pour les inclure ou les exclure de la surveillance
- Confirmez en cliquant sur Update monitored perimeter

Surveillance automatique des dépôts
Vous pouvez activer ou désactiver l'ajout automatique des dépôts nouvellement créés à votre périmètre surveillé en basculant l'option dans vos paramètres Amazon ECR.

Désinstaller votre instance Amazon ECR
Pour désinstaller une instance Amazon ECR :
- Dans la plateforme GitGuardian, naviguez vers la page d'intégration Sources
- Cliquez sur Edit à côté de Amazon ECR dans la section Container registries
- Cliquez sur l'icône de poubelle à côté de l'instance Amazon ECR à désinstaller
- Confirmez en cliquant sur Yes, uninstall dans la modale de confirmation

C'est tout ! Votre instance Amazon ECR est maintenant désinstallée.
Chemins exclus
GitGuardian exclut automatiquement les fichiers de l'analyse si leurs chemins contiennent l'une de ces expressions régulières :
/__pypackages__/
/\.venv/
/\.tox/
/site-packages/
/venv/
distutils/command/register\.py
python.*/awscli/examples/
python.*/dulwich/(tests|contrib/test_)
python.*/hgext/bugzilla\.py
python.*/mercurial/util\.py
python.*/test/certdata/
python.*/urllib/request\.py
python.*/pygments/lexers/
/cryptography.+/tests/.+(fixtures|test)_.+\.py
/python.+pygpgme.+/tests/
botocore/data/.+/(examples|service)-.+\.json
usr(/local)?/lib/python.+/dist-packages
/libevent.+/info/test/test/
/conda-.+-py.+/info/test/tests.+/test_.+\.py
/python[^/]+/test/
/man/man5/kdc\.conf\.5
erlang.*(inets|ssl).*/examples/
/gems/.*httpclient.*/(test|sample)/
/gems/.*faraday.*/
/vendor/bundle/
/\.gem/
ruby-[^/]+/test/openssl/
/(g|G)o/src/cmd/go/internal/.*_test\.go
/(g|G)o/src/cmd/go/internal/.*/testdata/
/(g|G)o/src/cmd/go/testdata/
/(g|G)o/src/crypto/x509/platform_root_key\.pem
/(G|g)o/src/crypto/(tls|x509)/.*_test\.go
/(g|G)o/src/net/(url|http)/.*_test\.go
src/github.com/DataDog/datadog-agent/.*test.*\.go
google/internal/.*_test\.go
golang.org.*oauth2@.*/.*\.go
/flutter/.*/packages/flutter_tools/test/data/
/flutter/.*/examples/image_list/lib
/\.pub-cache
etc/ssl/private/ssl-cert-snakeoil\.key
perl.*Cwd\.pm
ansible/.*/tests/(integration|unit)/
ansible/.*/test/awx
ansible/collections/ansible_collections/.*/plugins/
/curl/.*/(tests|docs|lib/url\.c)
/doc/wget.+/NEWS
dist/awscli/examples/
usr(/local)?/lib/aws-cli/examples/
/google-cloud-sdk/(lib|platform)/
\.git/modules/third[-_]?party/
\.git/modules/external/
/\.npm/_cacache
/node_modules/
/\.parcel-cache/
/\.yarn/cache/
/\.m2/
/\.ivy2/cache/
/\.mix/
/\.hex/
/composer/cache/
/\.nuget/packages/
/libgpg-error/errorref\.txt
/Homebrew/Library/Taps/
/tcl[^/]+/http-.+\.tm
/tcl[^/]+/[^/]+/http-.+\.tm
usr/share/lua/[^/]+/posix/init\.lua
openssl/openssl-[^/]+/test/recipes/
usr/share/doc/libssl-doc/demos/
boringssl/src/third_party/[^/]+test[^/]+/[^/]+_test\.json
Considérations supplémentaires Self-Hosted
Pour les instances GitGuardian Self-Hosted, la fréquence d'analyse peut être configurée dans l'Admin Area :
- Unité d'intervalle de temps : secondes
- Valeur par défaut : 86400 (1 jour)
- Valeur minimale : 1800 (30 minutes)
Confidentialité
Les lois et réglementations spécifiques à chaque pays peuvent vous obliger à informer vos utilisateurs que vos dépôts sont analysés à la recherche de secrets. Voici une suggestion de message que vous voudrez peut-être utiliser :
Dans le cadre de notre processus interne de sécurité de l'information, l'entreprise analyse ses dépôts à la recherche de fuites potentielles de secrets en utilisant GitGuardian. Toutes les données collectées seront traitées dans le but de détecter les fuites potentielles. Pour en savoir plus sur la manière dont nous gérons vos données personnelles et sur l'exercice de vos droits, veuillez vous référer à notre notice de confidentialité employé/partenaire. Veuillez noter que seuls les dépôts relatifs à l'activité et au business de l'entreprise peuvent être surveillés et que les utilisateurs doivent s'abstenir de partager des données personnelles ou sensibles non pertinentes au but du dépôt.