Jak używać tożsamości zarządzanej z usługami Azure Communication Services
Azure Communication Services to w pełni zarządzana platforma komunikacji, która umożliwia deweloperom tworzenie funkcji komunikacji w czasie rzeczywistym w swoich aplikacjach. Korzystając z tożsamości zarządzanej z usługami Azure Communication Services, można uprościć proces uwierzytelniania aplikacji, a jednocześnie zwiększyć jej bezpieczeństwo. W tym dokumencie opisano sposób używania tożsamości zarządzanej z usługami Azure Communication Services.
Używanie tożsamości zarządzanej z usługami Azure Communication Services
Usługi Azure Communication Services obsługują uwierzytelnianie za pomocą tożsamości zarządzanej w usłudze. Za pomocą tożsamości zarządzanej można wyeliminować konieczność zarządzania własnymi tokenami dostępu i poświadczeniami.
Zasób usług Azure Communication Services można przypisać dwa typy tożsamości:
- Tożsamość przypisana przez system, która jest powiązana z zasobem i jest usuwana po usunięciu zasobu. Zasób może mieć tylko jedną tożsamość przypisaną przez system.
- Tożsamość przypisana przez użytkownika, która jest zasobem platformy Azure, który można przypisać do zasobu usług Azure Communication Services. Ta tożsamość nie jest usuwana po usunięciu zasobu. Zasób może mieć wiele tożsamości przypisanych przez użytkownika.
Aby użyć tożsamości zarządzanej z usługami Azure Communication Services, wykonaj następujące kroki:
- Udziel tożsamości zarządzanej dostępu do zasobu usług komunikacyjnych. To przypisanie może dotyczyć witryny Azure Portal, interfejsu wiersza polecenia platformy Azure i zestawów SDK zarządzania komunikacją platformy Azure.
- Użyj tożsamości zarządzanej do uwierzytelniania za pomocą usług Azure Communication Services. Uwierzytelnianie można wykonać za pomocą zestawów AZURE SDK lub interfejsów API REST obsługujących tożsamość zarządzaną.
Dodawanie tożsamości przypisanej przez system
Dodawanie tożsamości przypisanej przez użytkownika
Przypisanie tożsamości przypisanej przez użytkownika do zasobu usług Azure Communication Services wymaga, aby najpierw utworzyć tożsamość, a następnie dodać jej identyfikator zasobu do zasobu usługi komunikacji.
Najpierw należy utworzyć zasób tożsamości zarządzanej przypisanej przez użytkownika.
Utwórz zasób tożsamości zarządzanej przypisanej przez użytkownika zgodnie z tymi instrukcjami.
Na lewej stronie nawigacji aplikacji przewiń w dół do grupy Ustawienia.
Wybierz pozycję Tożsamość.
Wybierz pozycję Dodaj przypisane przez> użytkownika.
Wyszukaj utworzoną wcześniej tożsamość, wybierz ją i wybierz pozycję Dodaj.
Tożsamość zarządzana przy użyciu zestawów SDK zarządzania usługami Azure Communication Services
Tożsamość zarządzana można również przypisać do zasobu usług Azure Communication Services przy użyciu zestawów SDK zarządzania komunikacją platformy Azure. To przypisanie można osiągnąć, wprowadzając właściwość tożsamości w definicji zasobu podczas tworzenia lub podczas aktualizowania zasobu.
Tożsamość zarządzaną można przypisać do zasobu usług Azure Communication Services przy użyciu zestawu AZURE Communication Management SDK dla platformy .NET, ustawiając Identity
właściwość na CommunicationServiceResourceData
.
Na przykład:
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;
}
Aby uzyskać więcej informacji na temat korzystania z zestawu .NET Management SDK, zobacz Zestaw AZURE Communication Management SDK dla platformy .NET.
Aby uzyskać więcej informacji specyficznych dla zarządzania wystąpieniem zasobu, zobacz Managing your Communication Service Resource Instance (Zarządzanie wystąpieniem zasobu usługi komunikacji)
Uwaga
Zasób może mieć jednocześnie tożsamości przypisane przez system i przypisane przez użytkownika. W tym przypadku type
właściwość będzie miała wartość SystemAssigned,UserAssigned
.
Usunięcie wszystkich przypisań tożsamości zarządzanych z zasobu można również osiągnąć, określając type
właściwość jako None
.
Następne kroki
Teraz, gdy wiesz już, jak włączyć tożsamość zarządzaną za pomocą usług Azure Communication Services. Rozważ zaimplementowanie tej funkcji we własnych aplikacjach, aby uprościć proces uwierzytelniania i zwiększyć bezpieczeństwo.