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:
- Abra a página Access Context Manager na Google Cloud consola. 
- Se lhe for pedido, selecione a sua organização. 
- Na parte superior da página Access Context Manager, clique em Novo. 
- No painel Novo nível de acesso: - 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. 
- Em Criar condições em, selecione Modo avançado. 
- 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. 
- Clique em Guardar. 
 
gcloud
Antes de começar
- Se ainda não existir, crie uma política de acesso para a sua organização.
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
- Se ainda não existir, crie uma política de acesso para a sua organização.
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
- Se ainda não existir, crie uma política de acesso para a sua organização.
Para criar um nível de acesso personalizado, chame
CreateAccessLevel.
Para o campo access_level, inclua uma instância de AccessLevel.
| Campos | |||||
|---|---|---|---|---|---|
| name | 
 | ||||
| title | 
 | ||||
| description | 
 | ||||
| custom | 
 | ||||