API da lista de controle de acesso - ServiceNow Fluent
A API Lista de controle de acesso define listas de controle de acesso [sys_security_acl] que protegem partes de uma aplicação.
Para obter informações gerais sobre listas de controle de acesso (ACLs), consulte Access Control List Rules.
Objeto ACL
Configure uma regra de ACL personalizada [sys_security_acl] para proteger o acesso a novos objetos ou para mudar o comportamento de segurança padrão.
As ACLs devem incluir uma ou mais funções, um atributo de segurança, uma condição ou um script.
| Nome | Tipo | Descrição |
|---|---|---|
| id | Cadeia de caracteres ou número | Necessário. Um ID exclusivo para o objeto de metadados. Quando você cria a aplicação, este ID é hash em um sys_id exclusivo. Para obter mais informações, consulte ServiceNow Fluent construções de linguagem. Formato: |
| operação | Cadeia de caracteres | Necessário. A operação que esta regra de ACL protege. Uma regra de ACL só pode proteger uma operação. Para proteger várias operações, crie uma regra de ACL separada para cada uma. A operação deve ser Valores válidos:
|
| tipo | Cadeia de caracteres | Necessário. O tipo de objeto que esta regra de ACL protege. O tipo determina quais operações estão disponíveis. Depois de criar uma regra de ACL, se você quiser mudar o tipo, exclua a ACL e crie uma nova com o tipo correto. Valores válidos:
Padrão: Registro |
| ativo | Booliano | Sinalizador que indica se a regra de ACL é imposta. Valores válidos:
Padrão: verdadeiro |
| AdminOverrides | Booliano | Sinalizador que indica se os usuários com a função de administrador passam automaticamente na verificação de permissões desta regra de ACL. Valores válidos:
Padrão: verdadeiro |
| script | Script | Um script personalizado que define as permissões necessárias para acessar o objeto. Esta propriedade é compatível com uma função de um módulo JavaScript, uma referência a outro arquivo na aplicação que contém um script ou JavaScript em linha. As ACLs devem incluir uma ou mais funções, um atributo de segurança, uma condição ou um script. Nota: . tipo a propriedade é graphql scripts , não são compatíveis.O script pode usar os valores de atual e. anterior variáveis globais e propriedades do sistema. O script deve gerar uma resposta verdadeira ou falsa de uma de duas maneiras:
Nota: Se o item avaliado estiver em uma lista relacionada, o atual apontará para o item no qual está a lista relacionada, não para o item atual ao qual a ACL se destina. No entanto, se o item para o qual você está avaliando a ACL não estiver em uma lista relacionada, o atual apontará para o item real.Formato:
|
| descrição | Cadeia de caracteres | Uma descrição do objeto ou das permissões que esta regra de ACL protege. |
| LocalOrExistente | Cadeia de caracteres | O tipo de atributo de segurança a ser aplicado. Valores válidos:
Padrão: Local |
| DecisionType | Cadeia de caracteres | Uma opção para saber se a ACL deve permitir ou negar acesso. Valores válidos:
Padrão: Permitir |
| condição | Cadeia de caracteres | Uma consulta de filtro que especifica os campos e valores que devem ser verdadeiros para que os usuários acessem o objeto. Para obter mais informações, consulte Operators available for filters and queries. As ACLs devem incluir uma ou mais funções, um atributo de segurança, uma condição ou um script. |
| funções | Matriz | Uma lista de identificadores de variáveis de Função objetos ou sys_ids de funções que um usuário deve ter para acessar o objeto. Para obter mais informações, consulte API de função - ServiceNow Fluent. As ACLs devem incluir uma ou mais funções, um atributo de segurança, uma condição ou um script. Nota: Os usuários com a função de administrador sempre passam nesta verificação de permissões porque a função de administrador concede automaticamente aos usuários todas as outras funções. |
| Atributo de segurança | Cadeia de caracteres | Condições predefinidas para a ACL ser usada. Por exemplo, se um usuário está representando outro usuário. Para obter mais informações sobre atributos de segurança, consulte OOB (Out-of-Box) Security Attributes. As ACLs devem incluir uma ou mais funções, um atributo de segurança, uma condição ou um script. Nota: Para atributos de segurança com Is localizedo campo definido como verdadeiro, o. LocalOrExistente A propriedade da ACL deve ser definida como local. . Is localizedo campo é falso, o. LocalOrExistente A propriedade deve ser definida como Existente. |
| tabela | Cadeia de caracteres | O nome da tabela à qual a ACL se aplica. Esta propriedade só se aplica e é necessária se tipo a propriedade é um dos seguintes valores: ux_data_broker, ux_page, ux_route, pd_action ou record. |
| Assunto: | Cadeia de caracteres | O nome de um campo na tabela a ser protegido. Você pode usar o caractere curinga ( "*" ) para selecionar todos os campos. |
| nome | Cadeia de caracteres | O nome da ACL. Esta propriedade só se aplica e é necessária se tipo a propriedade é um dos seguintes valores: rest_endpoint, ui_page, processor, graphql, client_callable_flow_object, ou client_callable_script_include. |
| meta | Objeto | Metadados dos metadados da aplicação. Com o. Método de instalação , você pode mapear os metadados da aplicação para um diretório de saída que carrega somente em circunstâncias específicas. Valores válidos para Método de instalação :
|
import { Acl } from "@servicenow/sdk/core";
export default Acl({
$id: Now.ID['task_delete_acl'],
active: true,
adminOverrides: true,
type: 'record',
table: 'task',
field: 'description',
operation: 'delete',
roles: [adminRole, managerRole],
})
import { Role } from "@servicenow/sdk/core";
const managerRole = Role({
$id: Now.ID['manager_role'],
name: 'x_snc_example.manager'
})
const adminRole = Role({
$id: Now.ID['admin_role'],
name: 'x_snc_example.admin',
containsRoles: [managerRole]
})