Ce guide vous explique comment utiliser l'API Security Command Center pour créer une source permettant de générer des résultats. Lorsque vous ajoutez une source, Security Command Center crée les sources appropriées et leur attribue les autorisations appropriées.
Les rôles IAM pour Security Command Center peuvent être attribués au niveau de l'organisation, d'un dossier ou d'un projet. Votre capacité à afficher, modifier, créer ou mettre à jour des résultats, des éléments et des sources de sécurité dépend du niveau d'accès qui vous est accordé. Pour en savoir plus sur les rôles Security Command Center, consultez la page Contrôle des accès.
Avant de commencer
Avant de configurer une source, vous devez configurer un compte de service. Si vous appelez directement l'API Security Command Center, obtenez un jeton de support.
Créer une source
Cet exemple montre comment créer une source avec un nom à afficher et une description spécifiques qui seront utilisés dans le tableau de bord Security Command Center.
Le serveur attribue automatiquement un identifiant à la source.
Python
Java
Go
Node.js
API
Dans l'API, envoyez une requête à la méthode organizations.sources.create
. Le corps de la requête contient une instance de Source.
POST https://securitycenter.googleapis.com/API_VERSION/organizations/ORGANIZATION_ID/sources -d { "name": "SOURCE_NAME", "description": "SOURCE_DESCRIPTION", "displayName": "DISPLAY_NAME" }
Remplacez les éléments suivants :
- API_VERSION : version de l'API que vous ciblez
- ORGANIZATION_ID : ID de votre organisation
- SOURCE_NAME : nom de la source
- SOURCE_DESCRIPTION : description de la source (1 024 caractères au plus)
- DISPLAY_NAME : nom à afficher de la source (entre 1 et 64 caractères)
La source n'est visible dans le tableau de bord Security Command Center qu'à partir du moment où elle génère des résultats. Vous pouvez vérifier qu'elle a bien été créée en suivant les instructions de la section Obtenir une source spécifique.
Mettre à jour une source
Vous pouvez mettre à jour le nom à afficher et la description d'une source après sa création. Vous pouvez également utiliser un masque de champ pour ne mettre à jour qu'un seul champ. Dans l'exemple ci-dessous, un masque de champ permet uniquement de mettre à jour le nom à afficher, sans modifier la description.
Python
Java
Go
Node.js
API
Dans l'API, envoyez une requête à la méthode organizations.sources.patch
. Le corps de la requête contient une instance de Source.
PATCH https://securitycenter.googleapis.com/API_VERSION/organizations/ORGANIZATION_ID/sources/SOURCE_ID?updateMask=displayName -d { "description": "SOURCE_DESCRIPTION", "displayName": "DISPLAY_NAME", }
Remplacez les éléments suivants :
- API_VERSION : version de l'API que vous ciblez
- ORGANIZATION_ID : ID de votre organisation
- SOURCE_ID : ID de la source Pour obtenir des instructions sur la manière de récupérer l'ID d'une source, consultez la section Obtenir l'ID d'une source.
- SOURCE_DESCRIPTION : description de la source (1 024 caractères au plus)
- DISPLAY_NAME : nom à afficher de la source (entre 1 et 64 caractères)
Définir des stratégies IAM sur une source
Après avoir créé une source, mettez à jour les stratégies IAM (Identity and Access Management) à autoriser.
Python
Java
Go
Node.js
API
Dans l'API, envoyez une requête à la méthode organizations.sources.setIamPolicy
. Le corps de la requête contient une instance de Policy.
POST https://securitycenter.googleapis.com/API_VERSION/organizations/ORGANIZATION_ID/sources/SOURCE_ID:setIamPolicy -d { "version": POLICY_FORMAT, "bindings": [ { "role": IAM_ROLE, "members": [ IAM_EMAIL ] } ], "auditConfigs": [ { "service": "SERVICE", "auditLogConfigs": [ { "logType": "LOG_PERMISSION", "exemptedMembers": [ "user:EXEMPT_EMAIL" ] } ] } ], "etag": ETAG }
Remplacez les éléments suivants :
- API_VERSION : version de l'API que vous ciblez
- ORGANIZATION_ID : ID de votre organisation
- SOURCE_ID : ID de la source Pour obtenir des instructions sur la manière de récupérer l'ID d'une source, consultez la section Obtenir une source spécifique.
- POLICY_FORMAT : 0, 1 ou 3 pour spécifier le format de la stratégie
- IAM_ROLE : rôle IAM attribué
- IAM_USER_EMAIL : adresse e-mail de l'utilisateur auquel vous attribuez le rôle
- SERVICE : service Google Cloud pour lequel vous activez la journalisation d'audit
- LOG_PERMISSION : autorisations relatives aux journaux accordées :
ADMIN_READ
,DATA_READ
ouDATA_WRITE
. - EXEMPT_EMAIL : identités qui ne génèrent pas de journalisation pour le type d'autorisation
- ETAG : chaîne renvoyée dans la réponse à
getIamPolicy
, qui doit être incluse afin d'empêcher des mises à jour simultanées d'une stratégie de s'écraser mutuellement
Obtenir une source spécifique
Vous pouvez vérifier qu'une source a été créée ou mise à jour de manière appropriée en interrogeant Security Command Center avec le nom de ressource absolu de la source :
gcloud
# Note: For GCloud you can use either full resource name or just ID Flags. # In this example, we are using ID Flags. # ORGANIZATION_ID=12344321 # SOURCE_ID=43211234 gcloud scc sources describe $ORGANIZATION_ID --source=$SOURCE_ID
Pour plus d'exemples, exécutez la commande suivante :
gcloud scc sources describe --help
Python
Java
Go
Node.js
API
Dans l'API, envoyez une requête à la méthode organizations.sources.get
. Le corps de la requête est vide.
GET https://securitycenter.googleapis.com/API_VERSION/organizations/ORGANIZATION_ID/sources/SOURCE_ID
Remplacez les éléments suivants :
- API_VERSION : version de l'API que vous ciblez
- ORGANIZATION_ID : ID de votre organisation
- SOURCE_ID : ID de la source
Répertorier les sources
Security Command Center vous permet de répertorier une source spécifique et de répertorier toutes les sources actuellement disponibles dans une organisation :
Python
Java
Go
Node.js
API
Dans l'API, envoyez une requête à la méthode organizations.sources.list
. Le corps de la requête est vide.
GET https://securitycenter.googleapis.com/API_VERSION/organizations/ORGANIZATION_ID/sources
Remplacez les éléments suivants :
- API_VERSION : version de l'API que vous ciblez
- ORGANIZATION_ID : ID de votre organisation
Obtenir des stratégies IAM
Vous pouvez vérifier si les stratégies IAM appropriées ont été appliquées à une source en obtenant les données de stratégie IAM actuelles à partir de Security Command Center :
Python
Java
Go
Node.js
API
Dans l'API, envoyez une requête à la méthode organizations.sources.getIamPolicy
. Le corps de la requête contient un message de requête GetIamPolicyRequest
. L'objet options
est facultatif et permet de demander un format de stratégie.
GET https://securitycenter.googleapis.com/API_VERSION/organizations/ORGANIZATION_ID/sources/SOURCE_ID:getIamPolicy -d { "resource": "organizations/ORGANIZATION_ID/sources/SOURCE_ID", "options": { "requestedPolicyVersion": POLICY_VERSION } }
Remplacez les éléments suivants :
- API_VERSION : version de l'API que vous ciblez
- ORGANIZATION_ID : ID de votre organisation
- SOURCE_ID : ID de la source Pour obtenir des instructions sur la manière de récupérer l'ID d'une source, consultez la section Obtenir une source spécifique.
- POLICY_VERSION : format de stratégie à renvoyer (0, 1 ou 3)
Étapes suivantes
En savoir plus sur l'accès à Security Command Center à l'aide d'un SDK.