Nesta página, você verá como gerenciar os níveis de acesso atuais. É possível realizar as seguintes ações:
Antes de começar
Defina sua política de acesso padrão para usar a Google Cloud CLI.
-ou-
Consiga o nome da política. O nome da política é necessário para comandos que usam a CLI gcloud e fazem chamadas de API. Se você definir uma política de acesso padrão, não será necessário especificá-la para a CLI gcloud.
Verifique se você tem um papel de gerenciamento de identidade e acesso (IAM, na sigla em inglês) no nível da organização que permite gerenciar os níveis de acesso. Peça ao administrador para conceder a você um dos seguintes papéis ou um papel personalizado com as mesmas permissões:
Para visualizar os níveis de acesso: Access Context Manager Reader (
roles/accesscontextmanager.policyReader)Para visualizar e alterar níveis de acesso: Editor do Access Context Manager (
roles/accesscontextmanager.policyEditor) ou Administrador do Access Context Manager (roles/accesscontextmanager.policyAdmin)
Listar níveis de acesso
Console
Para listar todos os níveis de acesso, abra a página Access Context Manager no console do Google Cloud e, se solicitado, selecione sua organização. A página exibe os níveis de acesso da sua organização em uma grade, incluindo detalhes sobre a configuração de cada nível de acesso.
gcloud
Para listar todos os níveis de acesso, use o comando list.
gcloud access-context-manager levels list \ [--policy=POLICY_NAME]
Substitua:
POLICY_NAME: o nome da política de acesso da sua organização. Esse valor é necessário somente se você não tiver definido uma política de acesso padrão.
O resultado será o seguinte:
NAME TITLE LEVEL_TYPE Device_Trust Device_Trust Extended Basic Service_Group_A Service_Group_A Basic
API
Para listar todos os níveis de acesso para uma política, ligue para accessLevels.list.
GET https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/accessLevels
Substitua:
POLICY_NAME: o nome da política de acesso da sua organização.
Corpo da solicitação
O corpo da solicitação precisa estar vazio.
Parâmetros opcionais
Outra opção é incluir um ou mais dos parâmetros de consulta abaixo.
| Parâmetros | |
|---|---|
pageSize
|
Por padrão, a lista de níveis de acesso retornada por É possível usar esse parâmetro para modificar o número de níveis de acesso retornados por página. |
pageToken
|
Se o número de níveis de acesso retornados pela chamada exceder o tamanho da página, o corpo da resposta vai incluir um token de página. É possível usar esse parâmetro em uma chamada subsequente para ver a próxima página de resultados. |
accessLevelFormat
|
Normalmente, os níveis de acesso são retornados conforme são definidos, como Você pode especificar o valor |
Corpo da resposta
Se for bem-sucedido, o corpo da resposta da chamada conterá um objeto AccessLevels que lista os níveis de acesso e uma string nextPageToken. nextPageToken só possuirá um valor se o número de níveis de acesso retornado exceder o tamanho da página. Caso contrário, nextPageToken será retornado como uma string vazia.
Listar níveis de acesso (formatados)
Com a CLI gcloud, é possível conseguir uma lista dos níveis de acesso nos formatos YAML ou JSON.
Para ver uma lista formatada de níveis de acesso, use o comando list.
gcloud access-context-manager levels list \ --format=FORMAT \ [--policy=POLICY_NAME]
Substitua:
FORMAT: um dos seguintes valores:list(formato YAML)json(formato JSON)
POLICY_NAME: o nome da política de acesso da sua organização. Esse valor é necessário somente se você não tiver definido uma política de acesso padrão.
A saída YAML é semelhante a esta:
- basic: {'conditions': [{'ipSubnetworks': ['192.0.2.0/24']}]} description: Level for corp access. name: accessPolicies/123456789012/accessLevels/corp_level title: Corp Level - basic: {'combiningFunction': 'OR', 'conditions': [{'ipSubnetworks': ['192.0.2.0/24']}]} description: Level for net access. name: accessPolicies/123456789012/accessLevels/net_level title: Net Level
A saída JSON é semelhante a esta:
[ { "basic": { "conditions": [ { "ipSubnetworks": [ "192.0.2.0/24" ] } ] }, "description": "Level for corp access.", "name": "accessPolicies/123456789012/accessLevels/corp_level", "title": "Corp Level" }, { "basic": { "combiningFunction": "OR", "conditions": [ { "ipSubnetworks": [ "192.0.2.0/24" ] } ] }, "description": "Level for net access.", "name": "accessPolicies/123456789012/accessLevels/net_level", "title": "Net Level" } ]
Descrever um nível de acesso
Console
Usando o console do Google Cloud , consulte as etapas para listar níveis de acesso. Ao listar os níveis de acesso, os detalhes são fornecidos na grade que aparece.
gcloud
Listar níveis de acesso apenas fornece nome, título e tipo de nível. Para
informações detalhadas sobre o que um nível realmente faz, use o
comando describe.
gcloud access-context-manager levels describe LEVEL_NAME \ [--policy=POLICY_NAME]
Substitua:
LEVEL_NAME: o nome do nível de acesso que você quer descrever.POLICY_NAME: o nome da política de acesso da sua organização. Esse valor é necessário somente se você não tiver definido uma política de acesso padrão.
O comando mostra informações sobre o nível formatadas como YAML. Por exemplo, se o nível restringir o acesso a determinadas versões do sistema operacional, a saída será semelhante a esta:
basic: conditions: - devicePolicy: allowedEncryptionStatuses: - ENCRYPTED osConstraints: - minimumVersion: 10.13.6 osType: DESKTOP_MAC - minimumVersion: 10.0.18219 osType: DESKTOP_WINDOWS - minimumVersion: 68.0.3440 osType: DESKTOP_CHROME_OS requireScreenlock: true name: accessPolicies/123456789012/accessLevels/Device_Trust title: Device_Trust Extended
API
Com a listagem de níveis de acesso, são fornecidos apenas o nome, o título e o tipo dos níveis.
Para informações detalhadas sobre um nível de acesso, ligue para accessLevels.get.
GET https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME
Substitua:
POLICY_NAME: o nome da política de acesso da sua organização.LEVEL_NAME: o nome do nível de acesso que você quer descrever.
Corpo da solicitação
O corpo da solicitação precisa estar vazio.
Parâmetros opcionais
Opcionalmente, inclua o parâmetro de consulta accessLevelFormat. Normalmente, os níveis de acesso são retornados conforme são definidos, como BasicLevel ou CustomLevel.
É possível especificar o valor CEL para este parâmetro retornar BasicLevels como CustomLevels no Common Expression Language do Cloud.
Corpo da resposta
Se for bem-sucedido, o corpo da resposta da chamada conterá um recurso AccessLevel que inclui detalhes sobre o que o nível de acesso faz, a última vez que foi atualizado e muito mais.
Atualizar um nível de acesso
Esta seção descreve como atualizar os níveis de acesso individuais. Para atualizar todos os níveis de acesso da sua organização em uma operação, consulte Como fazer alterações em massa nos níveis de acesso.
Console
Para atualizar um nível de acesso:
Abra a página Access Context Manager no console do Google Cloud .
Se solicitado, selecione a organização.
Na grade, clique no nome do nível de acesso a ser atualizado.
No painel Editar nível de acesso, faça as alterações necessárias.
Para uma lista completa dos atributos a serem adicionados ou modificados, veja atributos de nível de acesso.
Clique em Salvar.
Além de atualizar ou remover quaisquer condições atuais, é possível adicionar novas condições e atributos.
gcloud
Use o comando update para atualizar um nível de acesso.
Nível de acesso básico:
gcloud access-context-manager levels update LEVEL_NAME \ --basic-level-spec=FILE \ [--policy=POLICY_NAME]
Nível de acesso personalizado:
gcloud access-context-manager levels update LEVEL_NAME \ --custom-level-spec=FILE \ [--policy=POLICY_NAME]
Substitua:
LEVEL_NAME: o nome do nível de acesso que você quer atualizar.FILE: o nome de um arquivo YAML que define as condições para o nível de acesso (para níveis de acesso básicos) ou uma expressão CEL que é resolvida em um único valor booleano (para níveis de acesso personalizados).Para uma lista completa dos atributos que é possível usar nas condições básicas de nível de acesso, leia sobre os atributos de nível de acesso.
POLICY_NAME: o nome da política de acesso da sua organização. Esse valor é necessário somente se você não tiver definido uma política de acesso padrão.é possível incluir uma ou mais das opções a seguir.
Opções combine-functionEsta opção é usada apenas para níveis de acesso básicos.
Determina como as condições são combinadas.
Valores válidos:
AND,ORdescriptionUma descrição detalhada do nível de acesso.
titleUm título curto para o nível de acesso. O título do nível de acesso é exibido no console do Google Cloud .
É possível incluir qualquer sinalização da gcloud.
Exemplo de comando
gcloud access-context-manager levels update Device_Trust \ --basic-level-spec=corpdevspec.yaml \ --combine-function=OR \ --description='Access level that conforms to updated corporate spec.' \ --title='Device_Trust Extended' \ --policy=123456789012
API
Para atualizar um nível de acesso, ligue para accessLevels.patch.
PATCH https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME?updateMask=FIELDS
Substitua:
POLICY_NAME: o nome da política de acesso da sua organização.LEVEL_NAME: o nome do nível de acesso que você quer atualizar.FIELDS: uma lista separada por vírgulas de nomes de campos totalmente qualificados que você está atualizando.
Corpo da solicitação
O corpo da solicitação precisa incluir um recurso AccessLevel que especifique as alterações que você quer fazer no nível de acesso.
Corpo da resposta
Se for bem-sucedido, o corpo da resposta da chamada conterá um recurso Operation que fornece detalhes sobre a operação do patch.
Excluir um nível de acesso
Nesta seção, descrevemos como excluir níveis de acesso do Access Context Manager. A exclusão de um nível de acesso é um processo de duas etapas:
Verificar dependências do nível de acesso
Antes de excluir um nível de acesso, verifique se ele não é referenciado por outros níveis de acesso, perímetros de serviço do VPC Service Controls, políticas de acesso baseado no contexto do Google Workspace, vinculações de acesso doGoogle Cloud ou condições do IAM.
Para encontrar todos os níveis de acesso que fazem referência ao que você quer excluir, faça o seguinte:
Verifique se você instalou o
jq. Para verificar se ojqestá instalado, executejq --version. Se necessário, instale ojq.Verifique se há dependências de nível de acesso. Esse comando lista todos os níveis de acesso e usa
jqpara filtrar os níveis de acesso que fazem referência aLEVEL_NAMEem definições de nível básico ou personalizado.echo "Searching for Access Levels referencing: accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME" echo "" gcloud access-context-manager levels list \ --policy="POLICY_NAME" \ --format=json | \ jq -r ' .[] | select( # Check basic levels: Is the target access level present as an element in any requiredAccessLevels array? ([(.basic.conditions // [])[] | (.requiredAccessLevels // []) | index("accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME") != null] | any) or # Check custom levels: Does the expression string contain the target access level? ((.custom.expr.expression // "") | (contains("accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME") or contains("levels.LEVEL_NAME"))) ) | " - \(.title) (Name: \(.name))" ' echo "" echo "If any levels are listed, they reference LEVEL_NAME. You must update these referencing levels before you delete LEVEL_NAME."
Substitua:
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.LEVEL_NAME: o nome do nível de acesso que você quer excluir, por exemplo,my_level.
Na saída, todos os níveis de acesso que fazem referência a
accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAMEoulevels.LEVEL_NAMEsão listados, junto com os respectivostitleename. Esses níveis de acesso incluem:Níveis básicos, em que
accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAMEestá listado emrequiredAccessLevelsNíveis personalizados, em que
accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAMEoulevels.LEVEL_NAMEé listado na stringcustom.expr.expression.
Se o comando listar níveis de acesso de referência, primeiro atualize esses níveis para remover a dependência. Para instruções, consulte Atualizar um nível de acesso.
Depois que todas as referências forem removidas, será possível excluir o nível de acesso individual.
Excluir um nível de acesso individual
Console
Para excluir um nível de acesso:
Abra a página Access Context Manager no console do Google Cloud .
Se solicitado, selecione a organização.
Na grade, na linha do nível de acesso que você quer excluir, clique no botão .
Clique em Excluir.
Na caixa de diálogo que aparece, confirme que você quer excluir o nível de acesso.
gcloud
Para excluir um nível de acesso:
Use o comando
deletepara excluir um nível de acesso.gcloud access-context-manager levels delete LEVEL_NAME \ [--policy=POLICY_NAME]
Substitua:
LEVEL_NAME: o nome do nível de acesso que você quer excluir.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.
Confirme que você quer excluir o nível de acesso.
Exemplo:
You are about to delete level Device_Trust Do you want to continue (Y/n)?
O resultado será semelhante a:
Waiting for operation [accessPolicies/123456789012/accessLevels/Device_Trust/delete/1531171874311645] to complete...done. Deleted level [Device_Trust].
API
Para excluir um nível de acesso, ligue para accessLevels.delete.
DELETE https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME
Substitua:
POLICY_NAME: o nome da política de acesso da sua organização.LEVEL_NAME: o nome do nível de acesso que você quer excluir.
Corpo da solicitação
O corpo da solicitação precisa estar vazio.
Corpo da resposta
Se for bem-sucedido, o corpo da resposta da chamada conterá um recurso Operation que fornece detalhes sobre a operação de exclusão.