Konfigurowanie usług SAP Cloud Identity Services na potrzeby automatycznej aprowizacji użytkowników przy użyciu Microsoft Entra ID

W tym artykule przedstawiono kroki konfigurowania aprowizacji z usługi Microsoft Entra ID do usługi SAP Cloud Identity Services. Celem jest skonfigurowanie Microsoft Entra ID do automatycznego aprowizowania i deprowizowania użytkowników w usługach SAP Cloud Identity Services, dzięki czemu użytkownicy ci mogą uwierzytelniać się w usługach SAP Cloud Identity Services i mieć dostęp do obciążeń SAP. Usługi SAP Cloud Identity Services obsługują udostępnianie z lokalnego katalogu tożsamości do innych aplikacji SAP jako systemów docelowych.

Uwaga

W tym artykule opisano łącznik wbudowany w usługę aprowizacji użytkowników Microsoft Entra. Aby uzyskać ważne szczegółowe informacje na temat działania tej usługi, często zadawanych pytań oraz tego, jak działa, zobacz Automate przygotowywanie i usuwanie użytkowników w aplikacjach SaaS za pomocą Microsoft Entra ID. Usługa SAP Cloud Identity Services ma również własny oddzielny łącznik do odczytywania użytkowników i grup z Microsoft Entra ID. Aby uzyskać więcej informacji, zobacz SAP Cloud Identity Services — Identity Provisioning — Microsoft Entra ID jako system źródłowy.

Uwaga

Nowa wersja łącznika SAP Cloud Identity Services jest ogólnie dostępna i jest teraz domyślna dla listy usług SAP Cloud Identity Services w galerii aplikacji Microsoft Entra. Ta bieżąca wersja łącznika zawiera następujące zmiany:

Ważne

Jeśli integrując z SAP IAG, zamapuj Microsoft Entra ObjectId na nazwę użytkownika, wybierając EDYTUJ w wierszu nazwy użytkownika i ustaw atrybuty jako Źródło i Cel:

  • Atrybut źródłowy: objectId
  • Atrybut docelowy: userName

Wymagania wstępne

W scenariuszu opisanym w tym artykule przyjęto założenie, że masz już następujące wymagania wstępne:

  • Dzierżawa usług SAP Cloud Identity Services
  • Konto użytkownika w usługach SAP Cloud Identity Services z uprawnieniami administratora.
  • Do korzystania z funkcji aprowizacji grup wymagana jest licencja Microsoft Entra ID P1.

Uwaga

Ta integracja jest również dostępna do użycia w środowisku Microsoft Entra US Government Cloud. Tę aplikację można znaleźć w galerii aplikacji Microsoft Entra US Government Cloud Application Gallery i skonfigurować ją w taki sam sposób, jak w środowisku chmury publicznej.

Jeśli nie masz jeszcze użytkowników w Microsoft Entra ID, zacznij od artykułu planowanie wdrażania Microsoft Entra na potrzeby aprowizacji użytkowników za pomocą aplikacji źródłowych i docelowych SAP. W tym artykule pokazano, jak połączyć Microsoft Entra z autorytatywnymi źródłami listy pracowników w organizacji, takich jak SAP SuccessFactors. Pokazano również, jak używać Microsoft Entra do konfigurowania tożsamości dla tych pracowników, aby mogli zalogować się do co najmniej jednej aplikacji SAP, takiej jak SAP ECC lub SAP S/4HANA.

Jeśli konfigurujesz udostępnianie w SAP Cloud Identity Services w środowisku produkcyjnym, gdzie zarządzasz dostępem do obciążeń SAP za pomocą Zarządzanie Microsoft Entra ID, przed kontynuowaniem zapoznaj się z wymaganiami wstępnymi przed skonfigurowaniem Microsoft Entra ID dla zarządzania tożsamościami.

Konfigurowanie usług SAP Cloud Identity Services do prowizjonowania

W tym artykule dodasz system administracyjny w usługach SAP Cloud Identity Services, a następnie skonfigurujesz Microsoft Entra.

Zrzut ekranu przedstawiający architekturę logowania jednokrotnego i przepływ udostępniania między aplikacjami SAP, usługami SAP Cloud Identity Services i Microsoft Entra.

  1. Zaloguj się do konsoli https://<tenantID>.accounts.ondemand.com/admin administracyjnej usług SAP Cloud Identity Services lub https://<tenantID>.trial-accounts.ondemand.com/admin w przypadku wersji próbnej. Przejdź do Użytkownicy & Autoryzacje Administratorzy.

    Zrzut ekranu przedstawiający konsolę administracyjną usług SAP Cloud Identity Services.

  2. Naciśnij przycisk +Dodaj na panelu po lewej stronie, aby dodać nowego administratora do listy. Wybierz pozycję Dodaj system i wprowadź nazwę systemu.

    Uwaga

    Tożsamość administratora w usługach SAP Cloud Identity Services musi być typu System. Użytkownik administratora nie może uwierzytelnić się w interfejsie API SCIM SAP podczas aprowizacji. Usługa SAP Cloud Identity Services nie zezwala na zmianę nazwy systemu po jego utworzeniu.

  3. W obszarze Konfigurowanie autoryzacji włącz przełącznik obok Zarządzaj użytkownikami. Następnie wybierz pozycję Zapisz , aby utworzyć system.

    Zrzut ekranu przedstawiający usługę SAP Cloud Identity Services Add SCIM.

  4. Po utworzeniu systemu administratora dodaj nowy sekret do tego systemu.

  5. Skopiuj identyfikator klienta i klucz tajny klienta wygenerowany przez oprogramowanie SAP. Te wartości są wprowadzane odpowiednio w polach Nazwa użytkownika administratora i Hasło administratora. Wprowadź te wartości na karcie Provisioning w aplikacji SAP Cloud Identity Services, którą skonfigurujesz w kolejnej sekcji.

  6. Usługi SAP Cloud Identity Services mogą mieć przypisania do jednej lub więcej aplikacji SAP jako systemów docelowych. Sprawdź, czy istnieją jakieś atrybuty dla użytkowników, których te aplikacje SAP wymagają aprowizacji za pośrednictwem usług SAP Cloud Identity Services. W tym artykule założono, że usługi SAP Cloud Identity Services i podrzędne systemy docelowe wymagają dwóch atrybutów, userName i emails[type eq "work"].value. Jeśli systemy docelowe SAP wymagają innych atrybutów i nie są one częścią schematu użytkownika Microsoft Entra ID, może być konieczne skonfigurowanie atrybutów rozszerzenia synching.

Przed skonfigurowaniem automatycznego aprowizowania użytkowników przez Microsoft Entra ID w SAP Cloud Identity Services, należy dodać SAP Cloud Identity Services z galerii aplikacji Microsoft Entra do listy aplikacji korporacyjnych w dzierżawie. Ten krok można wykonać w centrum administracyjne Microsoft Entra lub za pośrednictwem interfejs Graph API.

Jeśli usługi SAP Cloud Identity Services są już skonfigurowane do logowania jednokrotnego z Microsoft Entra przy użyciu języka SAML, a aplikacja znajduje się już na liście Microsoft Entra aplikacji dla przedsiębiorstw, przejdź do sekcji Konfigurowanie automatycznej aprowizacji użytkowników w usługach SAP Cloud Identity Services.

Uwaga

Jeśli wcześniej skonfigurowano rejestrację aplikacji na potrzeby integracji programu OpenID Connect, nie będzie można skonfigurować aprowizacji dla tej rejestracji aplikacji. Zamiast tego utwórz oddzielną aplikację korporacyjną do aprowizacji.

Dodawanie usług SAP Cloud Identity Services przy użyciu centrum administracyjne Microsoft Entra

Aby dodać usługi SAP Cloud Identity Services z galerii aplikacji Microsoft Entra przy użyciu centrum administracyjne Microsoft Entra, wykonaj następujące kroki:

  1. Zaloguj się do centrum administracyjne Microsoft Entra jako co najmniej Administrator aplikacji w chmurze.
  2. Przejdź do Entra ID> Aplikacje dla przedsiębiorstw>Nowa aplikacja.
  3. Aby dodać aplikację z galerii, wpisz SAP Cloud Identity Services w polu wyszukiwania.
  4. Wybierz pozycję SAP Cloud Identity Services z panelu wyników, a następnie dodaj aplikację. Zaczekaj kilka sekund, aż aplikacja zostanie dodana do Twojej dzierżawy.
  5. Przejdź do Konfigurowanie automatycznej aprowizacji użytkowników dla SAP Cloud Identity Services, aby skonfigurować aprowizację.

Dodawanie usług SAP Cloud Identity Services przy użyciu Microsoft Graph

Aplikację i jednostkę usługi można utworzyć, wykonując kroki opisane w temacie Konfigurowanie aprowizacji przy użyciu interfejs Graph API firmy Microsoft.

Najpierw pobierz identyfikator szablonu aplikacji galerii dla elementu SAP Cloud Identity Services.

GET https://graph.microsoft.com/v1.0/applicationTemplates?$filter=displayName eq 'SAP Cloud Identity Services'

Wyodrębnij id szablon aplikacji z odpowiedzi. Następnie utwórz aplikację galerii i główny element usługi.

POST https://graph.microsoft.com/v1.0/applicationTemplates/{applicationTemplateId}/instantiate
Content-type: application/json

{
  "displayName": "SAP Cloud Identity Services"
}

Odpowiedź będzie zawierać nowe obiekty aplikacji i obiekty główne usługi.

Następnie pobierz szablon konfiguracji aprowizacji za pomocą id właśnie utworzonej głównej usługi.

GET https://graph.microsoft.com/beta/servicePrincipals/{id}/synchronization/templates

Aby włączyć zaopatrzenie, należy utworzyć zadanie. Użyj następującego żądania, aby utworzyć zadanie aprowizacji. Użyj id z poprzedniego kroku jako templateId podczas określania szablonu do użycia dla zadania.

POST https://graph.microsoft.com/beta/servicePrincipals/{id}/synchronization/jobs
Content-type: application/json

{
    "templateId": "sapcloudidentityservices"
}

Jak opisano w Konfigurowanie automatycznej obsługi administracyjnej użytkowników w usługach SAP Cloud Identity Services, można następnie dodatkowo skonfigurować zadanie obsługi administracyjnej i schemat szablonu skojarzone z jednostką usługi głównej. Następnie autoryzuj dostęp dla Microsoft Entra do uwierzytelniania w usługach SAP Cloud Identity Services, a następnie rozpocznij zadanie aprowizacji.

Konfigurowanie automatycznej aprowizacji użytkowników do usług SAP Cloud Identity Services

W tej sekcji przedstawiono procedurę konfigurowania usługi aprowizacji Microsoft Entra w celu tworzenia, aktualizowania i wyłączania użytkowników i grup w usługach SAP Cloud Identity Services na podstawie przypisań użytkowników i grup do aplikacji w Microsoft Entra ID.

Konfigurowanie automatycznej aprowizacji użytkowników w Microsoft Entra ID

Aby skonfigurować automatyczną aprowizację użytkowników dla usług SAP Cloud Identity Services w Microsoft Entra ID, wykonaj następujące kroki:

  1. Zaloguj się do centrum administracyjne Microsoft Entra jako co najmniej Administrator aplikacji w chmurze.

  2. Przejdź do Entra ID> Aplikacje dla przedsiębiorstw

    Zrzut ekranu przedstawiający blok Aplikacje dla przedsiębiorstw.

  3. Na liście aplikacji wybierz aplikację SAP Cloud Identity Services.

    Zrzut ekranu przedstawiający link usługi SAP Cloud Identity Services na liście aplikacji.

  4. Wybierz kartę Właściwości .

  5. Sprawdź, czy opcja Przypisanie jest wymagane? jest ustawiona na Tak. Jeśli jest ustawiona wartość Nie, wszyscy użytkownicy w katalogu, w tym użytkownicy zewnętrzni, mogą uzyskiwać dostęp do aplikacji, a ty nie możesz zrewidować dostępu do niej.

  6. Wybierz zakładkę Konfiguracja.

    Zrzut ekranu przedstawiający opcje Zarządzania z wywołaną opcją Aprowizacja.

  7. Ustaw + Nowa konfiguracja.

    Zrzut ekranu przedstawiający zakładkę Aprowizowanie automatyczne.

  8. W polu Adres URL dzierżawy wprowadź adres URL dzierżawy usług SAP Cloud Identity Services i token tajny. Wybierz pozycję Test Connection aby upewnić się, że Microsoft Entra ID może nawiązać połączenie z usługami SAP Cloud Identity Services. Jeśli połączenie nie powiedzie się, upewnij się, że konto usługi SAP Cloud Identity Services ma wymagane uprawnienia administratora i spróbuj ponownie.

    Zrzut ekranu przedstawiający połączenie testowe aprowizacji.

  9. Wybierz pozycję Utwórz , aby utworzyć konfigurację.

  10. Wybierz Właściwości na stronie Przegląd.

  11. Wybierz ołówek, aby edytować właściwości. Włącz wiadomości e-mail z powiadomieniami i podaj wiadomość e-mail, aby otrzymywać wiadomości e-mail z kwarantanny. Włącz zapobieganie przypadkowym usunięciom. Wybierz Zastosuj, aby zapisać zmiany.

    Zrzut ekranu przedstawiający stronę właściwości konfiguracji z ustawieniami powiadomień i usuwania.

  12. Wybierz Mapowanie atrybutów w lewym panelu, a następnie wybierz użytkowników.

  13. Przejrzyj atrybuty użytkownika i grupy, które są synchronizowane z Microsoft Entra ID do usług SAP Cloud Identity Services w sekcji Mapowanie atrybutów. Jeśli nie widzisz atrybutów w usługach SAP Cloud Identity Services dostępnych jako element docelowy do mapowania, wybierz pozycję Pokaż opcje zaawansowane i wybierz pozycję Edytuj listę atrybutów dla usługi SAP Cloud Platform Identity Authentication, aby edytować listę obsługiwanych atrybutów. Dodaj atrybuty tenanta usług SAP Cloud Identity Services.

  14. Przejrzyj i zarejestruj atrybuty źródłowe i docelowe wybrane jako Dopasowujące cechy, mapowania, które mają priorytet dopasowania Matching precedence, ponieważ te atrybuty są używane do dopasowania użytkowników i grup w usługach SAP Cloud Identity Services dla Microsoft Entra, aby określić, czy utworzyć nowego użytkownika lub grupę, lub zaktualizować istniejącego użytkownika lub grupę. Aby uzyskać więcej informacji na temat dopasowywania, zobacz dopasowywanie użytkowników w systemach źródłowych i docelowych. W kolejnym kroku upewnij się, że użytkownicy już obecni w usługach SAP Cloud Identity Services mają wybrane atrybuty uzupełnione jako właściwości dopasowywania, aby zapobiec tworzeniu zduplikowanych użytkowników.

  15. Upewnij się, że istnieje mapowanie atrybutu dla IsSoftDeleted lub funkcji zawierającej IsSoftDeleted, zamapowane na atrybut aplikacji. Gdy użytkownik nie jest przypisywany z aplikacji, usunięty nietrwale w Microsoft Entra ID lub zablokowany przed logowaniem, usługa aprowizacji Microsoft Entra zaktualizuje atrybut zamapowany na isSoftDeleted. Jeśli atrybut nie zostanie przypisany, użytkownicy, którzy później zostali odjęci z roli aplikacji, będą nadal istnieć w magazynie danych aplikacji.

  16. Dodaj wszelkie dodatkowe mapowania wymagane przez usługi SAP Cloud Identity Services lub podrzędne docelowe systemy SAP.

  17. Wybierz przycisk Zapisz , aby zatwierdzić wszelkie zmiany.

    Atrybut użytkownika Typ Obsługiwane do filtrowania Wymagane przez usługę SAP Cloud Identity Services
    userName Sznurek ✓ ✓
    emails[type eq "work"].value Sznurek ✓
    active logiczny
    displayName Sznurek
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:manager Odniesienie
    addresses[type eq "work"].country Sznurek
    addresses[type eq "work"].locality Sznurek
    addresses[type eq "work"].postalCode Sznurek
    addresses[type eq "work"].region Sznurek
    addresses[type eq "work"].streetAddress Sznurek
    name.givenName Sznurek
    name.familyName Sznurek
    name.honorificPrefix Sznurek
    phoneNumbers[type eq "fax"].value Sznurek
    phoneNumbers[type eq "mobile"].value Sznurek
    phoneNumbers[type eq "work"].value Sznurek
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:costCenter Sznurek
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department Sznurek
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:division Sznurek
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber Sznurek
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:organization Sznurek
    locale Sznurek
    timezone Sznurek
    userType Sznurek
    company Sznurek
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute1 Sznurek
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute2 Sznurek
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute3 Sznurek
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute4 Sznurek
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute5 Sznurek
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute6 Sznurek
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute7 Sznurek
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute8 Sznurek
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute9 Sznurek
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute10 Sznurek
    sendMail Sznurek
    mailVerified Sznurek
    Atrybut grupy Typ Obsługiwane do filtrowania Wymagane przez usługę SAP Cloud Identity Services
    id Sznurek ✓ ✓
    externalId Sznurek
    displayName Sznurek ✓
    urn:sap:cloud:scim:schemas:extension:custom:2.0:Group:name Sznurek
    urn:sap:cloud:scim:schemas:extension:custom:2.0:Group:description Sznurek
    members Odniesienie ✓
  18. Aby skonfigurować filtry określania zakresu, zapoznaj się z instrukcjami w temacie Definiowanie reguł warunkowych na potrzeby aprowizacji kont użytkowników.

    Zrzut ekranu przedstawiający zapisywanie konfiguracji zabezpieczania.

  19. Użyj prowizjonowania na żądanie, aby zweryfikować synchronizację z niewielką liczbą użytkowników przed wdrożeniem na szerszą skalę w organizacji.

  20. Gdy wszystko będzie gotowe do aprowizacji, wybierz pozycję Rozpocznij aprowizację na stronie Przegląd .

Aprowizuj nowego użytkownika testowego z Microsoft Entra ID do usług SAP Cloud Identity Services

Zaleca się przypisanie pojedynczego nowego użytkownika testowego Microsoft Entra do usług SAP Cloud Identity Services w celu przetestowania automatycznej konfiguracji aprowizacji użytkowników.

  1. Zaloguj się do centrum administracyjne Microsoft Entra jako co najmniej Administrator aplikacji w chmurze i administrator użytkowników.
  2. Przejdź do Entra ID>Użytkownicy.
  3. Wybierz pozycję Nowy użytkownik>Utwórz nowego użytkownika.
  4. Wpisz główną nazwę użytkownika i nazwę wyświetlaną nowego użytkownika testowego. Główny identyfikator użytkownika musi być unikatowy i nie może być taki sam jak ani bieżącym, ani poprzednim użytkowniku Microsoft Entra lub użytkowniku SAP Cloud Identity Services. Wybierz pozycję Przejrzyj i utwórz i Utwórz.
  5. Po utworzeniu użytkownika testowego przejdź do Entra ID> Aplikacje dla przedsiębiorstw.
  6. Wybierz aplikację SAP Cloud Identity Services.
  7. Wybierz pozycję Użytkownicy i grupy , a następnie wybierz pozycję Dodaj użytkownika/grupę.
  8. W obszarze Użytkownicy i grupy wybierz pozycję Brak zaznaczone, a w polu tekstowym wpisz główną nazwę użytkownika testowego.
  9. Wybierz Wybierz, a następnie Przypisz.
  10. Wybierz pozycję Aprowizowanie , a następnie wybierz pozycję Aprowizowanie na żądanie.
  11. W polu tekstowym Wybierz użytkownika lub grupę wpisz główną nazwę użytkownika testowego.
  12. Wybierz Aprowizacja.
  13. Poczekaj na zakończenie przygotowania. Jeśli operacja powiedzie się, zostanie wyświetlony komunikat Modified attributes (successful).

Opcjonalnie możesz również sprawdzić, co usługa aprowizacji Microsoft Entra będzie aprowizować, gdy użytkownik wykracza poza zakres aplikacji.

  1. Wybierz pozycję Użytkownicy i grupy.
  2. Wybierz użytkownika testowego, a następnie wybierz pozycję Usuń.
  3. Po usunięciu użytkownika testowego wybierz pozycję Aprowizowanie , a następnie wybierz pozycję Aprowizacja na żądanie.
  4. W polu tekstowym Wybierz użytkownika lub grupę wpisz nazwę główną użytkownika testowego, który został właśnie oddelegowany.
  5. Wybierz Aprowizacja.
  6. Poczekaj na zakończenie przygotowania.

Na koniec możesz usunąć użytkownika testowego z Microsoft Entra ID.

  1. Przejdź do Entra ID>Użytkownicy.
  2. Wybierz użytkownika testowego, wybierz Usuń, a następnie wybierz OK. Ta akcja częściowo usuwa użytkownika testowego z Microsoft Entra ID.

Następnie możesz usunąć użytkownika testowego z usług SAP Cloud Identity Services.

Identyfikowanie istniejących użytkowników w aplikacji i przypisywanie ich do aplikacji dla przedsiębiorstw

Microsoft Entra może odnaleźć istniejących użytkowników w aplikacji i uprościć przypisywanie ich do aplikacji dla przedsiębiorstw. Kliknij przycisk odnajdywania tożsamości na stronie przeglądu aprowizacji. Po wygenerowaniu raportu będziesz mieć widok wszystkich użytkowników w aplikacji, które użytkownicy w aplikacji są zgodni z użytkownikiem Microsoft Entra ID, którym użytkownicy są już przypisani do aplikacji dla przedsiębiorstw w Microsoft Entra ID i którzy użytkownicy w aplikacji nie są zgodni z użytkownikiem Microsoft Entra ID. Następnie możesz uruchomić prosty skrypt programu PowerShell, aby przypisać odnalezionych użytkowników do aplikacji:

  1. Pobierz skrypt programu Assign-CorrelatedUsers PowerShell.

  2. Sprawdź, którzy użytkownicy otrzymaliby przypisania ról aplikacji, bez wprowadzania zmian, uruchamiając skrypt w trybie próbnym (dry run):

    .\Assign-CorrelatedUsers.ps1 -ServicePrincipalId "7A22..." -DryRun
    
  3. Po przejrzeniu wyników uruchomienia próbnego uruchom skrypt bez -DryRun, aby utworzyć rzeczywiste przypisania ról aplikacji dla dopasowanych użytkowników:

    .\Assign-CorrelatedUsers.ps1 -ServicePrincipalId "7A22..."
    
  4. Poczekaj minutę na propagację zmian w Microsoft Entra ID.

Funkcja odnajdywania wymaga licencji Entra ID Governance. Organizacje bez wymaganych licencji nadal mogą wykonać poniższe kroki, aby zidentyfikować istniejących użytkowników w usługach SAP CLout Identity Services i przypisać je do aplikacji dla przedsiębiorstw w Microsoft Entra.

Upewnij się, że istniejący użytkownicy usług SAP Cloud Identity Services mają niezbędne pasujące atrybuty

Przed przypisaniem użytkowników innych niż testowi do aplikacji SAP Cloud Identity Services w Microsoft Entra ID, należy upewnić się, że wszyscy użytkownicy już w SAP Cloud Identity Services, którzy reprezentują te same osoby co użytkownicy w Microsoft Entra ID, mają wypełnione atrybuty mapowania w SAP Cloud Identity Services.

W mapowaniu aprowizacji atrybuty wybrane jako Matching są używane do dopasowania kont użytkowników w Microsoft Entra ID z kontami użytkowników w usługach SAP Cloud Identity Services. Jeśli w Microsoft Entra ID znajduje się użytkownik, który nie ma odpowiednika w usługach SAP Cloud Identity Services, usługa aprowizacji Microsoft Entra podejmie próbę utworzenia tego użytkownika. Jeśli w Microsoft Entra ID istnieje użytkownik, a w SAP Cloud Identity Services znajduje się odpowiadający mu użytkownik, wtedy usługa aprowizacji Microsoft Entra zaktualizuje tego użytkownika w SAP Cloud Identity Services. Z tego powodu należy upewnić się, że wszyscy użytkownicy będący już w usługach SAP Cloud Identity Services mają atrybuty wypełnione jako właściwości Pasujące, w przeciwnym razie mogą zostać utworzeni duplikatowi użytkownicy. Jeśli musisz zmienić pasujący atrybut w mapowaniu atrybutów aplikacji Microsoft Entra, zobacz matchowanie użytkowników w systemach źródłowych i docelowych.

  1. Zaloguj się do konsoli https://<tenantID>.accounts.ondemand.com/admin administracyjnej usług SAP Cloud Identity Services lub https://<tenantID>.trial-accounts.ondemand.com/admin w przypadku wersji próbnej.

  2. Przejdź do pozycji Użytkownicy i autoryzacje > Eksportuj użytkowników.

  3. Wybierz wszystkie atrybuty wymagane do dopasowania użytkowników Microsoft Entra do użytkowników w SAP. Te atrybuty obejmują SCIM ID, userName, emails, oraz inne, które mogą być używane w systemach SAP jako identyfikatory.

  4. Wybierz pozycję Eksportuj i poczekaj na pobranie pliku CSV w przeglądarce.

  5. Otwórz okno programu PowerShell.

  6. Wpisz następujący skrypt w edytorze. W wierszu jeden, jeśli wybrano inny zgodny atrybut inny niż userName, zmień wartość sapScimUserNameField zmiennej na nazwę atrybutu SAP Cloud Identity Services. W wierszu dwa zmień argument na nazwę wyeksportowanego pliku CSV z Users-exported-from-sap.csv na nazwę pobranego pliku.

    $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."
    
  7. Uruchom skrypt. Po zakończeniu działania skryptu, jeśli brakuje co najmniej jednego użytkownika, którzy nie mieli wymaganego atrybutu dopasowania, wyszukaj tych użytkowników w wyeksportowanym pliku CSV lub w konsoli administracyjnej usług SAP Cloud Identity Services. Jeśli ci użytkownicy są również obecni w Microsoft Entra, należy najpierw zaktualizować reprezentację tych użytkowników w usłudze SAP Cloud Identity Services, aby mieli wypełniony odpowiedni atrybut.

  8. Po zaktualizowaniu atrybutów tych użytkowników w usługach SAP Cloud Identity Services ponownie wyeksportuj użytkowników z usług SAP Cloud Identity Services, zgodnie z opisem w krokach 2–5 i krokach programu PowerShell w tej sekcji, aby potwierdzić, że żaden użytkownik w usługach SAP Cloud Identity Services nie ma pasujących atrybutów, które uniemożliwiłyby aprowizowanie tych użytkowników.

Teraz, gdy masz listę wszystkich użytkowników uzyskanych z usługi SAP Cloud Identity Services, dopasowujesz tych użytkowników z magazynu danych aplikacji z użytkownikami już znajdującymi się w Microsoft Entra ID, aby określić, którzy użytkownicy powinni obejmować aprowizację.

Pobieranie identyfikatorów użytkowników w Microsoft Entra ID

W tej sekcji przedstawiono sposób interakcji z Microsoft Entra ID przy użyciu poleceń cmdlet Microsoft Graph PowerShell.

Przy pierwszym użyciu tych poleceń cmdlet w Twojej organizacji w tym scenariuszu musisz być w roli administratora globalnego, aby umożliwić używanie Microsoft Graph PowerShell w dzierżawie. Kolejne interakcje mogą używać roli o niższych uprawnieniach, taka jak:

  1. Otwórz program PowerShell.

  2. Jeśli nie masz już zainstalowanych modułów Microsoft Graph PowerShell, zainstaluj ten moduł Microsoft.Graph.Users i inne za pomocą tego polecenia:

    Install-Module Microsoft.Graph
    

    Jeśli masz już zainstalowane moduły, upewnij się, że używasz najnowszej wersji:

    Update-Module microsoft.graph.users,microsoft.graph.identity.governance,microsoft.graph.applications
    
  3. Połącz się z Microsoft Entra ID:

    $msg = Connect-MgGraph -ContextScope Process -Scopes "User.ReadWrite.All,Application.ReadWrite.All,AppRoleAssignment.ReadWrite.All,EntitlementManagement.ReadWrite.All"
    
  4. Jeśli korzystasz z tego polecenia po raz pierwszy, może być konieczne wyrażenie zgody na zezwolenie narzędziom wiersza polecenia Microsoft Graph na te uprawnienia.

  5. Przeczytaj listę użytkowników uzyskanych z magazynu danych aplikacji do sesji programu PowerShell. Jeśli lista użytkowników znajdowała się w pliku CSV, możesz użyć polecenia cmdlet Import-Csv programu PowerShell i podać nazwę pliku z poprzedniej sekcji jako argument.

    Jeśli na przykład plik uzyskany z usług SAP Cloud Identity Services ma nazwę Users-exported-from-sap.csv i znajduje się w bieżącym katalogu, wprowadź to polecenie.

    $filename = ".\Users-exported-from-sap.csv"
    $dbusers = Import-Csv -Path $filename -Encoding UTF8
    

    W innym przykładzie, jeśli używasz bazy danych lub katalogu, jeśli plik ma nazwę users.csv i znajduje się w bieżącym katalogu, wprowadź następujące polecenie:

    $filename = ".\users.csv"
    $dbusers = Import-Csv -Path $filename -Encoding UTF8
    
  6. Wybierz kolumnę pliku users.csv który będzie zgodny z atrybutem użytkownika w Microsoft Entra ID.

    Jeśli używasz usług SAP Cloud Identity Services, domyślne mapowanie to atrybut SAP SCIM userName z atrybutem Microsoft Entra ID userPrincipalName:

    $db_match_column_name = "userName"
    $azuread_match_attr_name = "userPrincipalName"
    

    W innym przykładzie, jeśli używasz bazy danych lub katalogu, może się zdarzyć, że wartość w kolumnie o nazwie EMail będzie taka sama jak w atrybucie Microsoft Entra userPrincipalName w bazie danych użytkowników.

    $db_match_column_name = "EMail"
    $azuread_match_attr_name = "userPrincipalName"
    
  7. Pobierz identyfikatory tych użytkowników w Microsoft Entra ID.

    Poniższy skrypt programu PowerShell używa wartości $dbusers, $db_match_column_name i $azuread_match_attr_name określonych wcześniej. Będzie wysyłać zapytanie Microsoft Entra ID, aby zlokalizować użytkownika, który ma atrybut z pasującą wartością dla każdego rekordu w pliku źródłowym. Jeśli w pliku uzyskanym ze źródłowej usługi SAP Cloud Identity Services, bazy danych lub katalogu istnieje wiele użytkowników, ten skrypt może potrwać kilka minut. Jeśli nie masz atrybutu w Microsoft Entra ID, który ma określoną wartość, i musisz użyć contains lub innego wyrażenia filtrującego, będziesz musiał dostosować ten skrypt oraz ten w kroku 11 poniżej, aby użyć innego wyrażenia filtrującego.

    $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 }
    }
    
    
  8. Wyświetl wyniki poprzednich zapytań. Sprawdź, czy którykolwiek z użytkowników w usługach SAP Cloud Identity Services, bazie danych lub katalogu nie może znajdować się w Microsoft Entra ID z powodu błędów lub brakujących dopasowań.

    Poniższy skrypt programu PowerShell wyświetli liczbę rekordów, które nie zostały zlokalizowane:

    $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." 
    
  9. Po zakończeniu działania skryptu zostanie wyświetlony błąd, jeśli w Microsoft Entra ID nie znajdują się jakiekolwiek rekordy ze źródła danych. Jeśli nie uda się znaleźć wszystkich rekordów użytkowników z magazynu danych aplikacji jako użytkowników w Microsoft Entra ID, należy zbadać, które rekordy nie odpowiadają i dlaczego.

    Na przykład adres e-mail użytkownika i userPrincipalName mogły zostać zmienione w Microsoft Entra ID bez aktualizacji odpowiedniej mail właściwości w źródle danych aplikacji. Lub użytkownik mógł już opuścił organizację, ale nadal znajduje się w źródle danych aplikacji. Może też istnieć konto dostawcy lub administratora w źródle danych aplikacji, które nie odpowiada żadnej konkretnej osobie w Microsoft Entra ID.

  10. Jeśli nie było użytkowników, którzy nie mogli znajdować się w Microsoft Entra ID lub nie byli aktywni i nie mogli się zalogować, ale chcesz mieć ich dostęp przeglądany lub ich atrybuty aktualizowane w usługach SAP Cloud Identity Services, bazie danych lub katalogu, musisz zaktualizować aplikację, regułę dopasowania lub zaktualizować lub utworzyć użytkowników Microsoft Entra dla nich. Aby uzyskać więcej informacji na temat wprowadzania zmian, zobacz zarządzanie mapowaniami i kontami użytkowników w aplikacjach, które nie są zgodne z użytkownikami w Microsoft Entra ID.

    Jeśli wybierzesz opcję tworzenia użytkowników w Microsoft Entra ID, możesz utworzyć użytkowników zbiorczo przy użyciu jednego z następujących elementów:

    Upewnij się, że ci nowi użytkownicy są wypełniani atrybutami wymaganymi przez Microsoft Entra ID do późniejszego dopasowania ich do istniejących użytkowników w aplikacji oraz atrybutów wymaganych przez Microsoft Entra ID, w tym userPrincipalName, mailNickname i displayName. Element userPrincipalName musi być unikatowy dla wszystkich użytkowników w katalogu.

    Możesz na przykład mieć użytkowników w bazie danych, gdzie wartość w kolumnie o nazwie EMail jest wartością, której chcesz użyć jako głównej nazwy użytkownika Microsoft Entra, wartości w kolumnie Alias zawiera Microsoft Entra ID pseudonim poczty, a wartość w kolumnie Full name zawiera nazwę wyświetlaną użytkownika:

    $db_display_name_column_name = "Full name"
    $db_user_principal_name_column_name = "Email"
    $db_mail_nickname_column_name = "Alias"
    

    Następnie możesz użyć tego skryptu, aby utworzyć użytkowników Microsoft Entra dla użytkowników w usługach SAP Cloud Identity Services, bazie danych lub katalogu, który nie był zgodny z użytkownikami w Microsoft Entra ID. Należy pamiętać, że może być konieczne zmodyfikowanie tego skryptu w celu dodania dodatkowych atrybutów Microsoft Entra wymaganych w organizacji lub jeśli $azuread_match_attr_name nie jest ani mailNickname, ani userPrincipalName, aby podać ten atrybut 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
       }
    }
    
  11. Po dodaniu wszystkich brakujących użytkowników do Microsoft Entra ID ponownie uruchom skrypt z kroku 7. Następnie uruchom skrypt z kroku 8. Sprawdź, czy nie zgłoszono żadnych błędów.

    $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." 
    

Upewnij się, że istniejący Microsoft Entra użytkownicy mają niezbędne atrybuty

Przed włączeniem automatycznej aprowizacji użytkowników musisz zdecydować, którzy użytkownicy w Microsoft Entra ID potrzebują dostępu do usług SAP Cloud Identity Services, a następnie należy sprawdzić, czy ci użytkownicy mają niezbędne atrybuty w Microsoft Entra ID, a te atrybuty są mapowane na oczekiwany schemat usług SAP Cloud Identity Services.

  • Domyślnie wartość atrybutu Microsoft Entra użytkownika userPrincipalName jest mapowana na atrybuty userName i emails[type eq "work"].value usług SAP Cloud Identity Services. Jeśli adresy e-mail użytkownika różnią się od głównych nazw użytkowników, może być konieczne zmianę tego mapowania.
  • Usługi SAP Cloud Identity Services mogą ignorować wartości atrybutu postalCode, jeśli format kodu pocztowego firmy nie jest zgodny z krajem lub regionem, w którym znajduje się firma.
  • Domyślnie atrybut Microsoft Entra country jest mapowany na pole SAP Cloud Identity Services addresses[type eq "work"].country. Jeśli wartości atrybutu country nie są dwuznakowymi kodami kraju ISO 3166, tworzenie tych użytkowników w usługach SAP Cloud Identity Services może zakończyć się niepowodzeniem. Aby uzyskać więcej informacji, zobacz countries.properties.
  • Domyślnie atrybut Microsoft Entra department jest mapowany na atrybut SAP Cloud Identity Services urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department. Jeśli użytkownicy Microsoft Entra mają wartości atrybutu department, te wartości muszą być zgodne z tymi działami już skonfigurowanymi w Usługach SAP Cloud Identity Services, w przeciwnym razie tworzenie lub aktualizowanie użytkownika zostanie zakończone niepowodzeniem. Aby uzyskać więcej informacji, zobacz departments.properties. Jeśli wartości department użytkowników w Microsoft Entra nie są zgodne z tymi w Twoim środowisku SAP, zaktualizuj wartości działu w Microsoft Entra, zaktualizuj dozwolone wartości działu w SAP Cloud Identity Services lub usuń mapowanie przed przypisaniem użytkowników.
  • Punkt końcowy SCIM usług SAP Cloud Identity Services wymaga określonego formatu niektórych atrybutów. Aby uzyskać więcej informacji na temat tych atrybutów i ich określonego formatu, zobacz Szczegóły atrybutu interfejsu API SCIM usług SAP Cloud Identity Services.

Przypisywanie użytkowników do aplikacji SAP Cloud Identity Services w Microsoft Entra ID

Microsoft Entra ID używa koncepcji o nazwie przypisania w celu określenia, którzy użytkownicy powinni otrzymać dostęp do wybranych aplikacji. W kontekście automatycznej aprowizacji użytkowników, jeśli wartość ustawień Scope jest Synchronizuj tylko przypisanych użytkowników i grupy, to tylko użytkownicy i grupy przypisane do roli aplikacji tej aplikacji w Microsoft Entra ID będą synchronizowane z usługami SAP Cloud Identity Services. Podczas przypisywania użytkownika do usług SAP Cloud Identity Services należy wybrać dowolną prawidłową rolę specyficzną dla aplikacji (jeśli jest dostępna) w oknie dialogowym przypisywania. Użytkownicy z rolą Dostęp domyślny są wykluczeni z aprowizacji. Obecnie jedyną dostępną rolą dla usług SAP Cloud Identity Services jest Użytkownik.

Jeśli aprowizacja aplikacji została już włączona, sprawdź, czy aprowizacja aplikacji nie jest objęta kwarantanną przed przypisaniem większej liczby użytkowników do aplikacji. Przed kontynuowaniem rozwiąż wszelkie problemy powodujące kwarantannę.

Sprawdź użytkowników, którzy są obecni w usługach SAP Cloud Identity Services i nie są jeszcze przypisani do aplikacji w Microsoft Entra ID

Poprzednie kroki oceniały, czy użytkownicy w usługach SAP Cloud Identity Services również istnieją jako użytkownicy w Microsoft Entra ID. Jednak nie wszystkie mogą być obecnie przypisane do ról aplikacji w Microsoft Entra ID. Następnym krokiem jest sprawdzenie, którzy użytkownicy nie mają przypisanych ról aplikacji.

  1. Za pomocą programu PowerShell wyszukaj identyfikator jednostki usługi dla aplikacji.

    Jeśli na przykład aplikacja dla przedsiębiorstw ma nazwę SAP Cloud Identity Services, wprowadź następujące polecenia:

    $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
    
  2. Pobierz użytkowników, którzy obecnie mają zadania przypisane do aplikacji w Microsoft Entra ID.

    Opiera się to na zmiennej $azuread_sp ustawionej w poprzednim poleceniu.

    $azuread_existing_assignments = @(Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $azuread_sp.Id -All)
    
  3. Porównaj listę identyfikatorów użytkowników już obecnych zarówno w usługach SAP Cloud Identity Services, jak i w Microsoft Entra ID, z użytkownikami obecnie przypisanymi do aplikacji w Microsoft Entra ID. Ten skrypt opiera się na zmiennej $azuread_match_id_list ustawionej w poprzednich sekcjach:

    $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."
    

    Jeśli do ról aplikacji nie przypisano żadnych użytkowników, co oznaczałoby, że wszyscy użytkownicy są przypisani do ról aplikacji, taki wynik wskazuje, że nie było żadnych użytkowników wspólnych dla Microsoft Entra ID i SAP Cloud Identity Services, więc nie trzeba wprowadzać żadnych zmian. Jeśli jednak co najmniej jeden użytkownik usługi SAP Cloud Identity Services nie jest obecnie przypisany do ról aplikacji, musisz kontynuować procedurę i dodać ich do jednej z ról aplikacji.

  4. User Pobierz identyfikator roli aplikacji z jednostki usługi, aby umożliwić przypisanie dopasowanych użytkowników do odpowiedniej roli:

    $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"}
    
  5. Utwórz przypisania ról dla użytkowników, którzy już znajdują się w usługach SAP Cloud Identity Services i Microsoft Entra, a obecnie nie mają przypisań ról do aplikacji.

    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
    }
    
  6. Poczekaj minutę na propagację zmian w Microsoft Entra ID.

  7. W następnym cyklu aprowizacji Microsoft Entra usługa aprowizacji Microsoft Entra porówna reprezentację tych użytkowników przypisanych do aplikacji z reprezentacją w usługach SAP Cloud Identity Services i zaktualizuje użytkowników usług SAP Cloud Identity Services, aby mieć atrybuty z Microsoft Entra ID.

Przypisywanie pozostałych użytkowników i monitorowanie synchronizacji początkowej

Po zakończeniu testowania użytkownik zostanie pomyślnie aprowizowany w usługach SAP Cloud Identity Services, a wszyscy istniejący użytkownicy usług SAP Cloud Identity Services zostaną przypisani do roli aplikacji, można przypisać wszystkich dodatkowych autoryzowanych użytkowników do aplikacji SAP Cloud Identity Services, wykonując jedną z instrukcji podanych tutaj:

Gdy użytkownicy zostaną przypisani do roli aplikacji i znajdują się w zakresie aprowizacji, usługa aprowizacji Microsoft Entra przydzieli ich do usług SAP Cloud Identity Services. Należy pamiętać, że synchronizacja początkowa trwa dłużej niż kolejne synchronizacje, które są wykonywane co około 40 minut, o ile usługa aprowizacji Microsoft Entra jest uruchomiona.

Jeśli nie widzisz aprowizowanych użytkowników, przejrzyj kroki w przewodniku rozwiązywania problemów dotyczących braku aprowizowanych użytkowników. Następnie sprawdź dziennik aprowizowania w dziennikach aprowizowania w Microsoft Entra lub za pomocą interfejsów API Microsoft Graph. Przefiltruj dziennik do stanu Niepowodzenie. Jeśli występują błędy z kodem błędu ErrorCode DuplicateTargetEntries, oznacza to niejednoznaczność w regułach dopasowywania aprowizacji i należy zaktualizować użytkowników Microsoft Entra lub mapowania używane do dopasowania, aby upewnić się, że każdy użytkownik Microsoft Entra był dopasowany do jednego użytkownika aplikacji. Następnie przefiltruj dziennik według akcji Utwórz i statusu Pominięto. Jeśli użytkownicy zostali pominięci przy użyciu kodu SkipReason NotEffectivelyEntitled, może to wskazywać, że konta użytkowników w Microsoft Entra ID nie były zgodne, ponieważ stan konta użytkownika był Disabled.

Konfigurowanie logowania jednokrotnego

Możesz również włączyć logowanie jednokrotne oparte na protokole SAML dla usługi SAP Cloud Identity Services, postępując zgodnie z instrukcjami podanymi w samouczku dotyczącym logowania jednokrotnego w usłudze SAP Cloud Identity Services. Logowanie jednokrotne można skonfigurować niezależnie od automatycznej aprowizacji użytkowników, chociaż te funkcje się uzupełniają.

Monitorowanie aprowizacji

Możesz użyć sekcji Synchronization Details, aby monitorować postęp i śledzić linki do raportu aktywności aprowizacji, w którym opisano wszystkie akcje wykonywane przez usługę aprowizacji Microsoft Entra w usługach SAP Cloud Identity Services. Projekt aprowizacji można również monitorować za pomocą interfejsów API Microsoft Graph.

Aby uzyskać więcej informacji na temat sposobu odczytywania dzienników aprowizacji Microsoft Entra, zobacz Reporting on automatic user account provisioning (Raportowanie automatycznej aprowizacji kont użytkowników.

Obsługa przypisań ról aplikacji

Ponieważ użytkownicy, którzy są przypisani do aplikacji, są aktualizowani w Microsoft Entra ID, te zmiany w danych użytkowników są automatycznie przenoszone do SAP Cloud Identity Services.

Jeśli masz Zarządzanie Microsoft Entra ID, możesz zautomatyzować zmiany przypisań ról aplikacji dla usług SAP Cloud Identity Services w Microsoft Entra ID, aby dodawać lub usuwać przypisania w miarę dołączania osób do organizacji lub opuszczania lub zmieniania ról.

Aktualizowanie aplikacji SAP Cloud Identity Services w celu korzystania z punktu końcowego SCIM 2.0 usług SAP Cloud Identity Services

We wrześniu 2025 r. Microsoft wypuścił łącznik SCIM 2.0 dla SAP Cloud Identity Services, który dodał wsparcie do aprowizacji i deprowizacji grup w usługach SAP Cloud Identity Services, atrybuty rozszerzenia niestandardowego oraz udzielanie poświadczeń OAuth 2.0 za pomocą autoryzacji klienta.

Wykonanie poniższych kroków umożliwi klientom, którzy wcześniej korzystali z łącznika SAP Cloud Identity Services, aby przełączyć się z punktu końcowego SCIM 1.0 do punktu końcowego SCIM 2.0.

  1. Zaloguj się do centrum administracyjne Microsoft Entra jako co najmniej Administrator aplikacji w chmurze.

  2. Przejdź do Entra ID > Enterprise Apps > SAP Cloud Identity Services.

  3. W sekcji Właściwości skopiuj identyfikator obiektu.

    Zrzut ekranu przedstawiający miejsce kopiowania identyfikatora obiektu w zakładce Właściwości łącznika SAP Cloud Identity Services.

  4. W nowym oknie przeglądarki przejdź do Microsoft Graph Explorer i zaloguj się jako administrator dzierżawy Microsoft Entra, do której dodano Twoją aplikację.

  5. Upewnij się, że używane konto ma odpowiednie uprawnienia. Aby wprowadzić tę zmianę, wymagane jest uprawnienie "Directory.ReadWrite.All".

    Zrzut ekranu przedstawiający ekran Uprawnienia w Eksploratorze programu Graph, w którym administrator wybiera opcję wyrażenia zgody na uprawnienie Directory.ReadWrite.All.

  6. Używając identyfikatora obiektu wybranego wcześniej z aplikacji, wyświetl listę istniejących zadań synchronizacji dla jednostki usługi:

GET https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs/
  1. Pobierając wartość "ID" z treści odpowiedzi na żądanie GET z poprzedniego przykładu, usuń istniejące zadanie synchronizacji, aby móc utworzyć je ponownie przy użyciu szablonu SCIM 2.0. Zastąp ciąg "[job-id]" wartością ID z GET żądania. Wartość powinna mieć format "sapcloudidentityservices.xxxxxxxxxxxxxxx.xxxxxxxxxxxxxxx".
DELETE https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs/[job-id]
  1. W eksploratorze Microsoft Graph utwórz nowe zadanie aprowizacji przy użyciu szablonu SCIM 2.0 usług SAP Cloud Identity Services. Zastąp ciąg "[object-id]" identyfikatorem jednostki usługi (identyfikatorem obiektu) skopiowanym z trzeciego kroku.
POST https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs { "templateId": "sapcloudidentityservices" }
  1. Wróć do pierwszego okna przeglądarki internetowej i wybierz kartę Aprowizacja aplikacji. Konfiguracja zostanie zresetowana. Możesz potwierdzić, że uaktualnienie zakończy się pomyślnie, potwierdzając, że identyfikator zadania rozpoczyna się od ciągu "sapcloudidentityservices".

  2. Zaktualizuj adres URL dzierżawy w sekcji Poświadczenia administratora na następujące: https://<tenantID>.accounts.ondemand.com/scim, lub https://<tenantid>.trial-accounts.ondemand.com/service/scim jeśli jest to wersja próbna.

  3. Przywróć wszelkie poprzednie zmiany wprowadzone w aplikacji w przeszłości (dane uwierzytelniające, filtry zakresu, mapowania atrybutów niestandardowych) i ponownie włącz udostępnianie zasobów.

Uwaga

Niepowodzenie w przywróceniu poprzednich ustawień może skutkować nieoczekiwanym zaktualizowaniem atrybutów, takich jak na przykład "name.formatted", w usługach SAP Cloud Identity Services. Upewnij się, że sprawdzono konfigurację przed włączeniem aprowizacji.

Changelog

Następujące zmiany zostały wprowadzone w tym łączniku:

  • 9/30/2025 — wydano do ogólnej dostępności nową wersję łącznika SAP Cloud Identity Services, który używa punktu końcowego SCIM 2.0. Nowa wersja obsługuje aprowizację grup i cofanie aprowizacji grup w usługach SAP Cloud Identity Services, niestandardowe atrybuty rozszerzeń oraz przyznawanie dostępu przez OAuth 2.0 za pomocą poświadczeń klienta.

Dodatkowe zasoby