Поделиться через


Управляемая идентичность

Службы коммуникации 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 .NET для управления коммуникациями Azure, установив свойство 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. Рассмотрите возможность реализации этой функции в собственных приложениях, чтобы упростить процесс проверки подлинности и повысить безопасность.