Panoramica dei ruoli di sicurezza

Le entità vengono concesse l'accesso alle risorse tramite un modello di controllo degli accessi in base al ruolo, in cui i ruoli di sicurezza assegnati determinano l'accesso alle risorse.

Quando un'entità tenta un'operazione, il sistema esegue un controllo di autorizzazione per assicurarsi che l'entità sia associata a almeno un ruolo di sicurezza che concede le autorizzazioni per eseguire l'operazione. L'esito negativo di un controllo di autorizzazione interrompe l'operazione.

I comandi di gestione elencati in questo articolo possono essere usati per gestire le entità e i relativi ruoli di sicurezza su database, tabelle, tabelle esterne, viste materializzate e funzioni.

Nota

I tre ruoli di sicurezza a livello di cluster di AllDatabasesAdmin, AllDatabasesViewere AllDatabasesMonitor non possono essere configurati con i comandi di gestione dei ruoli di sicurezza. Per informazioni su come configurarle nella portale di Azure, vedere Gestire le autorizzazioni del cluster.

Comandi di gestione

Nella tabella seguente vengono descritti i comandi usati per la gestione dei ruoli di sicurezza.

Comando Descrizione
.show Elenchi entità con il ruolo specificato.
.add Aggiunge uno o più entità al ruolo.
.drop Rimuove una o più entità dal ruolo.
.set Imposta il ruolo sull'elenco specifico delle entità, rimuovendo tutti quelli precedenti.

Ruoli di sicurezza

La tabella seguente descrive il livello di accesso concesso per ogni ruolo e mostra un controllo se il ruolo può essere assegnato all'interno del tipo di oggetto specificato.

Ruolo Autorizzazioni Database Tabelle Tabelle esterne Viste materializzate Funzioni
admins Visualizzare, modificare e rimuovere l'oggetto e gli oggetti secondari. ✔️
users Visualizzare l'oggetto e creare nuovi oggetti secondari. ✔️
viewers Visualizzare l'oggetto in cui RestrictedViewAccess non è attivato. ✔️
unrestrictedviewers Visualizzare l'oggetto anche in cui è attivato RestrictedViewAccess . L'entità deve disporre adminsanche di autorizzazioni viewers o users . ✔️
ingestors Inserire dati nell'oggetto senza accesso alla query. ✔️
monitors Visualizzare i metadati, ad esempio schemi, operazioni e autorizzazioni. ✔️

Per una descrizione completa dei ruoli di sicurezza in ogni ambito, vedere Controllo degli accessi in base al ruolo kusto.

Nota

Non è possibile assegnare il viewer ruolo solo per alcune tabelle nel database. Per approcci diversi su come concedere l'accesso a una visualizzazione principale a un subset di tabelle, vedere Gestire l'accesso alla visualizzazione tabelle.

Scenari comuni

Visualizzare i ruoli nel cluster

Per visualizzare i propri ruoli nel cluster, eseguire il comando seguente:

.show cluster principal roles

Visualizzare i ruoli in una risorsa

Per controllare i ruoli assegnati a una risorsa specifica, eseguire il comando seguente all'interno del database pertinente o nel database che contiene la risorsa:

// 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

Visualizzare i ruoli di tutte le entità in una risorsa

Per visualizzare i ruoli assegnati a tutte le entità per una determinata risorsa, eseguire il comando seguente all'interno del database pertinente o al database che contiene la risorsa:

// 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

Suggerimento

Usare l'operatore where per filtrare i risultati in base a un'entità o a un ruolo specifico.

Modificare le assegnazioni di ruolo

Per informazioni dettagliate su come modificare le assegnazioni di ruolo a livello di database e tabella, vedere Gestire i ruoli di sicurezza del database e Gestire i ruoli di sicurezza delle tabelle.