Condividi tramite


Come usare l'identità gestita con Servizi di comunicazione di Azure

Servizi di comunicazione di Azure è una piattaforma di comunicazione completamente gestita che consente agli sviluppatori di creare funzionalità di comunicazione in tempo reale nelle applicazioni. Usando l'identità gestita con Servizi di comunicazione di Azure, è possibile semplificare il processo di autenticazione per l'applicazione, aumentando al contempo la sicurezza. Questo documento illustra come usare l'identità gestita con Servizi di comunicazione di Azure.

Uso dell'identità gestita con Servizi di comunicazione di Azure

Servizi di comunicazione di Azure supporta l'uso dell'identità gestita per l'autenticazione con il servizio. Usando l'identità gestita, è possibile eliminare la necessità di gestire i propri token di accesso e le credenziali.

Alla risorsa Servizi di comunicazione di Azure possono essere assegnati due tipi di identità:

  1. Identità assegnata dal sistema associata alla risorsa e eliminata quando la risorsa viene eliminata. La risorsa può avere solo un'identità assegnata dal sistema.
  2. Identità assegnata dall'utente che è una risorsa di Azure che può essere assegnata alla risorsa Servizi di comunicazione di Azure. Questa identità non viene eliminata quando la risorsa viene eliminata. La risorsa può avere più identità assegnate dall'utente.

Per usare l'identità gestita con Servizi di comunicazione di Azure, seguire questa procedura:

  1. Concedere all'identità gestita l'accesso alla risorsa servizi di comunicazione. Questa assegnazione può essere eseguita tramite le portale di Azure, l'interfaccia della riga di comando di Azure e gli SDK di Gestione comunicazioni di Azure.
  2. Usare l'identità gestita per eseguire l'autenticazione con Servizi di comunicazione di Azure. L'autenticazione può essere eseguita tramite gli SDK di Azure o le API REST che supportano l'identità gestita.

Aggiungere un'identità assegnata dal sistema

  1. Nel riquadro di spostamento sinistro della pagina dell'app scorrere verso il basso fino al gruppo Impostazioni.

  2. Selezionare Identità.

  3. All'interno della scheda Assegnata dal sistema impostare Stato su Attivato. Seleziona Salva. Screenshot che mostra come abilitare l'identità gestita assegnata dal sistema.

Aggiungere un'identità assegnata dall'utente

Per assegnare un'identità assegnata dall'utente alla risorsa Servizi di comunicazione di Azure è necessario creare prima l'identità e quindi aggiungerne l'identificatore alla risorsa del servizio di comunicazione.

Prima di tutto, è necessario creare una risorsa di identità gestita assegnata dall'utente.

  1. Seguire queste istruzioni per creare una risorsa identità gestita assegnata dall'utente.

  2. Nel riquadro di spostamento a sinistra per la pagina dell'app scorrere verso il basso fino al gruppo di Impostazioni.

  3. Selezionare Identità.

  4. Selezionare Aggiungi assegnato dall'utente>.

  5. Cercare l'identità creata in precedenza, selezionarla e selezionare Aggiungi. Screenshot che mostra come abilitare l'identità gestita assegnata dall'utente.

Identità gestita con SDK di gestione Servizi di comunicazione di Azure

L'identità gestita può anche essere assegnata alla risorsa Servizi di comunicazione di Azure usando gli SDK di Gestione delle comunicazioni di Azure. Questa assegnazione può essere ottenuta introducendo la proprietà Identity nella definizione della risorsa durante la creazione o durante l'aggiornamento della risorsa.

È possibile assegnare l'identità gestita alla risorsa Servizi di comunicazione di Azure usando Azure Communication Management SDK per .NET impostando la Identity proprietà su CommunicationServiceResourceData .

Ad esempio:

public async Task CreateResourceWithSystemAssignedManagedIdentity()
{
    ArmClient armClient = new ArmClient(new DefaultAzureCredential());
    SubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync();

    //Create Resource group
    ResourceGroupCollection rgCollection = subscription.GetResourceGroups();
    // With the collection, we can create a new resource group with an specific name
    string rgName = "myRgName";
    AzureLocation location = AzureLocation.WestUS2;
    ArmOperation<ResourceGroupResource> lro = await rgCollection.CreateOrUpdateAsync(WaitUntil.Completed, rgName, new ResourceGroupData(location));
    ResourceGroupResource resourceGroup = lro.Value;

    // get resource group collection
    CommunicationServiceResourceCollection collection = resourceGroup.GetCommunicationServiceResources();
    string communicationServiceName = "myCommunicationService";
    
    // Create Communication Service Resource
    var identity = new ManagedServiceIdentity(ManagedServiceIdentityType.SystemAssigned);
    CommunicationServiceResourceData data = new CommunicationServiceResourceData("global")
    {
        DataLocation = "UnitedStates",
        Identity = identity
    };
    var communicationServiceLro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, communicationServiceName, data);
    var resource = communicationServiceLro.Value;
}

Per altre informazioni sull'uso di .NET Management SDK, vedere Azure Communication Management SDK per .NET.

Per altre informazioni specifiche per la gestione dell'istanza di risorsa, vedere Gestione dell'istanza della risorsa del servizio di comunicazione

Nota

Una risorsa può avere identità assegnate dal sistema e assegnate dall'utente contemporaneamente. In questo caso, la proprietà type sarebbe SystemAssigned,UserAssigned.

È anche possibile rimuovere tutte le assegnazioni di identità gestite da una risorsa specificando la type proprietà come None.

Passaggi successivi

Ora che si è appreso come abilitare l'identità gestita con Servizi di comunicazione di Azure. Prendere in considerazione l'implementazione di questa funzionalità nelle proprie applicazioni per semplificare il processo di autenticazione e migliorare la sicurezza.