Depois que um nível de acesso personalizado é criado, ele pode ser gerenciado da mesma maneira que os níveis de acesso básico.
Para detalhes sobre como criar expressões de linguagem de expressão comum (CEL, na sigla em inglês) para níveis de acesso personalizados, consulte a especificação personalizada de nível de acesso.
Console
Para criar um nível de acesso personalizado:
Abra a página Access Context Manager no console do Google Cloud.
Se solicitado, selecione a organização.
Na parte superior da página do Access Context Manager, clique em Novo.
No painel Novo nível de acesso, faça o seguinte:
Na caixa Título do nível de acesso, digite um título para o nível de acesso. O título precisa ter no máximo 50 caracteres, começar com uma letra e pode conter apenas números, letras, sublinhados e espaços.
Ao lado de Criar condições em, selecione Modo avançado.
Na seção Condições, insira as expressões para seu nível de acesso personalizado. A condição precisa ser resolvida como um único valor booleano.
Para ver exemplos e mais informações sobre o suporte à Common Expression Language (CEL) e os níveis de acesso personalizados, consulte a Especificação do nível de acesso personalizado.
Clique em Save.
gcloud
Antes de começar
- Crie uma política de acesso para a organização caso ainda não exista uma.
Para criar um nível de acesso personalizado usando a ferramenta de linha de comando 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. Ele precisa começar com uma letra e incluir apenas letras, números e sublinhados; O nome pode ter no máximo 50 caracteres.
TITLE é o título curto e legível para o nível de acesso.
FILE é um arquivo .yaml em que está sua expressão CEL formatada como um único par de chave-valor:
expression: "CEL_EXPRESSION"
.Para ver exemplos e mais informações sobre o suporte à Common Expression Language (CEL) 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 organização.
Se quiser, inclua qualquer uma das
sinalizações de gcloud
.
custom-level-spec
Arquivo YAML
Ao usar a ferramenta de linha de comando gcloud
para criar um nível de acesso personalizado, é necessário fornecer
um arquivo .yaml para a opção custom-level-spec
. O arquivo .yaml define
uma expressão CEL que resolve para um único valor booleano. O arquivo .yaml
precisa conter um único par de chave-valor formatado como
expression: "CEL_EXPRESSION"
. O valor de expression
precisa
ser uma string.
Exemplo de arquivo 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
- Crie uma política de acesso para a organização caso ainda não exista uma.
Para criar um nível de acesso personalizado, use o
método
accessPolicies.accessLevels.create
.
Corpo da solicitação
No corpo da solicitação 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 seu nível de acesso personalizado. A expressão completa precisa ser resolvida com 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
- Crie uma política de acesso para a organização caso ainda não exista uma.
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
|
|