Mediante Access Context Manager, puedes realizar actualizaciones en forma masiva en los recursos que pertenecen a la política de acceso de tu organización, como los niveles de acceso y los perímetros de servicio. Los cambios en tus recursos se aplican solo si todas las partes de la operación masiva se realizan de forma correcta.
En este tema, solo se describe el reemplazo masivo de perímetros de servicio. Para obtener más información sobre el reemplazo masivo de niveles de acceso, consulta la documentación de Access Context Manager.
Antes de comenzar
Debido a que las operaciones masivas afectan a todos los perímetros de servicio de tu organización, puedes obtener una lista completa de los perímetros. Además, puedes darle formato a esta lista como YAML y usarla para realizar cambios masivos en tus perímetros.
Para obtener una lista con formato de los perímetros de servicio, consulta Enumera perímetros de servicio (con formato).
Reemplaza perímetros de servicio de forma masiva
En la siguiente sección, se detalla cómo reemplazar de forma masiva tus perímetros de servicio.
gcloud
Para reemplazar de forma masiva todos los perímetros de servicio, usa el comando replace-all
.
gcloud access-context-manager perimeters replace-all POLICY_NAME \ --source-file=FILE \ --etag=ETAG \
Aquí:
POLICY_NAME es el nombre de la política de acceso de tu organización. Este valor solo es necesario si no estableciste una política de acceso predeterminada.
FILE es el nombre de un archivo .yaml que define la nueva configuración para tus perímetros de servicio existentes.
Por ejemplo:
- 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
Para obtener más información sobre el formato del archivo YAML, consulta la estructura JSON del objeto
ServicePerimeterConfig
de Access Context Manager.ETAG es una string que representa la versión de destino de la política de acceso de tu organización (opcional). Si no incluyes una ETag, la operación masiva apunta a la última versión de la política de acceso de tu organización.
Para obtener la última ETag de la política de acceso,
list
tus políticas de acceso.
API
Para reemplazar de forma masiva todos los perímetros de servicio, llama a servicePerimeters.replaceAll
.
POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/servicePerimeters.replaceAll?alt=json
En el ejemplo anterior, se ilustra lo siguiente:
- POLICY_NAME es el nombre de la política de acceso de tu organización.
Cuerpo de la solicitud
El cuerpo de la solicitud debe incluir una lista de objetos ServicePerimeterConfig
que especifiquen los cambios que deseas realizar.
De manera opcional, puedes incluir una ETag para que apunte a una versión específica de la política de acceso de tu organización. Si no incluyes una ETag, la operación masiva apunta a la última versión de la política de acceso de tu organización.
Por ejemplo:
{ "servicePerimeters": [ object (ServicePerimeterConfig), object (ServicePerimeterConfig), ... ] "etag": string }
Cuerpo de la respuesta
Si se realiza de forma correcta, el cuerpo de la respuesta de la llamada contendrá un recurso Operation
que proporciona detalles sobre lo posterior a la operación.
Respuesta de ejemplo:
{
"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"
]
}
}
]
}
}