Domyślnie Google Cloud Search rozpoznaje tylko tożsamości Google zapisane w Google Cloud Directory (użytkownicy i grupy). Oprogramowanie sprzęgające tożsamości umożliwia: synchronizować tożsamości Twojej firmy z tożsamościami Google używanymi w Google Cloud Search.
Google udostępnia te opcje tworzenia łączników tożsamości:
Identity Connector SDK. Ta opcja jest przeznaczona dla programistów, w języku programowania Java. Pakiet Identity Connector SDK to kod wokół interfejsu API REST, co pozwala szybko tworzyć oprogramowanie sprzęgające. Aby utworzyć oprogramowania sprzęgającego tożsamości za pomocą pakietu SDK znajdziesz w dokumentacji, która opisuje Utwórz oprogramowanie sprzęgające tożsamości za pomocą pakietu Identity Connector SDK.
Niskopoziomowy interfejs API typu REST i biblioteki API. Te opcje są przeznaczone dla programistów, którzy mogą nie programować w Javie lub których baza kodu lepiej pasuje interfejs API typu REST lub biblioteka. Aby utworzyć oprogramowanie sprzęgające tożsamości za pomocą interfejsu API REST, zapoznaj się z artykułem do Directory API: Konta użytkowników dla informacji na temat użytkowników map Dokumentacja Cloud Identity dla informacje o grupach mapowania.
Tworzenie oprogramowania sprzęgającego tożsamości za pomocą pakietu Identity Connector SDK
Typowy łącznik tożsamości wykonuje te zadania:
- Skonfiguruj oprogramowanie sprzęgające.
- Pobierz wszystkich użytkowników z systemu tożsamości firmy i wyślij ich do Google do synchronizacji z tożsamościami Google.
- Pobierz wszystkie grupy z systemu tożsamości firmy i wyślij je do Google do synchronizacji z tożsamościami Google.
Skonfiguruj zależności
Aby korzystać z pakietu SDK, musisz w pliku kompilacji uwzględnić określone zależności. Kliknij na karcie poniżej, aby wyświetlić zależności dla środowiska kompilacji:
Maven
<dependency>
<groupId>com.google.enterprise.cloudsearch</groupId>
<artifactId>google-cloudsearch-identity-connector-sdk</artifactId>
<version>v1-0.0.3</version>
</dependency>
Gradle
compile group: 'com.google.enterprise.cloudsearch',
name: 'google-cloudsearch-identity-connector-sdk',
version: 'v1-0.0.3'
Tworzenie konfiguracji oprogramowania sprzęgającego
Każde oprogramowanie sprzęgające ma plik konfiguracji zawierający parametry używane przez
takie jak identyfikator repozytorium. Parametry są zdefiniowane jako
par klucz-wartość, takich jak
api.sourceId=1234567890abcdef
Pakiet SDK Google Cloud Search zawiera kilka konfiguracji dostarczonych przez Google parametrów używanych przez wszystkie oprogramowanie sprzęgające. Musisz zadeklarować: Parametry dostarczone przez Google w pliku konfiguracyjnym:
- W przypadku łącznika treści musisz zadeklarować
api.sourceId
iapi.serviceAccountPrivateKeyFile
, ponieważ te parametry identyfikują lokalizację. i klucza prywatnego potrzebnego do uzyskania dostępu do repozytorium.
- W przypadku łącznika tożsamości musisz zadeklarować
api.identitySourceId
jako określa lokalizację zewnętrznego źródła tożsamości. Jeśli jesteś synchronizujesz użytkowników, musisz też zadeklarowaćapi.customerId
jako unikalny identyfikator dla konto Google Workspace Twojej firmy.
O ile nie chcesz zastąpić wartości domyślnych innych ustawień nie musisz deklarować ich w pliku konfiguracji. Dodatkowe informacje na temat parametrów konfiguracji dostarczonych przez Google, takich jak jak generować identyfikatory i klucze, zapoznaj się z artykułem Parametry konfiguracji udostępnione przez Google.
Możesz też zdefiniować własne parametry repozytorium do wykorzystania w .
Przekaż plik konfiguracji do oprogramowania sprzęgającego
Ustaw właściwość systemową config
, aby przekazywać plik konfiguracji do
. Możesz ustawić właściwość za pomocą argumentu -D
podczas uruchamiania
i łącznika danych. Na przykład poniższe polecenie uruchamia oprogramowanie sprzęgające
za pomocą pliku konfiguracji MyConfig.properties
:
java -classpath myconnector.jar;... -Dconfig=MyConfig.properties MyConnector
Jeśli brakuje tego argumentu, pakiet SDK próbuje uzyskać dostęp do konfiguracji domyślnej.
plik o nazwie connector-config.properties
.
Utwórz oprogramowanie sprzęgające tożsamości w pełnej synchronizacji za pomocą klasy szablonu
Pakiet Identity Connector SDK zawiera klasę szablonu FullSyncIdentityConnector
możesz używać do synchronizowania wszystkich użytkowników i grup z tożsamości
z tożsamościami Google. W tej sekcji wyjaśniono, jak korzystać z funkcji
Szablon FullSyncIdentityConnector
umożliwiający przeprowadzenie pełnej synchronizacji użytkowników i grup na podstawie tożsamości innej niż Google
z repozytorium.
Ta sekcja dokumentacji odnosi się do fragmentów kodu z
IdentityConnecorSample.java
próbka. Ten przykład odczytuje dane użytkownika i grupy
Tożsamości z dwóch plików CSV i synchronizuje je z tożsamościami Google.
Wdróż punkt wejścia oprogramowania sprzęgającego
Punktem wejścia oprogramowania sprzęgającego jest
Metoda main()
. Głównym zadaniem tej metody jest utworzenie instancji
Application
i wywołaj jej klasę
start()
do uruchomienia oprogramowania sprzęgającego.
Zanim zadzwonisz
application.start()
,
użyj
IdentityApplication.Builder
klasy do utworzenia instancji
Szablon FullSyncIdentityConnector
. FullSyncIdentityConnector
akceptuje
Repository
.
, którego metody zastosujesz.
Fragment kodu, który pokazuje, jak wdrożyć metodę main()
:
W tle pakiet SDK wywołuje metodę
initConfig()
po wywołaniu metody main()
oprogramowania sprzęgającego
Application.build
Metoda initConfig()
wykonuje te zadania:
- Wywołuje funkcję
Configuation.isInitialized()
aby zapewnić, żeConfiguration
nie została zainicjowana. - Inicjuje obiekt
Configuration
przy użyciu pary klucz-wartość dostarczonej przez Google pary. Każda para klucz-wartość jest przechowywana w plikuConfigValue
w obiekcieConfiguration
.
Wdrażanie interfejsu Repository
Jedynym celem obiektu Repository
jest wykonywanie
synchronizację tożsamości repozytoriów z tożsamościami Google. W przypadku użycia funkcji
przez szablon, musisz zastąpić tylko określone metody w
Repository
, aby utworzyć łącznik tożsamości. W przypadku wartości
FullTraversalConnector
, prawdopodobnie zastąpisz te metody:
init()
. Aby wykonać konfigurację i zainicjowanie repozytorium tożsamości, zastąp metody init().listUsers()
. Aby zsynchronizować wszystkich użytkowników w repozytorium tożsamości z użytkownikami Google, zastąp metodęlistUsers()
.listGroups()
. Aby zsynchronizować wszystkie grupy w repozytorium tożsamości z Grupami dyskusyjnymi Google: zastąpić metodęlistGroups()
.(opcjonalnie) Parametr
close()
. Jeśli chcesz wyczyścić repozytorium, zastąpclose()
. Ta metoda jest wywoływana raz podczas wyłączania oprogramowania sprzęgającego.
Pobierz niestandardowe parametry konfiguracji
W ramach konfiguracji oprogramowania sprzęgającego musisz pobrać
parametrów niestandardowych z parametru
Configuration
obiektu. To zadanie jest zwykle wykonywane
Repository
zajęcia
init()
.
Klasa Configuration
ma kilka metod uzyskiwania różnych typów danych
z konfiguracji. Każda metoda zwraca błąd
ConfigValue
obiektu. Następnie użyjesz metody obiektu ConfigValue
get()
.
do pobrania rzeczywistej wartości.
Ten fragment kodu pokazuje, jak pobrać userMappingCsvPath
i
Wartość groupMappingCsvPath
z obiektu Configuration
:
Aby pobrać i przeanalizować parametr zawierający kilka wartości, użyj jednej z funkcji
parsery typów klasy Configuration
do analizowania danych na części.
Ten fragment kodu z oprogramowania sprzęgającego samouczka używa parametru
getMultiValue
, aby uzyskać listę nazw repozytoriów GitHub:
Pobierz mapowanie dla wszystkich użytkowników
Zastąp
listUsers()
w celu pobrania mapowania wszystkich użytkowników z repozytorium tożsamości.
Metoda listUsers()
akceptuje punkt kontrolny reprezentujący ostatnią tożsamość, która ma być
zsynchronizowano. Za jego pomocą można wznowić synchronizację, jeśli proces
przerwano. W przypadku każdego użytkownika w repozytorium wykonasz te czynności w
metoda listUsers()
:
- Pobierz mapowanie składające się z tożsamości Google i powiązanych elementów zewnętrznych tożsamości.
- Zapakuj parę do iteratora zwróconego przez metodę
listUsers()
.
Pobieranie mapowania użytkownika
Ten fragment kodu pokazuje, jak pobrać mapowania tożsamości zapisane w pliku CSV:
Pakowanie mapowania użytkownika w iterator
listUsers()
zwraca Iterator
, a konkretnie
CheckpointCloseableIterable
,
z
IdentityUser
obiektów. Za pomocą
CheckpointClosableIterableImpl.Builder
do utworzenia i zwrócenia iteracji. Fragment kodu poniżej pokazuje,
i spakować każde mapowanie w listę. Na jego podstawie powstanie iterator.
lista:
Pobierz grupę
Zastąp
listGroups()
aby pobrać wszystkie grupy i ich członków z Twojej tożsamości
z repozytorium. Metoda listGroups()
akceptuje punkt kontrolny reprezentujący ostatnie
tożsamość do synchronizacji. Można go użyć do wznowienia synchronizacji, jeśli
może zostać przerwany. Dla każdego użytkownika w repozytorium wykonasz te czynności
kroki metody listGroups()
:
- Pobierz grupę i jej członków.
- Umieść każdą grupę i członków w iteratorze zwróconym przez
Metoda
listGroups()
.
Pobieranie tożsamości grupy
Poniższy fragment kodu pokazuje, jak pobrać grupy i członków zapisane w pliku CSV:
Umieszczanie grupy i członków w iteratorze
listGroups()
zwraca Iterator
, a konkretnie
CheckpointCloseableIterable
,
z
IdentityGroup
obiektów.
Za pomocą
CheckpointClosableIterableImpl.Builder
do utworzenia i zwrócenia iteracji. Fragment kodu poniżej pokazuje,
łączenie każdej grupy i członków w listę, a następnie stworzenie iteratora na podstawie tej listy
lista:
Następne kroki
Oto kilka kolejnych kroków, które możesz podjąć:
- (opcjonalnie) Zaimplementuj funkcję close(). do zwolnienia zasobów przed wyłączeniem.
- (Opcjonalnie) Utwórz oprogramowanie sprzęgające treści za pomocą pakietu Content Connector SDK.