Compartilhar via


Visão geral das funções de segurança

Aplica-se a: ✅Microsoft FabricAzure Data Explorer

As entidades de segurança recebem acesso aos recursos por meio de um modelo de controle de acesso baseado em função, em que suas funções de segurança atribuídas determinam o acesso aos recursos.

Quando uma entidade de segurança tenta uma operação, o sistema executa uma verificação de autorização para verificar se a entidade de segurança está associada a pelo menos uma função de segurança que concede permissões para executar a operação. Falha em uma verificação de autorização anula a operação.

Os comandos de gerenciamento listados neste artigo podem ser usados para gerenciar entidades de segurança e suas funções de segurança em bancos de dados, tabelas, tabelas externas, exibições materializadas e funções.

Observação

As funções de segurança de AllDatabasesAdmin, AllDatabasesViewer não podem ser configuradas com comandos de gerenciamento de função de segurança. Elas são herdadas respectivamente pelas funções e Viewer pelo Admin workspace.

Observação

As três funções de segurança em nível de cluster de AllDatabasesAdmin, AllDatabasesViewere AllDatabasesMonitor não podem ser configuradas com comandos de gerenciamento de função de segurança.

Para saber como configurá-los no portal do Azure, consulte Gerenciar permissões de cluster.

Comandos de gerenciamento

A tabela a seguir descreve os comandos usados para gerenciar funções de segurança.

Comando Descrição
.show Lista entidades de segurança com a função fornecida.
.add Adiciona uma ou mais entidades de segurança à função.
.drop Remove uma ou mais entidades de segurança da função.
.set Define a função para a lista específica de entidades de segurança, removendo todas as anteriores.

Funções de segurança

A tabela a seguir descreve o nível de acesso concedido para cada função e mostra uma verificação se a função pode ser atribuída dentro do tipo de objeto fornecido.

Função Permissões Bancos de dados Tabelas Tabelas externas Visões materializadas Functions
admins Exiba, modifique e remova o objeto e as subobjetas. ✔️ ✔️ ✔️ ✔️ ✔️
users Exiba o objeto e crie novos subobjetos. ✔️
viewers Exiba o objeto em que RestrictedViewAccess não está ativado. ✔️
unrestrictedviewers Exiba o objeto mesmo onde RestrictedViewAccess está ativado. A entidade de segurança também deve ter adminsviewers ou users permissões. ✔️
ingestors Ingerir dados no objeto sem acesso à consulta. ✔️ ✔️
monitors Exiba metadados, como esquemas, operações e permissões. ✔️

Para obter uma descrição completa das funções de segurança em cada escopo, consulte o controle de acesso baseado em função do Kusto.

Observação

Não é possível atribuir a viewer função apenas para algumas tabelas no banco de dados. Para obter abordagens diferentes sobre como conceder acesso de exibição principal a um subconjunto de tabelas, consulte gerenciar o acesso ao modo de exibição de tabela.

Cenários comuns

Mostrar suas principais funções

Para ver suas próprias funções no cluster, execute o seguinte comando:

Para ver suas próprias funções na casa de eventos, execute o seguinte comando:

.show cluster principal roles

Mostrar suas funções em um recurso

Para verificar as funções atribuídas a você em um recurso específico, execute o seguinte comando no banco de dados relevante ou no banco de dados que contém o recurso:

// For a database:
.show database DatabaseName principal roles

// For a table:
.show table TableName principal roles

// For an external table:
.show external table ExternalTableName principal roles

// For a function:
.show function FunctionName principal roles

// For a materialized view:
.show materialized-view MaterializedViewName principal roles

Mostrar as funções de todas as entidades de segurança em um recurso

Para ver as funções atribuídas a todas as entidades de segurança de um recurso específico, execute o seguinte comando no banco de dados relevante ou no banco de dados que contém o recurso:

// For a database:
.show database DatabaseName principals

// For a table:
.show table TableName principals

// For an external table:
.show external table ExternalTableName principals

// For a function:
.show function FunctionName principals

// For a materialized view:
.show materialized-view MaterializedViewName principals

Dica

Use o operador where para filtrar os resultados por uma entidade de segurança ou função específica.

Importante

  • Se a entidade de segurança estiver no mesmo locatário que o usuário, seu FQN (nome totalmente qualificado) será exibido.

  • Se a entidade de segurança estiver em um locatário diferente do usuário:

    • O nome de exibição não mostra o FQN.
    • O nome de exibição indica que a entidade de segurança é de um locatário diferente. O formato é [User/Group/Application] from AAD tenant [Tenant Id].
    • Para adicionar informações de identificação, atribua à entidade de segurança uma função em seu locatário e use o Description parâmetro para adicionar detalhes de identificação. A Description origem é mostrada na coluna Anotações da saída.

Modificar as atribuições de função

Para obter detalhes sobre como modificar suas atribuições de função nos níveis de banco de dados e tabela, consulte Gerenciar funções de segurança de banco de dados e gerenciar funções de segurança de tabela.