Aller au contenu principal

Intégration de CyberArk Secrets Manager Self-Hosted

ggscout prend en charge l'intégration avec CyberArk Secrets Manager Self-Hosted (Conjur Enterprise et OSS) pour collecter et surveiller vos secrets. Ce guide vous aidera à configurer l'intégration.

Fonctionnalités prises en charge​

  • Collecte de plusieurs versions de secrets
  • Authentification utilisateur et API
  • Configuration de serveur Self-Hosted
  • Accès basé sur le compte

Configuration​

Le tableau suivant liste les options de configuration disponibles pour ggscout lors de l'intégration avec CyberArk Secrets Manager Self-Hosted :

ParamètreDescriptionRequisValeur par défaut
typeDoit être défini sur "cyberarkselfhosted"Oui
server_urlL'URL de votre serveur CyberArk Secrets Manager Self-HostedOui
accountLe nom du compte ConjurOui
auth_modeMode d'authentification (l'un de : "user", "api")Oui
fetch_all_versionsIndique s'il faut collecter toutes les versions des secretsOui
accept_invalid_certsAccepter les certificats invalides/auto-signés (pour le développement uniquement)Nonfalse
modeMode d'intégration (l'un de : "read", "write", "read/write")Non"read"
envEnvironnement par défaut des secrets de cette source. GitGuardian déduit un environnement par secret et se rabat sur cette valeurNon
ownerPropriétaire de cette source (un e-mail, généralement celui d'un employé ou d'une équipe)Non
includeListe des modèles de chemins à inclure dans la collecte des secretsNon
excludeListe des modèles de chemins à exclure de la collecte des secretsNon

GitGuardian déduit l'environnement de chaque secret d'abord à partir de son chemin de branche de politique, puis à partir de ses annotations telles que env ou environment, et n'utilise le env au niveau de la source que lorsque aucun des deux ne le nomme.

Avec des paramètres supplémentaires selon le mode d'authentification choisi :

Pour l'authentification utilisateur :

ParamètreDescriptionRequisValeur par défaut
usernameNom d'utilisateur pour l'authentificationOui
passwordMot de passe pour l'authentificationOui

Pour l'authentification API :

ParamètreDescriptionRequisValeur par défaut
loginIdentité de connexion (y compris le préfixe host/ pour les workloads)Oui
api_keyClé API pour l'authentificationOui

Authentification​

ggscout prend en charge deux méthodes d'authentification pour CyberArk Secrets Manager Self-Hosted :

Authentification utilisateur​

Utilisez cette méthode pour vous authentifier avec un nom d'utilisateur et un mot de passe :

[sources.cyberarkselfhosted]
type = "cyberarkselfhosted"
server_url = "https://conjur.example.com"
account = "myorg"
auth_mode = "user"
username = "${CONJUR_USERNAME}"
password = "${CONJUR_PASSWORD}"
fetch_all_versions = true
mode = "read"
env = "production"
owner = "devops-team@example.com"

[[sources.cyberarkselfhosted.include]]
resource_ids = ["app/*", "database/*", "api-key"]

[[sources.cyberarkselfhosted.exclude]]
resource_ids = ["test/*", "temp/*", "old-secret"]

Authentification API​

Utilisez cette méthode pour vous authentifier avec une clé API et une identité de connexion. Il s'agit de l'approche recommandée pour les workloads :

[sources.cyberarkselfhosted]
type = "cyberarkselfhosted"
server_url = "https://conjur.example.com"
account = "myorg"
auth_mode = "api"
login = "${CONJUR_LOGIN}"
api_key = "${CONJUR_API_KEY}"
fetch_all_versions = true
mode = "read"
env = "production"
owner = "devops-team@example.com"

[[sources.cyberarkselfhosted.include]]
resource_ids = ["app/*", "database/*", "api-key"]

[[sources.cyberarkselfhosted.exclude]]
resource_ids = ["test/*", "temp/*", "old-secret"]
astuce

Pour l'authentification host/workload, le paramètre login doit inclure le préfixe host/ suivi du chemin d'identité du host. Par exemple : host/myapp/production/ggscout.

Certificats auto-signés​

Si votre CyberArk Secrets Manager Self-Hosted utilise des certificats auto-signés, vous pouvez désactiver la vérification des certificats pour les environnements de développement :

[sources.cyberarkselfhosted]
type = "cyberarkselfhosted"
server_url = "https://conjur.example.com"
account = "myorg"
auth_mode = "api"
login = "${CONJUR_LOGIN}"
api_key = "${CONJUR_API_KEY}"
fetch_all_versions = true
accept_invalid_certs = true # Only for development!
attention

Définir accept_invalid_certs = true désactive la vérification des certificats TLS. Cela ne doit être utilisé que dans des environnements de développement, jamais en production.

Modèles d'inclusion et d'exclusion​

Vous pouvez contrôler quels secrets sont collectés à l'aide des modèles d'inclusion et d'exclusion :

[sources.cyberarkselfhosted]
type = "cyberarkselfhosted"
server_url = "https://conjur.example.com"
account = "myorg"
auth_mode = "api"
login = "${CONJUR_LOGIN}"
api_key = "${CONJUR_API_KEY}"
fetch_all_versions = true

# Only collect secrets matching these patterns
[[sources.cyberarkselfhosted.include]]
resource_ids = ["production/*", "shared/*"]

# Exclude secrets matching these patterns
[[sources.cyberarkselfhosted.exclude]]
resource_ids = ["test-*", "temp-*"]

Mode écriture​

Pour activer la synchronisation des secrets (réécriture des secrets vers CyberArk Secrets Manager Self-Hosted), définissez le mode sur read/write ou write :

[sources.cyberarkselfhosted]
type = "cyberarkselfhosted"
server_url = "https://conjur.example.com"
account = "myorg"
auth_mode = "api"
login = "${CONJUR_LOGIN}"
api_key = "${CONJUR_API_KEY}"
fetch_all_versions = true
mode = "read/write"
remarque

L'identité doit disposer des privilèges update sur les variables cibles pour écrire des secrets.