Access Context Manager vous permet d'effectuer des mises à jour groupées des ressources appartenant à la stratégie d'accès de votre organisation, telles que les niveaux d'accès et les périmètres de service. Les modifications apportées à vos ressources ne sont appliquées que si toutes les parties de l'opération groupée réussissent.
Cette rubrique ne décrit que le remplacement groupé des périmètres de service. Pour plus d'informations sur le remplacement groupé des niveaux d'accès, consultez la documentation Access Context Manager.
Avant de commencer
Comme les opérations groupées affectent tous les périmètres de service de votre organisation, vous pouvez obtenir la liste complète de vos périmètres. Vous pouvez également mettre en forme cette liste au format YAML et l'utiliser pour modifier vos périmètres de manière groupée.
Pour obtenir une liste formatée des périmètres de service, consultez la section Répertorier les périmètres de service (formatés).
Effectuer un remplacement groupé des périmètres de service
La section suivante explique comment remplacer de manière groupée des périmètres de service.
gcloud
Pour effectuer un remplacement groupé de tous les périmètres de service, exécutez la commande replace-all
.
gcloud access-context-manager perimeters replace-all POLICY_NAME \ --source-file=FILE \ --etag=ETAG \
Où :
POLICY_NAME est le nom de la règle d'accès de votre organisation. Cette valeur n'est requise que si vous n'avez pas défini de règle d'accès par défaut.
FILE est le nom d'un fichier .yaml qui définit les nouveaux paramètres de vos périmètres de service existants.
Exemple :
- name: accessPolicies/11271009391/servicePerimeters/storage_perimeter title: Storage Perimeter description: Perimeter to protect Storage resources. perimeterType: PERIMETER_TYPE_REGULAR status: restrictedServices: - storage.googleapis.com - name: accessPolicies/11271009391/servicePerimeters/bigquery_perimeter title: BigQuery Perimeter description: Perimeter to protect BigQuery resources. perimeterType: PERIMETER_TYPE_REGULAR status: restrictedServices: - bigquery.googleapis.com
Pour en savoir plus sur la mise en forme du fichier YAML, reportez-vous à la structure JSON de l'objet
ServicePerimeterConfig
d'Access Context Manager.ETAG (facultatif) est une chaîne représentant la version cible de la règle d'accès de votre organisation. Si vous n'incluez pas d'etag, l'opération groupée cible la dernière version de la règle d'accès de votre organisation.
Pour obtenir le dernier ETag de votre règle d'accès, répertoriez (commande
list
) vos règles d'accès.
API
Pour effectuer un remplacement groupé de tous les périmètres de service, appelez servicePerimeters.replaceAll
.
POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/servicePerimeters.replaceAll?alt=json
Où :
- POLICY_NAME est le nom de la règle d'accès de votre organisation.
Corps de la requête
Le corps de la requête doit inclure une liste d'objets ServicePerimeterConfig
qui spécifient les modifications que vous souhaitez apporter.
Pour cibler une version spécifique de la stratégie d'accès de votre organisation, vous pouvez éventuellement inclure un ETag. Si vous n'en incluez pas, l'opération groupée cible la dernière version de la stratégie d'accès de votre organisation.
Exemple :
{ "servicePerimeters": [ object (ServicePerimeterConfig), object (ServicePerimeterConfig), ... ] "etag": string }
Corps de la réponse
Si la requête aboutit, le corps de la réponse à l'appel contient une ressource Operation
qui fournit des détails sur l'opération post.
Exemple de réponse :
{
"name": "operations/accessPolicies/11271009391/replacePerimeters/1583523447707087",
"done": true,
"response": {
"@type": "type.googleapis.com/google.identity.accesscontextmanager.v1.ReplaceServicePerimetersResponse",
"servicePerimeters": [
{
"name": "accessPolicies/11271009391/servicePerimeters/storage_perimeter",
"title": "Storage Perimeter",
"description": "Perimeter to protect Storage resources.",
"status": {
"accessLevels": [
"accessPolicies/11271009391/accessLevels/corpnet_access"
],
"restrictedServices": [
"bigtable.googleapis.com"
]
}
},
{
"name": "accessPolicies/11271009391/servicePerimeters/storage_perimeter",
"title": "BigQuery Perimeter",
"description": "Perimeter to protect BigQuery resources.",
"status": {
"accessLevels": [
"accessPolicies/11271009391/accessLevels/prodnet_access"
],
"restrictedServices": [
"bigtable.googleapis.com"
]
}
}
]
}
}