Como gerenciar níveis de acesso

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 ferramenta de linha de comando gcloud.

    -ou-

    Consiga o nome da política. O nome da política é necessário para comandos que usam a ferramenta de linha de comando 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 ferramenta de linha de comando 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:

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. Os níveis de acesso são exibidos em uma grade na página, incluindo detalhes sobre a configuração de cada nível de acesso.

Abrir a página do Access Context Manager

gcloud

Para listar todos os níveis de acesso, use o comando list.

gcloud access-context-manager levels list \
  [--policy=POLICY_NAME]

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.

A resposta será similar a esta:

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/v1alpha/accessPolicies/POLICY_NAME/accessLevels

Em que:

  • POLICY_NAME é o nome da política de acesso da 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

number

Por padrão, a lista de níveis de acesso retornada por accessLevels.list é paginada. Cada página está limitada a 100 níveis de acesso.

É possível usar esse parâmetro para modificar o número de níveis de acesso retornados por página.

pageToken

string

Se o número de níveis de acesso retornados pela chamada exceder o tamanho da página, o corpo da resposta incluirá um token da página.

É possível usar esse parâmetro em uma chamada subsequente para ver a próxima página de resultados.

accessLevelFormat

enum(LevelFormat)

Normalmente, os níveis de acesso são retornados conforme definidos, como BasicLevel ou CustomLevel.

É possível especificar o valor CEL para esse parâmetro para retornar BasicLevels como CustomLevels na Common Expression Language do Cloud.

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 ferramenta de linha de comando gcloud, é possível conseguir uma lista dos níveis de acesso no formato 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]

Em que:

  • FORMAT é um dos seguintes valores:

    • list (formato YAML)

    • json (formato JSON)

  • 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.

A saída YAML será similar a esta:

- basic: {'conditions': [{'ipSubnetworks': ['8.8.0/24']}]}
  description: Level for corp access.
  name: accessPolicies/165717541651/accessLevels/corp_level
  title: Corp Level
- basic: {'combiningFunction': 'OR', 'conditions': [{'ipSubnetworks': ['8.8.0/24']}]}
  description: Level for net access.
  name: accessPolicies/165717541651/accessLevels/net_level
  title: Net Level

A saída JSON será semelhante a:

[
  {
    "basic": {
      "conditions": [
        {
          "ipSubnetworks": [
            "8.8.0/24"
          ]
        }
      ]
    },
    "description": "Level for corp access.",
    "name": "accessPolicies/165717541651/accessLevels/corp_level",
    "title": "Corp Level"
  },
  {
    "basic": {
      "combiningFunction": "OR",
      "conditions": [
        {
          "ipSubnetworks": [
            "8.8.0/24"
          ]
        }
      ]
    },
    "description": "Level for net access.",
    "name": "accessPolicies/165717541651/accessLevels/net_level",
    "title": "Net Level"
  }
]

Descrever um nível de acesso

Console

No 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]

Em que:

  • LEVEL_NAME é o nome do nível de acesso a ser descrito.

  • 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.

O comando imprimirá informações sobre o nível formatado como YAML. Por exemplo, se o nível restringir o acesso a determinadas versões do sistema operacional, a saída poderá 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/330193482019/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/v1alpha/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME

Em que:

  • POLICY_NAME é o nome da política de acesso da organização.

  • LEVEL_NAME é o nome do nível de acesso a ser descrito.

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:

  1. Abra a página do Access Context Manager no console do Google Cloud.

    Abrir a página do Access Context Manager

  2. Se solicitado, selecione a organização.

  3. Na grade, clique no nome do nível de acesso a ser atualizado.

  4. 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.

  5. Clique em Save.

    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]

Em que:

  • LEVEL_NAME é o nome do nível de acesso a ser atualizado;

  • 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 resolve 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 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-function

    Esta opção é usada apenas para níveis de acesso básicos.

    Determina como as condições são combinadas.

    Valores válidos: AND, OR

    description

    Uma descrição detalhada do nível de acesso.

    title

    Um 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=1034095178592

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

Em que:

  • POLICY_NAME é o nome da política de acesso da organização.

  • LEVEL_NAME é o nome do nível de acesso a ser descrito.

  • FIELDS é uma lista separada por vírgulas de nomes de campos totalmente qualificados que estão sendo atualizados.

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

Console

Para excluir um nível de acesso:

  1. Abra a página do Access Context Manager no console do Google Cloud.

    Abrir a página do Access Context Manager

  2. Se solicitado, selecione a organização.

  3. Na grade, na linha do nível de acesso que você quer excluir, clique no botão .

  4. Clique em Excluir.

  5. Na caixa de diálogo exibida, confirme se você quer excluir o nível de acesso.

gcloud

Para excluir um nível de acesso:

  1. Use o comando delete para excluir um nível de acesso.

    gcloud access-context-manager levels delete LEVEL_NAME \
        [--policy=POLICY_NAME]
    

    Em que:

    • LEVEL_NAME é o nome do nível de acesso a ser excluído;

    • 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.

  2. 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)?
    
    
    You should see output similar to the following:
    
    
    Waiting for operation [accessPolicies/330193482019/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/v1alpha/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME

Em que:

  • POLICY_NAME é o nome da política de acesso da organização.

  • LEVEL_NAME é o nome do nível de acesso a ser descrito.

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.