API da lista de controle de acesso - ServiceNow Fluent

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 8 min. de leitura
  • 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.

    Tabela 1. Propriedades
    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: Now.ID['Cadeia de caracteres' ou número]

    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 executar . tipo a propriedade é client_callable_flow_object, client_callable_script_include, graphql, processor ou rest_endpoint.

    Valores válidos:
    • Executar: Permitir que os usuários executem scripts em um registro ou página de IU.
    • Criar: Permitir que os usuários insiram novos registros (linhas) em uma tabela.
    • Leitura: Permitir que os usuários exibam registros de uma tabela.
    • Gravação: Permitir que os usuários atualizem registros em uma tabela.
    • Excluir: Permitir que os usuários removam registros de uma tabela ou soltem uma tabela.
    • Condicional_table_query_range: Permite que os usuários concedam acesso parcial à ACL com base em ACLs de leitura. Criado para as tabelas que têm ACLs de leitura sem condição de dados e script.
    • Data_fabric: Permite que os usuários permitam que os conectores de malha de dados acessem dados em uma tabela específica.
    • Query_match: Permite que os usuários enviem consultas de correspondência (como "é", "não é" e "está vazio").
    • Query_range: Permite que os usuários enviem consultas de intervalo (como "Começa com", "Termina com" e "Contém") e a classificação é irrestrita.
    • Edit_task_relations: Permitir que os usuários estendam a tabela Tarefa [tarefa].
    • Edit_ci_relations: Permitir que os usuários estendam a tabela de item de configuração [cmdb_ci].
    • Save_as_template: Permite que os usuários salvem um registro como modelo.
    • Add_to_list: Permite que os usuários exibam ou personalizem colunas específicas na mecânica de lista. Não há suporte para condições e scripts.
    • Report_on: Permitir que os usuários relatem tabelas.
    • List_edit: Permite que os usuários atualizem registros (linhas) de uma lista.
    • Report_view: Permitir que os usuários relatem as ACLs de campo.
    • Customize_choices: Permitir que os usuários configurem a tabela ou o campo.
    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:
    • registro
    • rest_endpoint
    • ui_page
    • processador
    • graphql
    • pd_action
    • ux_data_broker
    • ux_page
    • ux_route
    • client_callable_flow_object
    • client_callable_script_include

    Padrão: Registro

    ativo Booliano Sinalizador que indica se a regra de ACL é imposta.
    Valores válidos:
    • Verdadeiro: A regra de ACL é imposta.
    • Falso: A regra de ACL não é imposta.

    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:
    • Verdadeiro: Os administradores passam automaticamente na verificação de permissões.

      Se verdadeiro, os usuários administradores passam na verificação de permissões, independentemente de quais restrições de script ou função se aplicam. No entanto, o papel de ninguém, que só ServiceNowa equipe pode atribuir, tem precedência sobre a opção de substituição do administrador. Se uma ACL for atribuída à função Ninguém, os usuários administradores não poderão acessar o recurso, mesmo quando AdminOverrides é verdadeiro. Para obter mais informações, consulte Funções do sistema de base .

    • Falso: Os administradores devem atender às permissões definidas nesta regra de ACL para obter acesso ao objeto protegido. Use o. condição ou script as propriedades para criar uma verificação de permissões que os administradores devem passar.

    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:
    • retornar um conjunto de variáveis de resposta definida como um valor verdadeiro ou falso
    • avaliar como verdadeiro ou falso
    Em ambos os casos, os usuários só ganham acesso ao objeto quando o script é avaliado como verdadeiro e o usuário atende a todas as condições da regra de ACL. As condições e o script devem ser avaliados como verdadeiros para que um usuário acesse o objeto.
    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:
    • Para funções, use o nome de uma função, expressão de função ou função padrão exportada de um módulo JavaScript e importe-a para o. .now.ts arquivo. Para obter informações sobre módulos JavaScript, consulte Módulos JavaScript e bibliotecas de terceiros.
    • Para usar conteúdo de texto de outro arquivo, consulte um arquivo na aplicação usando o seguinte formato: Now.include('path/to/file') . Para obter mais informações, consulte ServiceNow Fluent construções de linguagem.
    • Para fornecer um script em linha, use literais de cadeia de caracteres ou literais de modelo para várias linhas de código: "Script" ou "Script" .
    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:
    • Local: Um atributo de segurança baseado em condição Propriedade salva somente para a ACL em que foi criada.
    • Existente: Um atributo de segurança existente para referenciar no security_attribute propriedade.

    Padrão: Local

    DecisionType Cadeia de caracteres Uma opção para saber se a ACL deve permitir ou negar acesso.
    Valores válidos:
    • Permitir: A ACL permite acesso.
    • Negar: A ACL nega o acesso.

    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.
    $meta: {
          installMethod: 'String'
    }
    Valores válidos para Método de instalação :
    • Demonstração: Gera os metadados da aplicação para o. metadados/unload.demo diretório a ser instalado com a aplicação quando Carregar dados de demonstração a opção está selecionada.
    • Primeira instalação: Gera os metadados da aplicação para o. metadados/descarregamento diretório a ser instalado somente na primeira vez que uma aplicação for instalada em uma instância.
    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],
    })
    As funções referenciadas são definidas usando Função objeto:
    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] 
    })