Home » Простая интеграция: использование управляемых удостоверений для вызова управления API из приложения Azure Logic

Простая интеграция: использование управляемых удостоверений для вызова управления API из приложения Azure Logic

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

В этом блоге мы рассмотрим, как организации могут использовать приложение Azure Logic и управляемые удостоверения для обеспечения плавной интеграции с управлением API Azure, упрощения аутентификации и повышения безопасности.

Управляемые удостоверения предоставляют службам и ресурсам Azure безопасный способ аутентификации в других службах Azure, устраняя необходимость в явных учетных данных или секретах. Они позволяют таким службам, как «Функции Azure» и «Приложения логики Azure», получать безопасный доступ к другим ресурсам без сложностей с управлением учетными данными.

Шаги высокого уровня:

Шаг 1. Зарегистрируйте приложение в Azure AD, которое будет представлять приложение логики (клиентское приложение).

Шаг 2. Создайте управляемое удостоверение для Logic App.

Шаг 3. Свяжите управляемое удостоверение с ролью приложения.

Шаг 4. Настройте приложение логики для запуска действия HTTP для вызова API.

Шаг 5. Настройте политику проверки JWT в APIM для предварительной авторизации запросов.

Шаг 6. Тестирование. Запуск приложения логики для запуска

Шаг 1. Зарегистрируйте приложение в Azure AD, которое будет представлять приложение логики (клиентское приложение).

  1. В вашей Лазурный порталперейдите в Azure Active Directory, выберите «Регистрация приложений».
  2. Выберите Новая регистрация.
  3. Когда появится страница «Зарегистрировать приложение», введите регистрационную информацию вашего приложения:
    • В разделе «Имя» введите значимое имя приложения, которое будет отображаться пользователям приложения, например client-app.
    • В разделе «Поддерживаемые типы учетных записей» выберите вариант, соответствующий вашему сценарию.
  4. Оставьте раздел URI перенаправления пустым.
  5. Выберите «Зарегистрироваться», чтобы создать приложение.
  6. На странице «Обзор приложения» найдите значение идентификатора приложения (клиента) и запишите его для дальнейшего использования.
  7. В разделе «Управление» бокового меню выберите «Открыть API» и установите для URI идентификатора приложения значение по умолчанию. Запишите это значение на будущее.
  8. В разделе «Управление» бокового меню выберите «Роли приложения», затем нажмите «Создать роль приложения»:
    1. В поле «Отображаемое имя» введите значимое имя роли, например: AddRole.
    2. Разрешенные типы участников: выберите Приложения.
    3. Значение: пример: АддРоле
    4. Описание:
    5. Вы хотите включить эту роль приложения? проверено
    6. Нажмите Применять
    7. Запишите идентификатор роли на будущее.
  9. Повторите шаг 8, чтобы добавить дополнительные роли приложения (если таковые имеются), поддерживаемые вашим API.

Шаг 2. Создайте управляемое удостоверение для Logic App.

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

Управляемое удостоверение, назначенное системой, напрямую связано с жизненным циклом назначенного ему ресурса Azure. При удалении ресурса управляемое удостоверение также удаляется. Каждый ресурс может иметь только одно управляемое удостоверение, назначенное системой, и его нельзя использовать совместно с другими ресурсами.

Назначаемые пользователем управляемые удостоверения, как следует из названия, создаются непосредственно пользователями в Azure AD. Вы можете создавать их независимо от ресурсов Azure. В отличие от управляемых удостоверений, назначаемых системой, управляемые удостоверения, назначаемые пользователем, не привязаны к жизненному циклу конкретного ресурса Azure. Они создаются и удаляются независимо от какого-либо ресурса. Его можно связать с одним или несколькими ресурсами Azure, что позволит вам использовать удостоверение совместно с разными ресурсами.

Чтобы узнать больше об этом, обратитесь к этому связь.

Я использовал назначенное системой управляемое удостоверение для Logic App.

  1. Перейдите на портал Azure (https://portal.azure.com/).
  2. Перейдите к приложению логики, которое вы хотите настроить с помощью управляемого удостоверения.
  3. В разделе «Настройки» приложения Logic App нажмите «Идентификация».
  4. В колонке «Идентификация» включите управляемое удостоверение, назначаемое системой, для вашего приложения логики. Нажмите «Сохранить».

Шаг 3. Назначьте доступ к управляемому удостоверению роли приложения с помощью powershell.

Используйте приведенный ниже сценарий в azcli PowerShell, чтобы назначить доступ к управляемым удостоверениям роли приложения.

# Install the Azure AD module if you don't have it yet. 
# Install-Module AzureAD

$tenantID = ''
$serverApplicationName=""
$managedIdentityName=""
$appRoleName=""

Connect-AzureAD -TenantId $tenantID
# Look up the Logic app's managed identity's object ID.

$managedIdentity = (Get-AzureADServicePrincipal -Filter "DisplayName eq '$managedIdentityName'")
$managedIdentityObjectId = $managedIdentity.ObjectId
 
# Look up the details about the server app's service principal and app role.

$serverServicePrincipal = (Get-AzureADServicePrincipal -Filter "DisplayName eq '$serverApplicationName'")
$serverServicePrincipalObjectId = $serverServicePrincipal.ObjectId
$appRoleId = ($serverServicePrincipal.AppRoles | Where-Object {$_.Value -eq $appRoleName }).Id

 # Assign the managed identity access to the app role.

New-AzureADServiceAppRoleAssignment -ObjectId $managedIdentityObjectId  -Id $appRoleId -PrincipalId $managedIdentityObjectId -ResourceId $serverServicePrincipalObjectId

Я использовал сценарий из документации Microsoft. связь

Шаг 4. Настройте приложение логики для запуска действия HTTP для вызова API.

В рабочем процессе приложения логики:

  1. Добавьте действие HTTP для отправки запросов к конечной точке APIM API.
  2. Укажите конечную точку API в URI и выберите метод.
  3. Добавить Ocp-Apim-ключ подписки HTTP-заголовок запроса, передающий значение действительного ключа подписки. (вы можете получить его из APIM)

  4. Добавьте заголовок аутентификации и выберите тип аутентификации как Управляемое удостоверение, выберите назначенное системой управляемое удостоверение и аудиторию в качестве URI идентификатора приложения, записанного на шаге 1.

anammalu_1-1695405369720.png

Шаг 5. Настройте политику проверки JWT в APIM для предварительной авторизации запросов.

Добавьте следующую политику проверки JWT в раздел политики вашего API, который проверяет значение утверждения аудитории в маркере доступа, полученном из Azure AD, а также проверяет дополнительные утверждения для роли приложения и возвращает сообщение об ошибке, если токен недействителен. Обратитесь к этому связь Чтобы получить больше информации.


        
       
        
            
                {{clientID}}
            
            
                https://sts.windows.net/{{tenantID}}/
            
            
                
                    {{roleId}}
                
            
        

Шаг 6. Тестирование. Запуск приложения логики для запуска

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

anammalu_2-1695405369723.png

Вот и все! Теперь ваше приложение логики настроено для доступа к ресурсу управления API с помощью управляемого удостоверения.

Заключение:

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

Благодаря такому подходу вы эффективно создали решение без пароля для внутреннего взаимодействия с API. Это особенно ценно для проектов, включающих обширную системную интеграцию, где простота, безопасность и оптимизация рабочих процессов имеют первостепенное значение. Использование управляемых удостоверений прокладывает путь в будущее, в котором безопасная и беспроблемная связь через API станет нормой.

2023-09-22 20:03:42


1695512384
#Простая #интеграция #использование #управляемых #удостоверений #для #вызова #управления #API #из #приложения #Azure #Logic

Read more:  Ссора вспыхнула из-за солнечной электростанции в городе Фри-Стейт

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.