Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье рассматривается настройка управления из 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
если это пробная версия. Перейдите к пользователи и авторизации > администраторы.Нажмите кнопку +Добавить на левой панели, чтобы добавить нового администратора в список. Выберите "Добавить систему " и введите имя системы.
Примечание.
Удостоверение администратора в службах 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 как минимум администратор облачных приложений.
- Перейдите к Entra ID>приложениям Enterprise>Новая заявка.
- Чтобы добавить приложение из коллекции, введите 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 как минимум администратор облачных приложений.
Перейдите к приложениям Entra ID>Enterprise
В списке приложений выберите приложение , sap Cloud Identity Services.
Перейдите на вкладку "Свойства ".
Убедитесь, что параметр "Требуется назначение" установлен на "Да". Если для него задано значение No, все пользователи в каталоге, включая внешние удостоверения, могут получить доступ к приложению, и вы не можете проверить доступ к приложению.
Перейдите на вкладку "Подготовка ".
Установите режим подготовки на Автоматический.
В разделе «Учетные данные администратора» введите
https://<tenantID>.accounts.ondemand.com/service/scim
, или если это пробная версия —https://<tenantid>.trial-accounts.ondemand.com/service/scim
, с указанием идентификатора арендатора в сервисах облачной идентификации SAP в поле 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 как минимум администратор облачных приложений и администратор пользователей.
- Перейдите к Entra ID>пользователям.
- Выберите "Новый пользователь">"Создать нового пользователя".
- Введите имя участника-пользователя и отображаемое имя нового тестового пользователя. Имя субъекта-пользователя должно быть уникальным и не должно совпадать ни с каким текущим или предыдущим пользователем Microsoft Entra или пользователем SAP Cloud Identity Services. Выберите Обзор + создание и Создать.
- После создания тестового пользователя перейдите к Entra ID>приложениям для предприятия.
- Выберите приложение sap Cloud Identity Services.
- Выберите "Пользователи" и "Группы" , а затем выберите "Добавить пользователя или группу".
- В разделе "Пользователи и группы" выберите "Нет выбрано" и в текстовом поле введите имя участника-пользователя тестового пользователя.
- Выберите Выбрать, а затем Назначить.
- Выберите "Подготовка" и выберите "Подготовка по запросу".
- В текстовом поле "Выбор пользователя или группы" введите принципальное имя тестового пользователя.
- Выберите Обеспечение.
- Дождитесь завершения подготовки. При успешном выполнении отображается сообщение
Modified attributes (successful)
.
Кроме того, вы можете опционально проверить, какие элементы будет настраивать служба подготовки Microsoft Entra, когда пользователь выходит за пределы области действия приложения.
- Выберите пользователей и группы.
- Выберите тестового пользователя, а затем нажмите кнопку "Удалить".
- После удаления тестового пользователя выберите "Подготовка " и выберите "Подготовка по запросу".
- В текстовом поле "Выбор пользователя или группы " введите имя основного участника тестового пользователя, который только что был деактивирован.
- Выберите Обеспечение.
- Дождитесь завершения подготовки.
Наконец, можно удалить тестового пользователя из идентификатора Microsoft Entra.
- Перейдите к Entra ID>пользователям.
- Выберите тестового пользователя, нажмите кнопку "Удалить" и нажмите кнопку "ОК". Это действие временно удаляет тестового пользователя из 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 с помощью командлетов 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 для них. Дополнительные сведения о том, какие изменения внести, см. в статье о управлении сопоставлениями и учетными записями пользователей в приложениях, которые не совпадают с учетными записями пользователей в ID 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 сопоставляется как с атрибутом
userPrincipalName
, так и с атрибутомuserName
службы облачных удостоверений SAP. Если адреса электронной почты пользователя отличаются от основных имен пользователей, может потребоваться изменить это соответствие. - Облачные службы удостоверений SAP могут игнорировать значения
postalCode
атрибута, если формат почтового индекса компании не соответствует стране или региону компании. - По умолчанию атрибут
country
Microsoft Entra сопоставляется с полем SAP Cloud Identity Servicesaddresses[type eq "work"].country
. Если значения атрибутаcountry
не являются двумя символами кодов стран ISO 3166, создание этих пользователей в облачных службах удостоверений SAP может завершиться ошибкой. Дополнительные сведения см. в разделе "Страны.свойства". - По умолчанию атрибут
department
Microsoft Entra сопоставляется с атрибутом SAP Cloud Identity Servicesurn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department
. Если у пользователей Microsoft Entra есть значения атрибутаdepartment
, эти значения должны соответствовать тем отделам, которые уже настроены в облачных службах идентификации SAP, в противном случае создание или обновление пользователя завершится ошибкой. Дополнительные сведения см. в departments.properties.department
Если значения пользователей Microsoft Entra не совпадают с значениями в среде SAP, обновите значения отделов в Microsoft Entra, обновите допустимые значения отделов в sap Cloud Identity Services или удалите сопоставление перед назначением пользователей. - Конечная точка 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 или API Graph. Отфильтруйте журнал до сбоя состояния. Если возникают сбои с кодом ошибки DuplicateTargetEntries, это указывает на неоднозначность в правилах сопоставления развертывания. Вам необходимо обновить пользователей Microsoft Entra или сопоставления, которые используются для сопоставления, чтобы гарантировать, что каждому пользователю Microsoft Entra соответствует один пользователь приложения. Затем отфильтруйте журнал по действию «Создать» и статусу «Пропущено». Если пользователи пропускались с кодом SkipReason NotEffectivelyEntitled, это может указывать на то, что учетные записи пользователей в идентификаторе Microsoft Entra не совпадали, так как состояние учетной записи пользователя было отключено.
Настройка единого входа
Вы также можете включить единый вход на основе SAML для SAP Cloud Identity Services, следуя инструкциям, приведенным в статье о едином входе в SAP Cloud Identity Services. Единый вход можно настроить независимо от автоматической подготовки пользователей, хотя эти две возможности хорошо дополняют друг друга.
Контроль за выделением ресурсов
С помощью раздела "Сведения о синхронизации" можно отслеживать ход выполнения и следовать ссылкам на отчет о действиях подготовки, который описывает все действия, выполняемые службой подготовки Microsoft Entra в облачных службах удостоверений SAP. Вы также можете отслеживать проект подготовки с помощью API Microsoft Graph.
Дополнительные сведения о том, как читать журналы подготовки Microsoft Entra, см. в разделе "Отчеты о автоматической подготовке учетных записей пользователей".
Поддержание назначений ролей приложения
Когда пользователи, назначенные приложению, обновляются в Microsoft Entra ID, эти изменения автоматически передаются в облачные сервисы идентификации SAP.
Если у вас есть Управление Microsoft Entra ID, вы можете автоматизировать изменения в назначениях ролей приложений для SAP Cloud Identity Services в Microsoft Entra ID, чтобы добавлять или удалять назначения, когда люди присоединяются к организации, покидают её или меняют роли.
- Можно провести однократную или повторяющуюся проверку доступа присвоенных ролей приложения.
- Для этого приложения можно создать пакет управления правами. Вы можете иметь политики для пользователей, которым необходимо назначить доступ, либо при запросе администратором, автоматически на основе правил, либо с помощью рабочих процессов жизненного цикла.
Дополнительные ресурсы
- Управление подготовкой учетных записей пользователей для корпоративных приложений
- Что такое доступ к приложению и единый вход с помощью идентификатора Microsoft Entra?
- Управление доступом к приложениям SAP
- Управление доступом к приложениям в вашей среде