Создание приложения Azure Active Directory и субъекта-службы с доступом к ресурсам с помощью портала

В этой статье показано, как создать новое приложение и субъект-службу Azure Active Directory (Azure AD), которые можно использовать с управлением доступом на основе ролей. Если есть приложения, размещенные службы или автоматизированные инструменты, которым требуется доступ к ресурсам или доступ с целью изменения, можно создать идентификатор для приложения. Этот идентификатор известен как субъект-служба. Доступ к ресурсам ограничен ролями, назначенными для субъекта-службы, что дает пользователю возможность контроля уровня доступа к различным ресурсам. По соображениям безопасности мы рекомендуем всегда использовать субъекты-службы с автоматизированными средствами, чтобы не допускать их входа с помощью удостоверения пользователя.

В этой статье показано, как использовать портал для создания субъекта-службы на портале Azure. Здесь рассматривается однотенантное приложение — решение, используемое в пределах одной организации. Обычно однотенантная архитектура используется для создания бизнес-приложений в рамках организации. Также можно использовать Azure PowerShell для создания субъекта-службы.

Важно!

Вместо создания субъекта-службы вы можете применить управляемые удостоверения ресурсов Azure в качестве удостоверения приложения. Если код выполняется в службе, которая поддерживает управляемые удостоверения и обращается к ресурсам, поддерживающим проверку подлинности Azure AD, то использование управляемых удостоверений является оптимальным вариантом. Дополнительные сведения об управляемых удостоверениях для ресурсов Azure, включая службы, которые в настоящее время поддерживают их, см. в разделе Что такое управляемые удостоверения для ресурсов Azure?

Регистрация приложений, объекты приложений и субъекты-службы

Невозможно напрямую создать субъект-службу на портале Azure. Когда приложение регистрируется на портале Azure, объект приложения и субъект-служба автоматически создаются в домашнем каталоге или клиенте. Дополнительные сведения о связях между регистрацией приложений, объектами приложений и субъектами-службами см. в статье Объекты приложения и субъекта-службы в Azure Active Directory.

Разрешения, необходимые для регистрации приложения

Пользователь должен иметь соответствующие разрешения для регистрации приложения в клиенте Azure AD и назначения ему роли в подписке Azure.

Проверка разрешений Azure AD

  1. Выберите Azure Active Directory.

  2. Запишите роль. Если вам назначена роль Пользователь, необходимо убедиться, что пользователи, не являющиеся администраторами, могут регистрировать приложения.

    Найдите роль. Если вы являетесь пользователем, убедитесь, что пользователи, не являющиеся администраторами, могут регистрировать приложения.

  3. На панели слева выберите Параметры пользователя.

  4. Проверьте параметр Регистрация приложений. Это значение может быть задано только администратором. Если установлено значение Да, приложение в клиенте Azure AD может зарегистрировать любой пользователь.

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

Проверка прав доступа к подпискам Azure

В подписке Azure ваша учетная запись должна иметь доступ Microsoft.Authorization/*/Write для назначения роли приложению AD. Это разрешение предоставляется ролью владельца или администратора доступа пользователей. Если для вашей учетной записи назначена роль Участник, у вас нет соответствующего разрешения. Отобразится сообщение об ошибке при попытке назначить роль для субъекта-службы.

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

  1. Найдите и выберите Подписки или выберите Подписки на Главной странице.

    Поиск

  2. Выберите подписку, в которой требуется создать субъект-службу.

    Выбор подписки для назначения

    Если требуемая подписка не отображается, выберите фильтр глобальных подписок. Убедитесь, что для портала была выбрана необходимая подписка.

  3. Выберите Мои разрешения. Затем выберите ссылку Щелкните здесь, чтобы просмотреть полные сведения о доступе для этой подписки.

    Выберите подписку, в которой требуется создать субъект-службу.

  4. Выберите Просмотр в разделе Назначения ролей, чтобы просмотреть назначенные роли и определить, есть ли у вас соответствующие разрешения для назначения роли приложению AD. Если разрешения нет, обратитесь к администратору подписки с просьбой назначить вам роль администратора доступа пользователей. На следующем рисунке пользователю назначается роль владельца, что означает, что у пользователя есть соответствующие разрешения.

    В этом примере показано, что пользователю назначена роль владельца.

Регистрация приложения в Azure AD и создание субъекта-службы

Перейдем к созданию удостоверения. Если у вас возникли сложности, проверьте необходимые разрешения, чтобы убедиться в том, что в учетной записи можно создать удостоверение.

  1. Войдите в учетную запись Azure через портал Azure.

  2. Выберите Azure Active Directory.

  3. Щелкните Регистрация приложений.

  4. Выберите Новая регистрация.

  5. Укажите имя приложения. Выберите поддерживаемый тип учетной записи, который определяет, кто может использовать приложение. В разделе URI для перенаправления выберите Интернет для типа приложения, которое требуется создать. Введите URI, на который отправляется токен доступа. Вы не можете создать учетные данные для собственного приложения. Этот тип нельзя использовать для автоматизированного приложения. Выбрав нужные значения, нажмите кнопку Зарегистрировать.

    Введите имя приложения.

Вы создали приложение Azure AD и субъект-службу.

Примечание

Можно зарегистрировать несколько приложений с одним и тем же именем в Azure AD, но приложения должны иметь разные идентификаторы приложения (клиента).

Назначение роли для приложения

Чтобы обеспечить доступ к ресурсам в подписке, необходимо назначить роль для приложения. Укажите, какая роль предоставляет приложению необходимые разрешения. Дополнительные сведения о доступных ролях см. в статье Встроенные роли Azure.

Вы можете задать область действия на уровне подписки, группы ресурсов или ресурса. Разрешения наследуют более низкие уровни области действия. Например, добавление приложения в роль Читатель для группы ресурсов означает, что оно может использоваться для чтения группы ресурсов и любых содержащихся в ней ресурсов.

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

    Например, назначьте роль в области подписки.

  2. Выберите определенную подписку, для которой хотите назначить приложение.

    Выбор подписки для назначения

    Если требуемая подписка не отображается, выберите фильтр глобальных подписок. Убедитесь, что для портала была выбрана необходимая подписка.

  3. Выберите Управление доступом (IAM) .

  4. Выберите Добавить > Добавить назначение ролей, чтобы открыть страницу Добавление назначения ролей.

  5. Выберите роль, которая будет назначена приложению. Например, чтобы разрешить приложению выполнять такие действия, как перезагрузка, запуск и остановка экземпляров, выберите роль Участник. Ознакомьтесь с дополнительными сведениями о доступных ролях. По умолчанию приложения Azure Active Directory не отображаются среди доступных вариантов. Чтобы найти приложение, выполните поиск по его имени и выберите его.

    Назначьте приложению роль участника на уровне подписки. Подробные инструкции см. в статье Назначение ролей Azure с помощью портала Microsoft Azure.

Субъект-служба настроен. Вы можете начать использовать его, чтобы выполнять скрипты или приложения. Для управления субъектом-службой (разрешениями, утвержденными пользователем разрешениями, просмотром пользователей, которые дали согласие, просмотрели разрешения, информацию для входа и пр.) перейдите в раздел Корпоративные приложения.

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

Получение значений идентификатора клиента и приложения для входа

При выполнении программного входа в систему передайте идентификатор клиента вместе с запросом проверки подлинности и идентификатором приложения. Также потребуется сертификат или ключ проверки подлинности (описанный в следующей статье). Получить эти значения можно следующим образом.

  1. Выберите Azure Active Directory.

  2. В Azure Active Directory в разделе Регистрация приложений выберите нужное приложение.

  3. Скопируйте идентификатор каталога (клиента) и сохраните его в коде приложения.

    Скопируйте идентификатор каталога (клиента) и сохраните его в коде приложения

    Идентификатор каталога (клиента) также можно найти на странице обзора каталогов по умолчанию.

  4. Скопируйте идентификатор приложения и сохраните его в коде приложения.

    Скопируйте идентификатор приложения (клиента)

Проверка подлинности: два варианта

Для субъектов-служб доступны два варианта проверки подлинности: проверка подлинности на основе пароля (секрет приложения) и проверка подлинности на основе сертификата. Рекомендуется использовать сертификат, но также можно создать секрет приложения.

Вариант 1. Отправка сертификата

Можно использовать существующий сертификат, если он есть. Дополнительно можно создать самозаверяющий сертификат только для целей тестирования. Чтобы создать самозаверяющий сертификат, откройте PowerShell и выполните команду New-SelfSignedCertificate со следующими параметрами, чтобы создать сертификат в хранилище сертификатов пользователя на компьютере.

$cert=New-SelfSignedCertificate -Subject "CN=DaemonConsoleCert" -CertStoreLocation "Cert:\CurrentUser\My"  -KeyExportPolicy Exportable -KeySpec Signature

Экспортируйте этот сертификат в файл с помощью оснастки MMC Управление сертификатом пользователя, доступной на панели управления Windows.

  1. Выберите параметр Выполнить в меню Пуск, а затем введите certmgr.msc.

    Отобразится инструмент диспетчера сертификатов для текущего пользователя.

  2. Чтобы просмотреть свои сертификаты, в разделе Сертификаты – Текущий пользователь на панели слева разверните каталог Личный уровень.

  3. Щелкните правой кнопкой мыши созданный сертификат, выберите Все задачи->Экспорт.

  4. Следуйте инструкциям мастера экспорта сертификатов. Не экспортируйте закрытый ключ, выполните экспорт в файл .CER.

Для отправки сертификата выполните следующее.

  1. Выберите Azure Active Directory.

  2. В Azure Active Directory в разделе Регистрация приложений выберите нужное приложение.

  3. Выберите Сертификаты и секреты.

  4. Выберите Отправить сертификат и выберите сертификат (существующий сертификат или экспортированный самозаверяющий сертификат).

    Выберите "Отправить сертификат» и выберите тот, который требуется добавить.

  5. Нажмите Добавить.

После регистрации сертификата с приложением на портале регистрации приложений включите код клиентского приложения для использования сертификата.

Вариант 2. Создание нового секрета приложения

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

  1. Выберите Azure Active Directory.

  2. В Azure Active Directory в разделе Регистрация приложений выберите нужное приложение.

  3. Выберите Сертификаты и секреты.

  4. Выберите Секреты клиента -> Новый секрет клиента.

  5. Введите описание и срок действия секрета. Когда все будет готово, нажмите Добавить.

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

    Скопируйте значение секрета, так как вы не сможете получить его позже

Конфигурация политик доступа к ресурсам

Помните, что может потребоваться настроить дополнительные разрешения для ресурсов, к которым приложение должно получить доступ. Например, также следует обновить политики доступа к хранилищу ключей, чтобы предоставить приложению доступ к ключам, секретам или сертификатам.

  1. На портале Azure перейдите в свое хранилище ключей и выберите Политики доступа.
  2. Выберите Добавить политику доступа, затем выберите ключ, секрет и разрешения сертификата, которые требуется предоставить своему приложению. Выберите созданную ранее субъект-службу.
  3. Выберите Добавить, чтобы добавить политику доступа, затем нажмите кнопку Сохранить, чтобы зафиксировать изменения. Добавление политики доступа

Дальнейшие действия