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ètre | Description | Requis | Valeur par défaut |
|---|---|---|---|
type | Doit être défini sur "cyberarkselfhosted" | Oui | |
server_url | L'URL de votre serveur CyberArk Secrets Manager Self-Hosted | Oui | |
account | Le nom du compte Conjur | Oui | |
auth_mode | Mode d'authentification (l'un de : "user", "api") | Oui | |
fetch_all_versions | Indique s'il faut collecter toutes les versions des secrets | Oui | |
accept_invalid_certs | Accepter les certificats invalides/auto-signés (pour le développement uniquement) | Non | false |
mode | Mode d'intégration (l'un de : "read", "write", "read/write") | Non | "read" |
env | Environnement par défaut des secrets de cette source. GitGuardian déduit un environnement par secret et se rabat sur cette valeur | Non | |
owner | Propriétaire de cette source (un e-mail, généralement celui d'un employé ou d'une équipe) | Non | |
include | Liste des modèles de chemins à inclure dans la collecte des secrets | Non | |
exclude | Liste des modèles de chemins à exclure de la collecte des secrets | Non |
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ètre | Description | Requis | Valeur par défaut |
|---|---|---|---|
username | Nom d'utilisateur pour l'authentification | Oui | |
password | Mot de passe pour l'authentification | Oui |
Pour l'authentification API :
| Paramètre | Description | Requis | Valeur par défaut |
|---|---|---|---|
login | Identité de connexion (y compris le préfixe host/ pour les workloads) | Oui | |
api_key | Clé API pour l'authentification | Oui |
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"]
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!
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"
L'identité doit disposer des privilèges update sur les variables cibles pour écrire des secrets.