Usando o Access Context Manager, é possível fazer atualizações em massa de recursos que pertencem à política de acesso da sua organização, como níveis de acesso e perímetros de serviço. As alterações dos seus recursos só serão aplicadas se todas as partes da operação em massa forem bem-sucedidas.
Este tópico descreve apenas a substituição em massa de perímetros de serviço. Para ver mais informações sobre a substituição em massa de níveis de acesso, consulte a documentação do Access Context Manager.
Antes de começar
Como as operações em massa afetam todos os perímetros de serviço da sua organização, é possível ter uma lista completa dos perímetros. Além disso, você pode formatar essa lista como YAML e usá-la para fazer mudanças em massa nos perímetros.
Para conferir uma lista formatada de perímetros de serviço, consulte Listar perímetros de serviço (formatados).
Substituir em massa os perímetros de serviço
A seção a seguir detalha como substituir os perímetros de serviço em massa.
gcloud
Para substituir em massa todos os perímetros de serviço, use o
comando replace-all
.
gcloud access-context-manager perimeters replace-all POLICY_NAME \ --source-file=FILE \ --etag=ETAG \
Em que:
POLICY_NAME é o nome da política de acesso da organização. Esse valor é necessário somente se você não tiver definido uma política de acesso padrão.
FILE é o nome de um arquivo .yaml que define as novas configurações para os perímetros de serviço atuais.
Exemplo:
- 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 mais informações sobre a formatação do arquivo YAML, consulte a estrutura JSON do objeto
ServicePerimeterConfig
do Access Context Manager.ETAG (opcional) é uma string que representa a versão de destino da política de acesso da sua organização. Se você não incluir uma ETag, a operação em massa terá como alvo a versão mais recente da política de acesso da sua organização.
Para receber a última ETag da sua política de acesso,
list
suas políticas de acesso.
API
Para substituir todos os perímetros de serviço
em massa, chame servicePerimeters.replaceAll
.
POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/servicePerimeters.replaceAll?alt=json
Em que:
- POLICY_NAME é o nome da política de acesso da organização.
Corpo da solicitação
O corpo da solicitação precisa incluir uma lista
de objetos ServicePerimeterConfig
que especifiquem as
alterações que você quer fazer.
Opcionalmente, para direcionar uma versão específica da política de acesso da sua organização, é possível incluir uma ETag. Se você não incluir uma ETag, a operação em massa terá como alvo a versão mais recente da política de acesso da sua organização.
Exemplo:
{ "servicePerimeters": [ object (ServicePerimeterConfig), object (ServicePerimeterConfig), ... ] "etag": string }
Corpo da resposta
Caso a chamada seja bem-sucedida, o corpo da resposta incluirá um
recurso Operation
que fornece detalhes sobre a
operação de publicação.
Exemplo de resposta:
{
"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"
]
}
}
]
}
}