Så här använder du hanterad identitet med Azure Communication Services

Azure Communication Services är en fullständigt hanterad kommunikationsplattform som gör det möjligt för utvecklare att skapa kommunikationsfunktioner i realtid i sina program. Genom att använda Hanterad identitet med Azure Communication Services kan du förenkla autentiseringsprocessen för ditt program och samtidigt öka dess säkerhet. Det här dokumentet beskriver hur du använder hanterad identitet med Azure Communication Services.

Använda hanterad identitet med Azure Communication Services

Azure Communication Services stöder användning av hanterad identitet för att autentisera med tjänsten. Genom att använda Hanterad identitet kan du eliminera behovet av att hantera dina egna åtkomsttoken och autentiseringsuppgifter.

Din Azure Communication Services-resurs kan tilldelas två typer av identiteter:

  1. En systemtilldelad identitet som är kopplad till resursen och tas bort när resursen tas bort. Resursen kan bara ha en systemtilldelad identitet.
  2. En användartilldelad identitet som är en Azure-resurs som kan tilldelas till din Azure Communication Services-resurs. Den här identiteten tas inte bort när resursen tas bort. Resursen kan ha flera användartilldelade identiteter.

Följ dessa steg om du vill använda hanterad identitet med Azure Communication Services:

  1. Ge din hanterade identitet åtkomst till Communication Services-resursen. Den här tilldelningen kan ske via Azure-portalen, Azure CLI och SDK:erna för Azure Communication Management.
  2. Använd den hanterade identiteten för att autentisera med Azure Communication Services. Autentisering kan göras via Azure SDK:er eller REST-API:er som stöder hanterad identitet.

Lägga till en systemtilldelad identitet

  1. I det vänstra navigeringsfönstret på appens sida rullar du ned till gruppen Inställningar.

  2. Välj Identitet.

  3. På fliken Systemtilldelat växlar du Status till . Välj Spara. Skärmbild som visar hur du aktiverar systemtilldelad hanterad identitet.

Lägga till en användartilldelad identitet

När du tilldelar en användartilldelad identitet till din Azure Communication Services-resurs måste du först skapa identiteten och sedan lägga till dess resursidentifierare i kommunikationstjänstresursen.

Först måste du skapa en användartilldelad hanterad identitetsresurs.

  1. Skapa en användartilldelad hanterad identitetsresurs enligt dessa instruktioner.

  2. I det vänstra navigeringsfältet för appens sida rullar du ned till gruppen Inställningar.

  3. Välj Identitet.

  4. Välj Användartilldelade>Lägg till.

  5. Sök efter den identitet som du skapade tidigare, välj den och välj Lägg till. Skärmbild som visar hur du aktiverar användartilldelad hanterad identitet.

Hanterad identitet med azure communication services-hanterings-SDK:er

Hanterad identitet kan också tilldelas till din Azure Communication Services-resurs med hjälp av SDK:erna för Azure Communication Management. Den här tilldelningen kan uppnås genom att introducera identitetsegenskapen i resursdefinitionen, antingen när den skapas eller när resursen uppdateras.

Du kan tilldela din hanterade identitet till din Azure Communication Services-resurs med hjälp av Azure Communication Management SDK för .NET genom att ange Identity egenskapen på CommunicationServiceResourceData .

Till exempel:

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;
}

Mer information om hur du använder .NET Management SDK finns i Azure Communication Management SDK för .NET.

Mer information om hur du hanterar resursinstansen finns i Hantera din kommunikationstjänstresursinstans

Kommentar

En resurs kan ha både systemtilldelade och användartilldelade identiteter samtidigt. I det här fallet skulle egenskapen type vara SystemAssigned,UserAssigned.

Du kan också ta bort alla hanterade identitetstilldelningar från en resurs genom att type ange egenskapen som None.

Nästa steg

Nu när du har lärt dig hur du aktiverar hanterad identitet med Azure Communication Services. Överväg att implementera den här funktionen i dina egna program för att förenkla autentiseringsprocessen och förbättra säkerheten.