Domyślnie Google Cloud Search rozpoznaje tylko tożsamości Google przechowywane w Google Cloud Directory (użytkownicy i grupy). Oprogramowanie sprzęgające tożsamości służy do synchronizowania tożsamości firmy z tożsamościami Google używanymi przez Google Cloud Search.
Google udostępnia te opcje tworzenia łączników tożsamości:
Identity Connector SDK. Ta opcja jest przeznaczona dla programistów programujących w języku Java. Identity Connector SDK to pakiet obejmujący interfejs API REST, który umożliwia szybkie tworzenie oprogramowania sprzęgającego. Aby utworzyć oprogramowanie sprzęgające tożsamości za pomocą pakietu SDK, zapoznaj się z informacjami na temat tworzenia oprogramowania sprzęgającego tożsamości przy użyciu pakietu SDK Identity Connector.
Niskopoziomowy interfejs API typu REST i biblioteki API. Te opcje są przeznaczone dla programistów, którzy niekoniecznie programują w Javie lub których baza kodu lepiej pasuje do interfejsu API typu REST bądź biblioteki. Aby utworzyć oprogramowanie sprzęgające tożsamości za pomocą interfejsu API REST, informacje o mapowaniu użytkowników znajdziesz w artykule Directory API: Konta użytkowników, a w dokumentacji Cloud Identity (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 firmowych i wyślij ich do Google, aby zsynchronizować je z tożsamościami Google.
- Pobierz wszystkie grupy z systemu tożsamości firmowych i wyślij je do Google, aby zsynchronizować je 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 kartę poniżej, aby wyświetlić zależności dotyczące ś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 oprogramowanie sprzęgające, takie jak identyfikator repozytorium. Parametry są zdefiniowane w postaci par klucz-wartość, np. api.sourceId=1234567890abcdef
.
Pakiet Google Cloud Search SDK zawiera kilka parametrów konfiguracyjnych dostarczanych przez Google, które są używane przez wszystkie oprogramowanie sprzęgające. W pliku konfiguracji musisz zadeklarować te parametry dostarczone przez Google:
- W przypadku oprogramowania sprzęgającego treści musisz zadeklarować
api.sourceId
iapi.serviceAccountPrivateKeyFile
, ponieważ te parametry identyfikują lokalizację repozytorium i klucz prywatny potrzebny do uzyskania dostępu do repozytorium.
- W przypadku oprogramowania sprzęgającego tożsamości musisz zadeklarować
api.identitySourceId
, ponieważ ten parametr określa lokalizację zewnętrznego źródła tożsamości. Jeśli synchronizujesz użytkowników, musisz też zadeklarowaćapi.customerId
jako unikalny identyfikator konta Google Workspace Twojej firmy.
Jeśli nie chcesz zastąpić wartości domyślnych innych parametrów dostarczonych przez Google, nie musisz deklarować ich w pliku konfiguracji. Więcej informacji o parametrach konfiguracji dostarczonych przez Google, na przykład o generowaniu określonych identyfikatorów i kluczy, znajdziesz w artykule o parametrach konfiguracyjnych udostępnionych przez Google.
Możesz też zdefiniować własne parametry repozytorium do wykorzystania w pliku konfiguracji.
Przekaż plik konfiguracji do oprogramowania sprzęgającego
Ustaw właściwość systemową config
, aby przekazać plik konfiguracji do łącznika. Możesz ustawić właściwość za pomocą argumentu -D
podczas uruchamiania oprogramowania sprzęgającego. Na przykład poniższe polecenie uruchamia oprogramowanie sprzęgające z plikiem konfiguracji MyConfig.properties
:
java -classpath myconnector.jar;... -Dconfig=MyConfig.properties MyConnector
Jeśli brakuje tego argumentu, pakiet SDK próbuje uzyskać dostęp do domyślnego pliku konfiguracji 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
, której możesz używać do synchronizowania wszystkich użytkowników i grup z repozytorium tożsamości z tożsamościami Google. Ta sekcja wyjaśnia, jak przy użyciu szablonu FullSyncIdentityConnector
przeprowadzić pełną synchronizację kont użytkowników i grup z repozytorium tożsamości innego niż Google.
Ta sekcja dokumentacji dotyczy fragmentów kodu z przykładu IdentityConnecorSample.java
. Ten przykład pozwala odczytać tożsamości użytkowników i grup z 2 plików CSV i synchronizuje je z tożsamościami Google.
Wdróż punkt wejścia oprogramowania sprzęgającego
Punktem wejścia do oprogramowania sprzęgającego jest metoda main()
. Podstawowym zadaniem tej metody jest utworzenie instancji klasy Application
i wywołanie jej metody start()
w celu uruchomienia oprogramowania sprzęgającego.
Zanim wywołasz application.start()
, użyj klasy IdentityApplication.Builder
, aby utworzyć instancję szablonu FullSyncIdentityConnector
. FullSyncIdentityConnector
akceptuje obiekt Repository
, którego metody wdrożysz.
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 metodę
Configuation.isInitialized()
, aby upewnić się, że metodaConfiguration
nie została zainicjowana. - Inicjuje obiekt
Configuration
z parami klucz-wartość dostarczonymi przez Google. Każda para klucz-wartość jest przechowywana w obiekcieConfigValue
w obiekcieConfiguration
.
Wdrażanie interfejsu Repository
Jedynym celem obiektu Repository
jest synchronizacja tożsamości repozytorium z tożsamościami Google. Jeśli używasz szablonu, musisz zastąpić tylko niektóre metody w interfejsie Repository
, aby utworzyć łącznik tożsamości. W przypadku metody FullTraversalConnector
prawdopodobnie zastąpisz te metody:
Metoda
init()
. Aby skonfigurować i zainicjować dowolne repozytorium tożsamości, zastąp metodę `init().Metoda
listUsers()
. Aby zsynchronizować wszystkich użytkowników w repozytorium tożsamości z użytkownikami Google, zastąp metodęlistUsers()
.Metoda
listGroups()
. Aby zsynchronizować wszystkie grupy w repozytorium tożsamości z Grupami dyskusyjnymi Google, zastąp metodęlistGroups()
.(opcjonalnie) Metoda
close()
. Jeśli chcesz wyczyścić repozytorium, zastąp metodęclose()
. 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ć wszelkie parametry niestandardowe z obiektu Configuration
. To zadanie jest zwykle wykonywane w metodzie klasy Repository
init()
.
Klasa Configuration
ma kilka metod pobierania różnych typów danych z konfiguracji. Każda metoda zwraca obiekt ConfigValue
. Następnie użyj metody get()
obiektu ConfigValue
, aby pobrać rzeczywistą wartość.
Ten fragment kodu pokazuje, jak pobrać wartości userMappingCsvPath
i groupMappingCsvPath
z obiektu Configuration
:
Aby pobrać i przeanalizować parametr zawierający kilka wartości, użyj jednego z parserów typów klasy Configuration
do przeanalizowania danych na dyskretne fragmenty.
Ten fragment kodu z oprogramowania sprzęgającego samouczka używa metody getMultiValue
do pobrania listy nazw repozytoriów GitHub:
Pobierz mapowanie dla wszystkich użytkowników
Zastąp listUsers()
, aby pobrać mapowanie wszystkich użytkowników z repozytorium tożsamości. Metoda listUsers()
akceptuje punkt kontrolny reprezentujący ostatnią tożsamość do synchronizacji. Za pomocą punktu kontrolnego można wznowić synchronizację w przypadku przerwania procesu. W przypadku każdego użytkownika w repozytorium wykonaj te czynności w metodzie listUsers()
:
- Pobierz mapowanie składające się z tożsamości Google i powiązanej tożsamości zewnętrznej.
- 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
Metoda listUsers()
zwraca Iterator
, a w szczególności CheckpointCloseableIterable
obiektów IdentityUser
. Za pomocą klasy CheckpointClosableIterableImpl.Builder
możesz utworzyć i zwrócić iterator. Ten fragment kodu pokazuje, jak spakować każde mapowanie w formie listy i na podstawie tej listy utworzyć iterator:
Pobierz grupę
Zastąp listGroups()
, aby pobrać wszystkie grupy i ich członków z repozytorium tożsamości. Metoda listGroups()
akceptuje punkt kontrolny reprezentujący ostatnią tożsamość do zsynchronizowania. Za jego pomocą możesz wznowić synchronizację w przypadku przerwania procesu. W metodzie listGroups()
w przypadku każdego użytkownika w repozytorium wykonaj te czynności:
- Pobierz grupę i jej członków.
- Umieść każdą grupę i członków w iteratorze zwracanym przez metodę
listGroups()
.
Pobieranie tożsamości grupy
Ten fragment kodu pokazuje, jak pobrać grupy i członków przechowywane w pliku CSV:
Umieszczanie grupy i członków w iteratorze
Metoda listGroups()
zwraca Iterator
, a w szczególności CheckpointCloseableIterable
obiektów IdentityGroup
.
Za pomocą klasy CheckpointClosableIterableImpl.Builder
możesz utworzyć i zwrócić iterator. Poniższy fragment kodu pokazuje, jak spakować każdą grupę i członków w listę oraz utworzyć na jej podstawie iterator:
Dalsze kroki
Oto kilka kolejnych kroków, które możesz podjąć:
- (Opcjonalnie) Zaimplementuj metodę close(), aby zwolnić zasoby przed wyłączeniem.
- (Opcjonalnie) Utwórz oprogramowanie sprzęgające treści za pomocą pakietu Content Connector SDK.