Criar um nível de acesso personalizado

Após a criação de um nível de acesso personalizado, este pode ser gerido da mesma forma que os níveis de acesso básicos.

Para ver detalhes sobre a criação de expressões do Idioma de expressão comum (IEC) para níveis de acesso personalizados, consulte a especificação do nível de acesso personalizado.

Consola

Para criar um nível de acesso personalizado:

  1. Abra a página Access Context Manager na Google Cloud consola.

    Abra a página Gestor de acesso sensível ao contexto

  2. Se lhe for pedido, selecione a sua organização.

  3. Na parte superior da página Gestor de contexto de acesso, clique em Novo.

  4. No painel Novo nível de acesso:

    1. Na caixa Título de nível de acesso, introduza um título para o nível de acesso. O título tem de ter, no máximo, 50 carateres, começar por uma letra e só pode conter números, letras, sublinhados e espaços.

    2. Em Criar condições em, selecione Modo avançado.

    3. Na secção Condições, introduza as expressões para o seu nível de acesso personalizado. A condição tem de ser resolvida para um único valor booleano.

      Para ver exemplos e mais informações sobre o suporte do idioma de expressão comum (IEC) e os níveis de acesso personalizados, consulte a especificação do nível de acesso personalizado.

    4. Clique em Guardar.

gcloud

Antes de começar

Para criar um nível de acesso personalizado através da ferramenta de linha de comandos gcloud, use o comando gcloud access-context-manager levels create.

gcloud access-context-manager levels create LEVEL_NAME \
  --title=TITLE \
  --custom-level-spec=FILE \
  --description=DESCRIPTION \
  --policy=POLICY_NAME

Onde:

  • LEVEL_NAME é um nome exclusivo para o nível de acesso. Tem de começar por uma letra e incluir apenas letras, números e sublinhados. O nome pode ter um máximo de 50 carateres.

  • TITLE é o título curto e legível do nível de acesso.

  • FILE é um ficheiro .yaml que contém a sua expressão de IEC formatada como um único par de chave-valor: expression: "CEL_EXPRESSION".

    Para ver exemplos e mais informações sobre a compatibilidade com o idioma de expressão comum (IEC) e os níveis de acesso personalizados, consulte a especificação do nível de acesso personalizado.

  • DESCRIPTION (opcional) é uma descrição legível do nível de acesso.

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

Opcionalmente, pode incluir qualquer uma das gcloudsinalizações ao nível do grupo.

custom-level-spec Ficheiro YAML

Quando usa a ferramenta de linha de comandos gcloud para criar um nível de acesso personalizado, tem de fornecer um ficheiro .yaml para a opção custom-level-spec. O ficheiro .yaml define uma expressão CEL que é resolvida para um único valor booleano. O ficheiro .yaml tem de conter um único par de chave-valor formatado como expression: "CEL_EXPRESSION". O valor de expression tem de ser uma string.

Exemplo de ficheiro YAML

expression: "device.encryption_status == DeviceEncryptionStatus.ENCRYPTED && (origin.region_code in ['US'] || device.is_admin_approved_device)"

Exemplo de comando

gcloud access-context-manager levels create Custom_Trust \
    --custom-level-spec=customspec.yaml \
    --description="Custom access level for corp." \
    --title="Custom Trust Level" \
    --policy=1521580097614100

REST

Antes de começar

Para criar um nível de acesso personalizado, use o método accessPolicies.accessLevels.create.

Corpo do pedido

No corpo do pedido da chamada, inclua uma instância do objeto AccessLevel.

{
  "name": string,
  "title": string,
  "description": string,
  "custom": {
    "expr": {
      "expression": string,
      "title": string,
      "description": string
    }
  }
}

Para o campo custom, crie um objeto que inclua as expressões CEL para o seu nível de acesso personalizado. A expressão completa tem de ser resolvida como um valor booleano. Os campos title e description são opcionais.

Exemplo

{
  "name": "example_custom_level",
  "title": "Example custom level",
  "description": "An example custom access level.",
  "custom":  {
    "expr": {
      "expression": "device.is_corp_owned == true || (device.os_type != OsType.OS_UNSPECIFIED && device.is_admin_approved_device == true)",
      "title": "Check for known devices",
      "description": "Permits requests from corp-owned devices and admin-approved devices with a known OS."
    }
  }
}

RPC

Antes de começar

Para criar um nível de acesso personalizado, chame CreateAccessLevel.

Para o campo access_level, inclua uma instância de AccessLevel.

Campos
name
Tipo de string
Descrição

Obrigatório.

O nome do recurso do nível de acesso. O POLICY_ID é o nome numérico da política de acesso da sua organização. O SHORT_NAME tem de começar por uma letra e incluir apenas letras, números e sublinhados.

Formato:

                accessPolicies/policy_id/accessLevels/short_name
                

title
Tipo de string
Descrição

Uma etiqueta legível para o nível de acesso. Os níveis de acesso têm de ter nomes exclusivos.

description
Tipo de string
Descrição

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

custom
Tipo de string
Descrição

As expressões CEL para o seu nível de acesso personalizado. A expressão completa tem de ser resolvida como um valor booleano.