Aktivieren der verwalteten Identität für ACS (Azure Communication Services)
Azure Communication Services ist eine vollständig verwaltete Kommunikationsplattform, mit der Entwickler Echtzeitkommunikationsfeatures in ihre Anwendungen integrieren können. Mithilfe von Managed Identity mit Azure Communication Services können Sie den Authentifizierungsprozess für Ihre Anwendung vereinfachen und gleichzeitig die Sicherheit erhöhen. In diesem Dokument wird beschrieben, wie Managed Identity mit Azure Communication Services verwendet wird.
Verwenden von Managed Identity mit Azure Communication Services
Azure Communication Services unterstützt die Verwendung von Managed Identity zur Authentifizierung mit dem Dienst. Durch die Verwendung von Managed Identity können Sie die Notwendigkeit vermeiden, Ihre eigenen Zugriffstoken und Anmeldeinformationen zu verwalten.
Ihre Azure Communication Services-Ressource kann zwei Identitätstypen zugewiesen werden:
- Eine System Assigned Identity, die an Ihre Ressource gebunden ist und gelöscht wird, wenn Ihre Ressource gelöscht wird. Ihre Ressource kann nur über eine systemseitig zugewiesene Identität verfügen.
- Eine User Assigned Identity, bei der es sich um eine Azure-Ressource handelt, die Ihrer Azure Communication Services-Ressource zugewiesen werden kann. Diese Identität wird nicht gelöscht, wenn Ihre Ressource gelöscht wird. Ihre Ressource kann über mehrere benutzerseitig zugewiesene Identitäten verfügen.
Führen Sie die folgenden Schritte aus, um Managed Identity mit Azure Communication Services zu verwenden:
- Gewähren Sie Ihrer Managed Identity Zugriff auf die Communication Services-Ressource. Diese Aufgabe kann über das Azure-Portal, die Azure CLI und die Azure Communication Management SDKs erfolgen.
- Verwenden Sie die Managed Identity, um sich bei Azure Communication Services zu authentifizieren. Die Authentifizierung kann über die Azure-SDKs oder REST-APIs erfolgen, die Managed Identity unterstützen.
Hinzufügen einer systemseitig zugewiesenen Identität
Hinzufügen einer benutzerseitig zugewiesenen Identität
Wenn Sie Ihrer Azure Communication Services-Ressource eine vom Benutzer zugewiesene Identität zuweisen, müssen Sie zuerst die Identität erstellen und dann der Kommunikationsdienstressource den Ressourcenbezeichner hinzufügen.
Zuerst müssen Sie eine benutzerseitig zugewiesene verwaltete Identitätsressource erstellen.
Folgen Sie zum Erstellen einer benutzerseitig verwalteten Identitätsressource diesen Anweisungen.
Scrollen Sie im linken Navigationsbereich der Seite Ihrer App nach unten zur Gruppe Einstellungen.
Wählen Sie Identität aus.
Wählen Sie Benutzerseitig zugewiesen>Hinzufügen aus.
Suchen Sie nach der zuvor erstellten Identität, und wählen Sie Hinzufügen aus.
Managed Identity mit Azure Communication Services Management SDKs
Managed Identity kann auch Ihrer Azure Communication Services-Ressource mithilfe der Azure Communication Management SDKs zugewiesen werden. Diese Zuordnung kann erreicht werden, indem die Identitätseigenschaft in der Ressourcendefinition entweder beim Erstellen oder beim Aktualisieren der Ressource eingeführt wird.
Sie können Ihre verwaltete Identität Ihrer Azure Communication Services-Ressource mithilfe des Azure Communication Management SDK für .NET zuweisen, indem Sie die Identity
-Eigenschaft für die CommunicationServiceResourceData
festlegen.
Zum Beispiel:
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;
}
Weitere Informationen zur Verwendung des .NET Management SDK finden Sie im Azure Communication Management SDK für .NET.
Weitere Informationen zum Verwalten Ihrer Ressourceninstanz finden Sie unter Verwalten Ihrer Communication Service Resource-Instanz
Hinweis
Eine Ressource kann gleichzeitig sowohl über systemseitig als auch über benutzerseitig zugewiesene Identitäten verfügen. In diesem Fall hat die type
-Eigenschaft den Wert SystemAssigned,UserAssigned
.
Das Entfernen aller verwalteten Identitätszuordnungen aus einer Ressource kann auch erreicht werden, indem die type
-Eigenschaft als None
angegeben wird.
Nächste Schritte
Nachdem Sie erfahren haben, wie Sie verwaltete Identität mit Azure Communication Services aktivieren können. Erwägen Sie die Implementierung dieses Features in Ihren eigenen Anwendungen, um Ihren Authentifizierungsprozess zu vereinfachen und die Sicherheit zu verbessern.