Использование управляемого удостоверения с Службы коммуникации Azure

Службы коммуникации Azure — это полностью управляемая платформа коммуникации, которая позволяет разработчикам создавать функции связи в реальном времени в своих приложениях. Используя управляемое удостоверение с Службы коммуникации Azure, можно упростить процесс проверки подлинности для приложения, а также повысить безопасность. В этом документе описывается использование управляемого удостоверения с Службы коммуникации Azure.

Использование управляемого удостоверения с Службы коммуникации Azure

Службы коммуникации Azure поддерживает использование управляемого удостоверения для проверки подлинности в службе. С помощью управляемого удостоверения можно устранить необходимость управления собственными маркерами доступа и учетными данными.

Ресурс Службы коммуникации Azure можно назначить двумя типами удостоверений:

  1. Назначенное системой удостоверение , которое привязано к ресурсу и удаляется при удалении ресурса. Ресурс может иметь только одно назначаемое системой удостоверение.
  2. Назначенное пользователем удостоверение, которое является ресурсом Azure, который можно назначить вашему Службы коммуникации Azure ресурсу. Это удостоверение не удаляется при удалении ресурса. Ресурс может иметь несколько удостоверений, назначенных пользователем.

Чтобы использовать управляемое удостоверение с Службы коммуникации Azure, выполните следующие действия.

  1. Предоставьте управляемому удостоверению доступ к ресурсу Служб коммуникации. Это назначение можно использовать с помощью портал Azure, Azure CLI и пакетов SDK для управления коммуникациями Azure.
  2. Используйте управляемое удостоверение для проверки подлинности с помощью Службы коммуникации Azure. Аутентификацию можно выполнить с помощью пакетов SDK Azure или REST API, поддерживающих управляемое удостоверение.

Добавление назначаемого системой удостоверения

  1. В левой области навигации на странице вашего приложения прокрутите вниз до группы Параметры.

  2. Выберите Удостоверение.

  3. На вкладке Назначено системой для параметра Состояние установите значение Вкл. Выберите Сохранить. Снимок экрана: включение управляемого удостоверения, назначаемого системой.

Добавление назначаемого пользователем удостоверения

Назначение удостоверения, назначаемого пользователем, ресурсу Службы коммуникации Azure требуется сначала создать удостоверение, а затем добавить его идентификатор ресурса в ресурс службы коммуникации.

Сначала необходимо создать ресурс управляемого удостоверения, назначаемого пользователем.

  1. Создайте ресурс назначаемого пользователем управляемого удостоверения в соответствии с этими инструкциями.

  2. В левой области навигации на странице вашего приложения прокрутите вниз до группы Параметры.

  3. Выберите Удостоверение.

  4. Выберите "Назначаемое пользователем>" добавление.

  5. Найдите созданное ранее удостоверение, выберите его и нажмите кнопку "Добавить". Снимок экрана: включение управляемого удостоверения, назначаемого пользователем.

Управляемое удостоверение с помощью пакетов SDK для управления Службы коммуникации Azure

Управляемое удостоверение также можно назначить ресурсу Службы коммуникации Azure с помощью пакетов SDK для управления коммуникациями Azure. Это назначение можно добиться, введя свойство удостоверения в определение ресурса либо при создании, либо при обновлении ресурса.

Управляемое удостоверение можно назначить ресурсу Службы коммуникации Azure с помощью пакета SDK для управления коммуникацией Azure для .NET, задав Identity свойство в CommunicationServiceResourceData поле .

Например:

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

Дополнительные сведения об использовании пакета SDK для управления .NET см . в пакете SDK для управления коммуникацией Azure для .NET.

Дополнительные сведения об управлении экземпляром ресурса см. в статье "Управление экземпляром ресурса службы коммуникации"

Примечание.

Ресурс может одновременно иметь удостоверения, назначенные системой и назначаемые пользователем. В этом случае свойство type будет иметь значение SystemAssigned,UserAssigned.

Удаление всех назначений управляемых удостоверений из ресурса также может быть достигнуто путем указания type свойства как None.

Следующие шаги

Теперь, когда вы узнали, как включить управляемое удостоверение с помощью Службы коммуникации Azure. Рассмотрите возможность реализации этой функции в собственных приложениях, чтобы упростить процесс проверки подлинности и повысить безопасность.