Condividi tramite


Usare un'identità gestita per eseguire un criterio di aggiornamento

I criteri di aggiornamento devono essere configurati con un'identità gestita negli scenari seguenti:

  • Quando la query dei criteri di aggiornamento fa riferimento a tabelle in altri database.
  • Quando la query dei criteri di aggiornamento fa riferimento a tabelle con un criterio di sicurezza a livello di riga abilitato.

I criteri di aggiornamento configurati con un'identità gestita vengono eseguiti per conto dell'identità gestita.

Questo articolo illustra come configurare un'identità gestita assegnata dal sistema o assegnata dall'utente e creare un criterio di aggiornamento usando tale identità.

Prerequisiti

Configurare un'identità gestita

Sono disponibili due tipi di identità gestite:

  • Assegnata dal sistema: un'identità assegnata dal sistema è connessa al cluster e viene rimossa quando il cluster viene rimosso. È consentita una sola identità assegnata dal sistema per ogni cluster.

  • Assegnata dall'utente: un'identità gestita assegnata dall'utente è una risorsa di Azure autonoma. È possibile assegnare più identità assegnate dall'utente al cluster.

Selezionare una delle schede seguenti per configurare il tipo di identità gestita preferito.

  1. Seguire la procedura per aggiungere un'identità assegnata dall'utente.

  2. Nel portale di Azure selezionare Proprietà nel menu a sinistra della risorsa di identità gestita. Copiare e salvare l'ID tenant e l'ID entità da usare nei passaggi seguenti.

    Screenshot dell'area di portale di Azure con ID identità gestita.

  3. Eseguire il comando .alter-merge policy managed_identity seguente, sostituendo <objectId> con l'ID oggetto Identità gestita del passaggio precedente. Questo comando imposta un criterio di identità gestita nel cluster che consente l'uso dell'identità gestita con i criteri di aggiornamento.

    .alter-merge cluster policy managed_identity ```[
        {
          "ObjectId": "<objectId>",
          "AllowedUsages": "AutomatedFlows"
        }
    ]```
    

    Nota

    Per impostare i criteri in un database specifico, usare database <DatabaseName> invece di cluster.

  4. Eseguire il comando seguente per concedere le autorizzazioni del Visualizzatore database di identità gestita su tutti i database a cui fa riferimento la query dei criteri di aggiornamento.

    .add database <DatabaseName> viewers ('aadapp=<objectId>;<tenantId>')
    

    Sostituire <DatabaseName> con il database pertinente, <objectId> con l'ID entità di identità gestita del passaggio 2 e <tenantId> con l'ID tenant di Microsoft Entra ID del passaggio 2.

Creare un criterio di aggiornamento

Selezionare una delle schede seguenti per creare un criterio di aggiornamento che verrà eseguito per conto di un'identità gestita assegnata dall'utente o assegnata dal sistema.

Eseguire il comando .alter table policy update con la ManagedIdentity proprietà impostata sull'ID oggetto Identity gestito.

Ad esempio, il comando seguente modifica i criteri di aggiornamento della tabella MyTable nel database MyDatabase. È importante notare che i Source parametri e Query devono fare riferimento solo agli oggetti all'interno dello stesso database in cui sono definiti i criteri di aggiornamento. Tuttavia, il codice contenuto all'interno della funzione specificata nel Query parametro può interagire con le tabelle che si trovano in altri database. Ad esempio, la funzione MyUpdatePolicyFunction() può accedere OtherTable per OtherDatabase conto di un'identità gestita assegnata dall'utente. <objectId> deve essere un ID oggetto identity gestito.

.alter table MyDatabase.MyTable policy update
```
[
    {
        "IsEnabled": true,
        "Source": "MyTable",
        "Query": "MyUpdatePolicyFunction()",
        "IsTransactional": false,
        "PropagateIngestionProperties": false,
        "ManagedIdentity": "<objectId>"
    }
]
```