Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье рассматривается настройка управления из Microsoft Entra ID в SAP Cloud Identity Services. Цель — настроить Microsoft Entra ID для автоматического предоставления и удаления пользователей в SAP Cloud Identity Services, чтобы эти пользователи могли аутентифицироваться в облачных службах SAP и иметь доступ к другим сервисам SAP. Облачные службы удостоверений SAP поддерживают предоставление учетных данных из локального каталога удостоверений в другие приложения SAP, выступающие в качестве целевых систем.
Примечание.
В этой статье описывается соединитель, встроенный в службу подготовки пользователей Microsoft Entra. Важные сведения о функциях этой службы, принципах её работы и часто задаваемые вопросы см. в статье Автоматизация предоставления и отмены предоставления пользователей в приложениях SaaS с помощью Microsoft Entra ID. Службы аутентификации в облаке SAP также имеют собственный отдельный соединитель для чтения пользователей и групп из Microsoft Entra ID. Дополнительные сведения см. в разделе SAP Cloud Identity Services — подготовка удостоверений — идентификатор Microsoft Entra в качестве исходной системы.
Предварительные условия
В сценарии, описанном в этой статье, предполагается, что у вас уже есть следующие условия:
- Учетная запись пользователя Microsoft Entra с активной подпиской. Если ее нет, можно создать учетную запись бесплатно.
- Одна из следующих ролей:
- Клиент служб облачных удостоверений SAP
- Учетная запись пользователя в sap Cloud Identity Services с разрешениями администратора.
Примечание.
Эта интеграция также доступна для использования из облачной среды Microsoft Entra для государственных организаций США. Это приложение можно найти в коллекции облачных приложений Microsoft Entra для государственных организаций США и настроить его так же, как и в общедоступной облачной среде.
Если у вас еще нет пользователей в Microsoft Entra ID, сначала ознакомьтесь со статьей план развертывания Microsoft Entra для подготовки пользователей с помощью исходных и целевых приложений SAP. В этой статье показано, как подключить Microsoft Entra к авторитетным источникам для списка работников в организации, таких как SAP SuccessFactors. В нем также показано, как использовать Microsoft Entra для настройки удостоверений для этих работников, чтобы они могли войти в одно или несколько приложений SAP, таких как SAP ECC или SAP S/4HANA.
Если вы настраиваете подготовку в облачных службах удостоверений SAP в рабочей среде, где вы управляете доступом к рабочим нагрузкам SAP с помощью управления идентификаторами Microsoft Entra ID, перед настройкой идентификатора Microsoft Entra id для управления удостоверениями перед продолжением работы.
Настройка облачных сервисов управления идентификацией SAP для провиженинга
В этой статье вы добавите систему администрирования в sap Cloud Identity Services и настройте Microsoft Entra.
Войдите в административную консоль SAP Cloud Identity Services
https://<tenantID>.accounts.ondemand.com/admin
, илиhttps://<tenantID>.trial-accounts.ondemand.com/admin
если это пробная версия. Перейдите к Пользователи и авторизации > Администраторы.Нажмите кнопку +Add (+Добавить) на панели слева, чтобы добавить в список нового администратора. Выберите команду Add System (Добавить систему) и введите имя системы.
Примечание.
Удостоверение администратора в службах SAP Cloud Identity Services должно иметь тип System. Пользователь администратора не может пройти проверку подлинности в API SAP SCIM при подготовке. Облачные службы удостоверений SAP не позволяют изменять имя системы после его создания.
В разделе "Настройка авторизаций" включите переключатель напротив Управление пользователями. Затем нажмите кнопку "Сохранить", чтобы создать систему.
После создания системы администратора добавьте в нее новый секрет.
Скопируйте идентификатор клиента и секрет клиента , созданные SAP. Эти значения вводятся в поля "Имя пользователя администратора" и "Пароль администратора" соответственно. Это делается на вкладке "Подготовка" приложения SAP Cloud Identity Services, которое вы настроили в следующем разделе.
Облачные службы удостоверений SAP могут иметь сопоставления с одним или несколькими приложениями SAP в качестве целевых систем. Проверьте, есть ли какие-либо атрибуты у пользователей, которые эти приложения SAP требуют для предоставления через службы облачной идентификации SAP. В этой статье предполагается, что облачные службы идентификации SAP и целевые системы, в которые отправляются данные, требуют двух атрибутов:
userName
иemails[type eq "work"].value
. Если целевые системы SAP требуют других атрибутов, и они не являются частью пользовательской схемы идентификатора Microsoft Entra, может потребоваться настроить атрибуты расширения синхронизации.
Добавьте облачные сервисы удостоверений SAP из галереи
Перед настройкой Microsoft Entra ID для автоматической подготовки пользователей в SAP Cloud Identity Services необходимо добавить SAP Cloud Identity Services из галереи приложений Microsoft Entra в список корпоративных приложений арендатора. Этот шаг можно выполнить в Центре администрирования Microsoft Entra или через API Graph.
Если облачные службы удостоверений SAP уже настроены для единого входа из Microsoft Entra, а приложение уже присутствует в списке корпоративных приложений Microsoft Entra, перейдите к следующему разделу.
Чтобы добавить sap Cloud Identity Services из коллекции приложений Microsoft Entra с помощью Центра администрирования Microsoft Entra, выполните следующие действия.
- Войдите в Центр администрирования Microsoft Entra как минимум в роли Администратора облачных приложений.
- Перейдите к Идентификация>Приложения>Корпоративные приложения>Новое приложение.
- Чтобы добавить приложение из коллекции, введите sap Cloud Identity Services в поле поиска.
- Выберите SAP Cloud Identity Services на панели результатов и добавьте это приложение. Подождите несколько секунд, пока приложение не будет добавлено в ваш клиент.
Настройка автоматического предоставления пользователей в SAP Cloud Identity Services
В этом разделе представлены шаги по настройке службы предоставления Microsoft Entra для создания, обновления и отключения пользователей в SAP Cloud Identity Services на основе назначений пользователей приложениям в Microsoft Entra ID.
Чтобы настроить автоматическую подготовку пользователей для служб SAP Cloud Identity в Microsoft Entra ID:
Войдите в административный центр Microsoft Entra как минимум как Администратор облачных приложений.
Просмотреть Identity>Приложения>Корпоративные приложения
В списке приложений выберите приложение, sap Cloud Identity Services.
Выберите вкладку Свойства.
Убедитесь, что для параметра "Назначение требуется?" установлено значение "Да". При выборе значения Нет все пользователи в каталоге, включая пользователей с внешними удостоверениями, смогут получать доступ к приложению, и выполнить проверку доступа для приложения будет невозможно.
Выберите вкладку Подготовка.
Для параметра Режим подготовки к работе выберите значение Automatic (Автоматически).
В разделе Учетные данные администратора введите
https://<tenantID>.accounts.ondemand.com/service/scim
, илиhttps://<tenantid>.trial-accounts.ondemand.com/service/scim
, если это пробная версия, с идентификатором клиента вашей SAP Cloud Identity Services в URL-адрес клиента. Введите значения идентификатора клиента и секрета клиента, полученные ранее в имени пользователя администратора и пароля администратора соответственно. Выберите "Проверить подключение", чтобы убедиться, что идентификатор Microsoft Entra может подключаться к облачным службам удостоверений SAP. Если подключение завершается ошибкой, убедитесь, что у учетной записи системы SAP Cloud Identity Services есть разрешения администратора, секрет по-прежнему действителен и повторите попытку.В поле Почтовое уведомление введите адрес электронной почты пользователя или группы, которые должны получать уведомления об ошибках подготовки, а также установите флажок Отправить уведомление по электронной почте при сбое.
Выберите Сохранить.
В разделе Сопоставления выберите Предоставление пользователей Microsoft Entra ID.
Просмотрите атрибуты пользователя, синхронизированные с идентификатором Microsoft Entra и SAP Cloud Identity Services, в разделе "Сопоставление атрибутов". Если атрибуты в облачных службах удостоверений SAP не отображаются в качестве целевого объекта для сопоставления, выберите " Показать дополнительные параметры " и выберите "Изменить список атрибутов" для службы проверки подлинности удостоверений SAP Cloud Platform, чтобы изменить список поддерживаемых атрибутов. Добавьте атрибуты клиента SAP Cloud Identity Services.
Просмотрите и запишите исходные и целевые атрибуты, выбранные в качестве свойств сопоставления, сопоставления с соответствующим приоритетом, так как эти атрибуты используются для сопоставления учетных записей пользователей в службах SAP Cloud Identity Services для службы предоставления доступа Microsoft Entra, чтобы определить, следует ли создать нового пользователя или обновить существующего пользователя. Дополнительные сведения о сопоставлении см. в статье о сопоставлении пользователей в исходных и целевых системах. На следующем шаге убедитесь, что атрибуты пользователей, уже имеющихся в облачных службах SAP Cloud Identity Services, заполнены как сопоставляющие свойства, чтобы предотвратить создание дублирующих пользователей.
"Убедитесь, что существует сопоставление атрибутов для
IsSoftDeleted
или функция, содержащаяIsSoftDeleted
, сопоставленные с атрибутом приложения." Если пользователь удален из приложения, восстановимо удален в Microsoft Entra ID или заблокирован для входа, служба подготовки Microsoft Entra обновит атрибут, сопоставленный сisSoftDeleted
. Если сопоставленный атрибут отсутствует, то пользователи, которые впоследствии будут отозваны из роли приложения, продолжат существовать в базе данных приложения.Добавьте любые дополнительные сопоставления, которые требуются вашим службам SAP Cloud Identity Services и целевым подчиненным системам SAP.
Нажмите кнопку Сохранить, чтобы зафиксировать все изменения.
Атрибут Тип Поддерживается для фильтрации Требуется для облачных сервисов идентификации SAP userName
Строка ✓ ✓ emails[type eq "work"].value
Строка ✓ active
Логический displayName
Строка urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:manager
Справочные материалы addresses[type eq "work"].country
Строка addresses[type eq "work"].locality
Строка addresses[type eq "work"].postalCode
Строка addresses[type eq "work"].region
Строка addresses[type eq "work"].streetAddress
Строка name.givenName
Строка name.familyName
Строка name.honorificPrefix
Строка phoneNumbers[type eq "fax"].value
Строка phoneNumbers[type eq "mobile"].value
Строка phoneNumbers[type eq "work"].value
Строка urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:costCenter
Строка urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department
Строка urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:division
Строка urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber
Строка urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:organization
Строка locale
Строка timezone
Строка userType
Строка company
Строка urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute1
Строка urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute2
Строка urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute3
Строка urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute4
Строка urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute5
Строка urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute6
Строка urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute7
Строка urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute8
Строка urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute9
Строка urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute10
Строка sendMail
Строка mailVerified
Строка Чтобы настроить фильтры области, ознакомьтесь со следующими инструкциями, приведенными в статье о фильтрации области.
Чтобы включить службу подготовки Microsoft Entra для SAP Cloud Identity Services, измените Состояние подготовки на Включено в разделе Параметры.
Для значения области в разделе "Параметры" выберите "Синхронизация только назначенных пользователей и групп".
Когда будете готовы настроить, нажмите Сохранить.
После этого начнется начальная синхронизация пользователей, определенных в поле Область раздела Параметры. Если область охвата установлена на Синхронизация только назначенных пользователей и групп, и ни один пользователь или группа не назначены приложению, синхронизация не произойдет, пока пользователи не будут назначены этому приложению.
Подготовка нового тестового пользователя из идентификатора Microsoft Entra в sap Cloud Identity Services
Рекомендуется, чтобы один новый тестовый пользователь Microsoft Entra был назначен службам SAP Cloud Identity Services для проверки конфигурации автоматической подготовки пользователей.
- Войдите в Центр администрирования Microsoft Entra как минимум администратор облачных приложений и администратор пользователей.
- Перейдите в раздел Идентификация>Пользователи>Все пользователи.
- Выберите «Новый пользователь»>Создать нового пользователя.
- Введите основное имя пользователя и отображаемое имя нового тестового пользователя. Имя субъекта-пользователя должно быть уникальным и не должно совпадать ни с каким текущим или предыдущим пользователем Microsoft Entra или пользователем SAP Cloud Identity Services. Нажмите кнопку Проверить и создать, а затем Создать.
- После создания тестового пользователя перейдите к Identity>Applications>Корпоративные приложения.
- Выберите приложение sap Cloud Identity Services.
- Выберите "Пользователи" и "Группы ", а затем выберите "Добавить пользователя или группу".
- В разделе "Пользователи и группы" выберите "Нет выбрано" и в текстовом поле введите имя участника-пользователя тестового пользователя.
- Нажмите Выбрать, а затем Назначить.
- Выберите "Подготовка" и выберите "Подготовка по запросу".
- В текстовом поле "Выбор пользователя или группы" введите имя основного пользователя тестового пользователя.
- Выберите настройку.
- Дождитесь завершения подготовки. При успешном выполнении отображается сообщение
Modified attributes (successful)
.
Кроме того, вы можете опционально проверить, какие элементы будет настраивать служба подготовки Microsoft Entra, когда пользователь выходит за пределы области действия приложения.
- Выберите Пользователи и группы
- Выберите тестового пользователя, а затем нажмите кнопку "Удалить".
- После удаления тестового пользователя выберите "Подготовка " и выберите " Подготовка по запросу".
- В текстовом поле "Выбор пользователя или группы" введите основное имя test-пользователя, которому недавно было отменено назначение.
- Выберите настройку.
- Дождитесь завершения подготовки.
Наконец, можно удалить тестового пользователя из идентификатора Microsoft Entra.
- Перейдите в раздел Идентификация>Пользователи>Все пользователи.
- Выберите тестового пользователя, нажмите кнопку "Удалить" и нажмите кнопку "ОК". Это действие временно удаляет тестового пользователя из Microsoft Entra ID.
Затем можно удалить тестового пользователя из облачных служб удостоверений SAP.
Убедитесь, что у существующих пользователей облачных удостоверений SAP есть необходимые атрибуты сопоставления
Перед назначением нетестовых пользователей приложению SAP Cloud Identity Services в Microsoft Entra ID следует убедиться, что все пользователи, уже имеющиеся в облачных службах удостоверений SAP и представляющие тех же людей, что и пользователи в Microsoft Entra ID, имеют заполненные атрибуты сопоставления в службах SAP Cloud Identity.
В сопоставлении подготовки атрибуты, выбранные в качестве свойств сопоставления, используются для сопоставления учетных записей пользователей в Microsoft Entra ID с учетными записями пользователей в службах облачной идентификации SAP. Если в Microsoft Entra ID имеется пользователь, для которого нет соответствия в SAP Cloud Identity Services, то служба предоставления Microsoft Entra попытается создать нового пользователя. Если пользователь есть в Microsoft Entra ID и совпадение в SAP Cloud Identity Services, то служба автоматизации Microsoft Entra обновит этого пользователя SAP Cloud Identity Services. По этой причине следует убедиться, что у всех пользователей, уже существующих в облачных службах удостоверений SAP, атрибуты отмечены как сопоставляемые, иначе могут быть созданы дублирующиеся пользователи. Если необходимо изменить соответствующий атрибут в сопоставлении атрибутов приложения Microsoft Entra, ознакомьтесь с соответствующими пользователями в исходных и целевых системах.
Войдите в свою консоль администрирования SAP Cloud Identity Services,
https://<tenantID>.accounts.ondemand.com/admin
, или в пробную версию, если это пробный доступ,https://<tenantID>.trial-accounts.ondemand.com/admin
.Перейдите к разделу "Пользователи и авторизации", затем выберите "Экспорт пользователей".
Выберите все атрибуты, необходимые для сопоставления пользователей Microsoft Entra с пользователями в SAP. К этим атрибутам относятся
SCIM ID
,userName
,emails
, а также другие атрибуты, которые вы можете использовать в системах SAP в качестве идентификаторов.Выберите "Экспорт " и дождитесь скачивания CSV-файла в браузере.
Откройте окно PowerShell.
Введите следующий скрипт в редактор. В строке один, если вы выбрали другой соответствующий атрибут, отличный от
userName
, измените значение переменнойsapScimUserNameField
на имя атрибута SAP Cloud Identity Services. В строке два измените аргумент на имя экспортированного CSV-файла сUsers-exported-from-sap.csv
на имя скачанного файла.$sapScimUserNameField = "userName" $existingSapUsers = import-csv -Path ".\Users-exported-from-sap.csv" -Encoding UTF8 $count = 0 $warn = 0 foreach ($u in $existingSapUsers) { $id = $u.id if (($null -eq $id) -or ($id.length -eq 0)) { write-error "Exported CSV file doesn't contain the id attribute of SAP Cloud Identity Services users." throw "id attribute not available, re-export" return } $count++ $userName = $u.$sapScimUserNameField if (($null -eq $userName) -or ($userName.length -eq 0)) { write-warning "SAP Cloud Identity Services user $id doesn't have a $sapScimUserNameField attribute populated" $warn++ } } write-output "$warn of $count users in SAP Cloud Identity Services did not have the $sapScimUserNameFIeld attribute populated."
Выполните скрипт. По завершении скрипта, если у одного или нескольких пользователей не было необходимого соответствующего атрибута, просмотрите этих пользователей в экспортируемом CSV-файле или в консоли администрирования облачных служб удостоверений SAP. Если эти пользователи также присутствуют в Microsoft Entra, вам сначала нужно обновить их представление в SAP Cloud Identity Services, чтобы у них был заполнен соответствующий атрибут.
После обновления атрибутов этих пользователей в службах SAP Cloud Identity Services, повторно экспортируйте пользователей из этих служб, как описано в шагах 2–5 и шагах для PowerShell в этом разделе, чтобы подтвердить, что в облачных службах идентификации SAP нет пользователей, у которых отсутствуют соответствующие атрибуты, препятствующие их созданию.
Теперь, когда у вас есть список всех пользователей, полученных из облачных служб удостоверений SAP, вы сопоставляете этих пользователей из хранилища данных приложения с пользователями, уже имеющимися в Microsoft Entra ID, чтобы определить, какие пользователи должны быть включены в сферу доставки.
Получение идентификаторов пользователей в идентификаторе Microsoft Entra
В этом разделе показано, как взаимодействовать с Microsoft Entra ID с помощью командлетов Microsoft Graph PowerShell.
Когда ваша организация впервые использует эти командлеты для данного сценария, вам потребуется находиться в роли глобального администратора, чтобы разрешить использование Microsoft Graph PowerShell в вашем арендаторе. Последующие взаимодействия могут использовать роль с более низким уровнем привилегий, например, такую как:
- администратор пользователей, если вы планируете создавать новых пользователей;
- администратор приложений или администратор управления удостоверениями, если вы просто управляете назначениями ролей приложения.
Откройте средство PowerShell.
Если у вас еще нет установленных модулей Microsoft Graph PowerShell, установите модуль
Microsoft.Graph.Users
и другие модули с помощью следующей команды:Install-Module Microsoft.Graph
Если у вас уже установлены модули, убедитесь, что используете последнюю версию:
Update-Module microsoft.graph.users,microsoft.graph.identity.governance,microsoft.graph.applications
Подключитесь к идентификатору Microsoft Entra:
$msg = Connect-MgGraph -ContextScope Process -Scopes "User.ReadWrite.All,Application.ReadWrite.All,AppRoleAssignment.ReadWrite.All,EntitlementManagement.ReadWrite.All"
Если вы впервые использовали эту команду, может потребоваться согласие на предоставление этим разрешениям инструментам командной строки Microsoft Graph.
Загрузите в сеанс PowerShell список пользователей, полученный из хранилища данных приложения. Если список пользователей ранее хранился в CSV-файле, вы можете использовать этот командлет PowerShell
Import-Csv
, предоставив в качестве аргумента имя файла из предыдущего раздела.Например, если файл, полученный из облачных служб удостоверений SAP, называется Users-exported-from-sap.csv и находится в текущем каталоге, введите следующую команду.
$filename = ".\Users-exported-from-sap.csv" $dbusers = Import-Csv -Path $filename -Encoding UTF8
Для другого примера, если вы используете базу данных или каталог, если файл называется users.csv и расположен в текущем каталоге, введите следующую команду:
$filename = ".\users.csv" $dbusers = Import-Csv -Path $filename -Encoding UTF8
Выберите столбец файла users.csv , который будет соответствовать атрибуту пользователя в идентификаторе Microsoft Entra.
Если вы используете службы SAP Cloud Identity Services, то сопоставление по умолчанию — это атрибут
userName
SAP SCIM с атрибутомuserPrincipalName
идентификатора Microsoft Entra ID:$db_match_column_name = "userName" $azuread_match_attr_name = "userPrincipalName"
В другом примере, если вы используете базу данных или каталог, у вас могут быть пользователи в базе данных, где значение в столбце с именем
EMail
совпадает со значением атрибутаuserPrincipalName
Microsoft Entra:$db_match_column_name = "EMail" $azuread_match_attr_name = "userPrincipalName"
Получите идентификаторы пользователей в Microsoft Entra ID.
В следующем скрипте PowerShell используются значения
$dbusers
,$db_match_column_name
и$azuread_match_attr_name
, указанные ранее. Он запрашивает идентификатор Microsoft Entra, чтобы найти пользователя с атрибутом с соответствующим значением для каждой записи в исходном файле. Если в файле есть много пользователей, полученных из исходной облачной службы идентификации SAP, базы данных или каталога, этот сценарий может занять несколько минут. Если у вас нет атрибута в идентификаторе Microsoft Entra, который имеет значение, и вам необходимо использоватьcontains
или другое выражение фильтра, то вам потребуется настроить этот скрипт и тот, что в шаге 11, указанном ниже, чтобы использовать другое выражение фильтра.$dbu_not_queried_list = @() $dbu_not_matched_list = @() $dbu_match_ambiguous_list = @() $dbu_query_failed_list = @() $azuread_match_id_list = @() $azuread_not_enabled_list = @() $dbu_values = @() $dbu_duplicate_list = @() foreach ($dbu in $dbusers) { if ($null -ne $dbu.$db_match_column_name -and $dbu.$db_match_column_name.Length -gt 0) { $val = $dbu.$db_match_column_name $escval = $val -replace "'","''" if ($dbu_values -contains $escval) { $dbu_duplicate_list += $dbu; continue } else { $dbu_values += $escval } $filter = $azuread_match_attr_name + " eq '" + $escval + "'" try { $ul = @(Get-MgUser -Filter $filter -All -Property Id,accountEnabled -ErrorAction Stop) if ($ul.length -eq 0) { $dbu_not_matched_list += $dbu; } elseif ($ul.length -gt 1) {$dbu_match_ambiguous_list += $dbu } else { $id = $ul[0].id; $azuread_match_id_list += $id; if ($ul[0].accountEnabled -eq $false) {$azuread_not_enabled_list += $id } } } catch { $dbu_query_failed_list += $dbu } } else { $dbu_not_queried_list += $dbu } }
Просмотрите результаты предыдущих запросов. Проверьте, не удалось ли найти каких-либо пользователей из облачных служб удостоверений SAP, базы данных или каталога в Microsoft Entra ID из-за ошибок или отсутствия совпадений.
Следующий скрипт PowerShell отображает количество записей, которые не удалось найти:
$dbu_not_queried_count = $dbu_not_queried_list.Count if ($dbu_not_queried_count -ne 0) { Write-Error "Unable to query for $dbu_not_queried_count records as rows lacked values for $db_match_column_name." } $dbu_duplicate_count = $dbu_duplicate_list.Count if ($dbu_duplicate_count -ne 0) { Write-Error "Unable to locate Microsoft Entra ID users for $dbu_duplicate_count rows as multiple rows have the same value" } $dbu_not_matched_count = $dbu_not_matched_list.Count if ($dbu_not_matched_count -ne 0) { Write-Error "Unable to locate $dbu_not_matched_count records in Microsoft Entra ID by querying for $db_match_column_name values in $azuread_match_attr_name." } $dbu_match_ambiguous_count = $dbu_match_ambiguous_list.Count if ($dbu_match_ambiguous_count -ne 0) { Write-Error "Unable to locate $dbu_match_ambiguous_count records in Microsoft Entra ID as attribute match ambiguous." } $dbu_query_failed_count = $dbu_query_failed_list.Count if ($dbu_query_failed_count -ne 0) { Write-Error "Unable to locate $dbu_query_failed_count records in Microsoft Entra ID as queries returned errors." } $azuread_not_enabled_count = $azuread_not_enabled_list.Count if ($azuread_not_enabled_count -ne 0) { Write-Error "$azuread_not_enabled_count users in Microsoft Entra ID are blocked from sign-in." } if ($dbu_not_queried_count -ne 0 -or $dbu_duplicate_count -ne 0 -or $dbu_not_matched_count -ne 0 -or $dbu_match_ambiguous_count -ne 0 -or $dbu_query_failed_count -ne 0 -or $azuread_not_enabled_count) { Write-Output "You will need to resolve those issues before access of all existing users can be reviewed." } $azuread_match_count = $azuread_match_id_list.Count Write-Output "Users corresponding to $azuread_match_count records were located in Microsoft Entra ID."
По завершении скрипта будет указано сообщение об ошибке, если какие-либо записи из источника данных не были расположены в идентификаторе Microsoft Entra. Если записи пользователей из хранилища данных приложения не могут быть найдены в качестве пользователей в Microsoft Entra ID, вам потребуется исследовать, какие записи не совпадают и почему.
Например, адрес электронной почты пользователя и userPrincipalName могли быть изменены в Microsoft Entra ID, но при этом соответствующее свойство
mail
не было обновлено в источнике данных приложения. Также есть вариант, что пользователь уже покинул организацию, но сведения о нем сохранились в источнике данных приложения. Или в источнике данных приложения может существовать учетная запись поставщика или супер-администратора, которая не соответствует ни одному конкретному пользователю в системе идентификации Microsoft Entra.Если пользователи не могли находиться в идентификаторе Microsoft Entra ID или не были активными и не смогли войти, но вы хотите проверить доступ или обновить их атрибуты в SAP Cloud Identity Services, базе данных или каталоге, вам потребуется обновить приложение, соответствующее правило или обновить или создать пользователей Microsoft Entra для них. Дополнительные сведения об изменениях см. в статье об управлении сопоставлениями и учетными записями пользователей в приложениях, которые не совпадают с пользователями в идентификаторе Microsoft Entra.
Если выбрать вариант создания пользователей в идентификаторе Microsoft Entra, вы можете создать пользователей в массовом режиме с помощью одного из следующих вариантов:
- CSV-файл, как описано в массовом создании пользователей в Центре администрирования Microsoft Entra
- Командлет New-MgUser
Убедитесь, что эти новые пользователи заполняются атрибутами, необходимыми для идентификатора Microsoft Entra, чтобы позже сопоставить их с существующими пользователями в приложении, а также атрибуты, необходимые идентификатору Microsoft Entra, включая
userPrincipalName
mailNickname
иdisplayName
. ОнuserPrincipalName
должен быть уникальным среди всех пользователей в каталоге.Например, у вас могут быть пользователи в базе данных, где значение в столбце с именем
EMail
является значением, которое вы хотите использовать в качестве имени участника-пользователя Microsoft Entra, значение в столбцеAlias
содержит псевдоним электронной почты Microsoft Entra ID, а значение в столбцеFull name
содержит отображаемое имя пользователя:$db_display_name_column_name = "Full name" $db_user_principal_name_column_name = "Email" $db_mail_nickname_column_name = "Alias"
Затем этот скрипт можно использовать для создания пользователей Microsoft Entra для тех, кто находится в SAP Cloud Identity Services, в базе данных или каталоге, но не совпадает с пользователями в Microsoft Entra ID. Обратите внимание, что может потребоваться изменить этот скрипт, чтобы добавить дополнительные атрибуты Microsoft Entra, необходимые в вашей организации, или если
$azuread_match_attr_name
не является ниmailNickname
, ниuserPrincipalName
, чтобы предоставить этот атрибут Microsoft Entra.$dbu_missing_columns_list = @() $dbu_creation_failed_list = @() foreach ($dbu in $dbu_not_matched_list) { if (($null -ne $dbu.$db_display_name_column_name -and $dbu.$db_display_name_column_name.Length -gt 0) -and ($null -ne $dbu.$db_user_principal_name_column_name -and $dbu.$db_user_principal_name_column_name.Length -gt 0) -and ($null -ne $dbu.$db_mail_nickname_column_name -and $dbu.$db_mail_nickname_column_name.Length -gt 0)) { $params = @{ accountEnabled = $false displayName = $dbu.$db_display_name_column_name mailNickname = $dbu.$db_mail_nickname_column_name userPrincipalName = $dbu.$db_user_principal_name_column_name passwordProfile = @{ Password = -join (((48..90) + (96..122)) * 16 | Get-Random -Count 16 | % {[char]$_}) } } try { New-MgUser -BodyParameter $params } catch { $dbu_creation_failed_list += $dbu; throw } } else { $dbu_missing_columns_list += $dbu } }
После добавления отсутствующих пользователей в идентификатор Microsoft Entra запустите сценарий из шага 7 еще раз. Затем запустите скрипт из шага 8. Убедитесь, что сообщения об ошибках отсутствуют.
$dbu_not_queried_list = @() $dbu_not_matched_list = @() $dbu_match_ambiguous_list = @() $dbu_query_failed_list = @() $azuread_match_id_list = @() $azuread_not_enabled_list = @() $dbu_values = @() $dbu_duplicate_list = @() foreach ($dbu in $dbusers) { if ($null -ne $dbu.$db_match_column_name -and $dbu.$db_match_column_name.Length -gt 0) { $val = $dbu.$db_match_column_name $escval = $val -replace "'","''" if ($dbu_values -contains $escval) { $dbu_duplicate_list += $dbu; continue } else { $dbu_values += $escval } $filter = $azuread_match_attr_name + " eq '" + $escval + "'" try { $ul = @(Get-MgUser -Filter $filter -All -Property Id,accountEnabled -ErrorAction Stop) if ($ul.length -eq 0) { $dbu_not_matched_list += $dbu; } elseif ($ul.length -gt 1) {$dbu_match_ambiguous_list += $dbu } else { $id = $ul[0].id; $azuread_match_id_list += $id; if ($ul[0].accountEnabled -eq $false) {$azuread_not_enabled_list += $id } } } catch { $dbu_query_failed_list += $dbu } } else { $dbu_not_queried_list += $dbu } } $dbu_not_queried_count = $dbu_not_queried_list.Count if ($dbu_not_queried_count -ne 0) { Write-Error "Unable to query for $dbu_not_queried_count records as rows lacked values for $db_match_column_name." } $dbu_duplicate_count = $dbu_duplicate_list.Count if ($dbu_duplicate_count -ne 0) { Write-Error "Unable to locate Microsoft Entra ID users for $dbu_duplicate_count rows as multiple rows have the same value" } $dbu_not_matched_count = $dbu_not_matched_list.Count if ($dbu_not_matched_count -ne 0) { Write-Error "Unable to locate $dbu_not_matched_count records in Microsoft Entra ID by querying for $db_match_column_name values in $azuread_match_attr_name." } $dbu_match_ambiguous_count = $dbu_match_ambiguous_list.Count if ($dbu_match_ambiguous_count -ne 0) { Write-Error "Unable to locate $dbu_match_ambiguous_count records in Microsoft Entra ID as attribute match ambiguous." } $dbu_query_failed_count = $dbu_query_failed_list.Count if ($dbu_query_failed_count -ne 0) { Write-Error "Unable to locate $dbu_query_failed_count records in Microsoft Entra ID as queries returned errors." } $azuread_not_enabled_count = $azuread_not_enabled_list.Count if ($azuread_not_enabled_count -ne 0) { Write-Warning "$azuread_not_enabled_count users in Microsoft Entra ID are blocked from sign-in." } if ($dbu_not_queried_count -ne 0 -or $dbu_duplicate_count -ne 0 -or $dbu_not_matched_count -ne 0 -or $dbu_match_ambiguous_count -ne 0 -or $dbu_query_failed_count -ne 0 -or $azuread_not_enabled_count -ne 0) { Write-Output "You will need to resolve those issues before access of all existing users can be reviewed." } $azuread_match_count = $azuread_match_id_list.Count Write-Output "Users corresponding to $azuread_match_count records were located in Microsoft Entra ID."
Убедитесь, что существующие пользователи Microsoft Entra имеют необходимые атрибуты
Перед включением автоматической подготовки пользователей необходимо решить, какие пользователи в идентификаторе Microsoft Entra должны иметь доступ к службам SAP Cloud Identity Services, а затем необходимо проверить, имеют ли эти пользователи необходимые атрибуты в идентификаторе Microsoft Entra, и эти атрибуты сопоставляются с ожидаемой схемой sap Cloud Identity Services.
- По умолчанию значение атрибута пользователя Microsoft Entra сопоставляется как с атрибутом
userName
, так и с атрибутомemails[type eq "work"].value
службы облачных удостоверений SAP. Если адреса электронной почты пользователя отличаются от основных имен пользователей, может потребоваться изменить это соответствие. - Облачные службы удостоверений SAP могут игнорировать значения
postalCode
атрибута, если формат почтового индекса компании не соответствует стране или региону компании. - По умолчанию атрибут
department
Microsoft Entra сопоставляется с атрибутом SAP Cloud Identity Servicesurn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department
. Если у пользователей Microsoft Entra есть значения атрибутаdepartment
, эти значения должны соответствовать тем отделам, которые уже настроены в облачных службах идентификации SAP, в противном случае создание или обновление пользователя завершится ошибкой.department
Если значения пользователей Microsoft Entra не соответствуют значениям в среде SAP, удалите сопоставление перед назначением пользователей. - Конечная точка SCIM облачных служб удостоверений SAP требует наличия определенных атрибутов в определенном формате. Дополнительные сведения об этих атрибутах и их специальном формате можно найти здесь.
Назначение пользователей приложению SAP Cloud Identity Services в Microsoft Entra ID
Идентификатор Microsoft Entra использует концепцию, называемую назначениями, чтобы определить, какие пользователи должны получать доступ к выбранным приложениям. В контексте автоматической подготовки пользователей, если значение параметров области — синхронизация только назначенных пользователей и групп, то только пользователи и группы, которым назначена роль приложения этого приложения в идентификаторе Microsoft Entra, синхронизируются со службами SAP Cloud Identity Services. При назначении пользователя облачным службам удостоверений SAP в диалоговом окне назначения необходимо выбрать любую допустимую роль для конкретного приложения (если она доступна). Пользователи с ролью Доступ по умолчанию исключаются из развертывания. В настоящее время доступна единственная роль для служб SAP Cloud Identity Services — пользователь.
Если настройка приложения уже активирована, убедитесь, что приложение не находится в карантине перед назначением дополнительных пользователей приложению. Прежде чем продолжить, устраните все проблемы, вызывающие карантин.
Проверьте наличие пользователей, которые зарегистрированы в SAP Cloud Identity Services и не назначены приложению в Microsoft Entra ID
Предыдущие шаги оценили, существуют ли пользователи в облачных службах удостоверений SAP в качестве пользователей в идентификаторе Microsoft Entra. Однако в данный момент не всем пользователям могут быть назначены роли приложения в Microsoft Entra ID. На следующем этапе нужно выяснить, какие пользователи не имеют назначения к ролям приложения.
С помощью PowerShell найдите идентификатор субъекта-службы для субъекта-службы приложения.
Например, если корпоративное приложение называется
SAP Cloud Identity Services
, введите следующие команды:$azuread_app_name = "SAP Cloud Identity Services" $azuread_sp_filter = "displayName eq '" + ($azuread_app_name -replace "'","''") + "'" $azuread_sp = Get-MgServicePrincipal -Filter $azuread_sp_filter -All
Получите пользователей, которые в настоящее время имеют назначения к приложению в Microsoft Entra ID.
Это создается на основе переменной, заданной
$azuread_sp
в предыдущей команде.$azuread_existing_assignments = @(Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $azuread_sp.Id -All)
Сравните список идентификаторов пользователей, уже имеющихся в облачных службах идентификации SAP и Идентификаторе Microsoft Entra, с этими пользователями, назначенными приложению в идентификаторе Microsoft Entra. Этот скрипт основан на переменной, заданной
$azuread_match_id_list
в предыдущих разделах:$azuread_not_in_role_list = @() foreach ($id in $azuread_match_id_list) { $found = $false foreach ($existing in $azuread_existing_assignments) { if ($existing.principalId -eq $id) { $found = $true; break; } } if ($found -eq $false) { $azuread_not_in_role_list += $id } } $azuread_not_in_role_count = $azuread_not_in_role_list.Count Write-Output "$azuread_not_in_role_count users in the application's data store aren't assigned to the application roles."
Если ни одному из пользователей не назначены роли приложений, что указывает на то, что всем пользователям назначены роли приложений, это означает, что в Microsoft Entra ID и SAP Cloud Identity Services не было общих пользователей, поэтому изменения не требуются. Однако если один или несколько пользователей уже в sap Cloud Identity Services не назначены ролям приложений, необходимо продолжить процедуру и добавить их в одну из ролей приложения.
Выберите
User
роль основного субъекта службы приложения.$azuread_app_role_name = "User" $azuread_app_role_id = ($azuread_sp.AppRoles | where-object {$_.AllowedMemberTypes -contains "User" -and $_.DisplayName -eq "User"}).Id if ($null -eq $azuread_app_role_id) { write-error "role $azuread_app_role_name not located in application manifest"}
Создайте назначения ролей для приложения для пользователей, которые уже присутствуют в SAP Cloud Identity Services и Microsoft Entra, и в настоящее время не имеют назначений ролей для приложения.
foreach ($u in $azuread_not_in_role_list) { $res = New-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $azuread_sp.Id -AppRoleId $azuread_app_role_id -PrincipalId $u -ResourceId $azuread_sp.Id }
Подождите одну минуту, пока изменения будут распространяться в идентификаторе Microsoft Entra.
В следующем цикле предоставления услуг Microsoft Entra, служба предоставления Microsoft Entra будет сравнивать представление тех пользователей, которые назначены приложению, с представлением в SAP Cloud Identity Services, и обновлять пользователей SAP Cloud Identity Services, чтобы они имели атрибуты из Microsoft Entra ID.
Назначение оставшихся пользователей и мониторинг начальной синхронизации
После завершения тестирования пользователь успешно оформлен в службы SAP Cloud Identity Services, а существующие пользователи служб облачной идентификации SAP назначаются роли приложения. Вы можете назначить дополнительных авторизованных пользователей приложению SAP Cloud Identity Services, следуя одной из инструкций ниже.
- Вы можете назначить каждого отдельного пользователя приложению в Центре администрирования Microsoft Entra.
- Вы можете назначить отдельных пользователей приложению с помощью командлета PowerShell
New-MgServicePrincipalAppRoleAssignedTo
, как показано в предыдущем разделе, или - Если у вашей организации есть лицензия на Управление идентификацией Microsoft Entra, можно также развернуть политики управления правами для автоматизации назначения доступа.
Когда пользователи назначены на роль приложения и находятся в области подготовки к предоставлению, служба подготовки Microsoft Entra предоставит их в SAP Cloud Identity Services. Обратите внимание, что начальная синхронизация занимает больше времени, чем последующие синхронизации, которые происходят примерно каждые 40 минут, пока запущена служба подготовки Microsoft Entra.
Если вы не видите подготовленных пользователей, ознакомьтесь с инструкциями, описанными в руководстве по устранению неполадок, для которых не подготовлены пользователи. Затем проверьте журнал предоставления услуг через Центр администрирования Microsoft Entra или Graph API. Отфильтруйте журнал по состоянию Сбой. Если возникают сбои с кодом ошибки DuplicateTargetEntries, это указывает на неоднозначность в правилах сопоставления при настройке. Вам необходимо обновить пользователей Microsoft Entra или сопоставления, которые используются для сопоставления, чтобы гарантировать соответствие каждого пользователя Microsoft Entra одному пользователю приложения. Затем отфильтруйте журнал по действию Создать и состоянию Пропущено. Если пользователи пропускались с кодом SkipReason NotEffectivelyEntitled, это может указывать на то, что учетные записи пользователей в идентификаторе Microsoft Entra не совпадали, так как состояние учетной записи пользователя было отключено.
Настройка единого входа
Вы также можете включить единый вход на основе SAML для SAP Cloud Identity Services, следуя инструкциям, приведенным в статье о едином входе в SAP Cloud Identity Services. Единый вход можно настроить независимо от автоматической подготовки пользователей, хотя эти две возможности хорошо дополняют друг друга.
Контроль за выделением ресурсов
С помощью раздела "Сведения о синхронизации" можно отслеживать ход выполнения и следовать ссылкам на отчет о действиях подготовки, который описывает все действия, выполняемые службой подготовки Microsoft Entra в облачных службах удостоверений SAP. Вы также можете отслеживать проект управления с помощью Microsoft Graph API.
Дополнительные сведения о том, как читать журналы подготовки Microsoft Entra, см. в разделе "Отчеты о автоматической подготовке учетных записей пользователей".
Поддержание назначений ролей приложения
Когда пользователи, назначенные приложению, обновляются в Microsoft Entra ID, эти изменения автоматически передаются в облачные сервисы идентификации SAP.
Если у вас есть Управление Microsoft Entra ID, вы можете автоматизировать изменения в назначениях ролей приложений для SAP Cloud Identity Services в Microsoft Entra ID, чтобы добавлять или удалять назначения, когда люди присоединяются к организации, покидают её или меняют роли.
- Можно выполнить однократную или повторяющуюся проверку доступа назначений ролей приложения.
- Можно создать пакет управления правами для этого приложения. Вы можете создавать политики для назначения доступа пользователям, либо при их запросе, администратором, автоматически на основе правил, либо через рабочие процессы жизненного цикла.
Дополнительные ресурсы
- Управление подготовкой учетных записей пользователей для корпоративных приложений
- Что такое доступ к приложению и единый вход с помощью идентификатора Microsoft Entra?
- Управление доступом к приложениям SAP
- Управление доступом к приложениям в вашей среде