Theo mặc định, Google Cloud Search chỉ nhận dạng các danh tính Google trong Google Cloud Directory. Hãy sử dụng trình kết nối danh tính để đồng bộ hoá danh tính doanh nghiệp với danh tính Google mà Cloud Search sử dụng.
Google cung cấp các lựa chọn sau đây để phát triển trình kết nối danh tính:
SDK trình kết nối danh tính: Phù hợp nhất cho lập trình viên Java. SDK là một trình bao bọc xung quanh API REST, cho phép bạn nhanh chóng tạo trình kết nối. Để sử dụng SDK, hãy xem bài viết Tạo trình kết nối danh tính bằng SDK trình kết nối danh tính.
API REST cấp thấp và thư viện API: Phù hợp nhất cho lập trình viên không phải Java. Để tạo trình kết nối danh tính bằng API REST, hãy xem API Directory: Tài khoản người dùng để liên kết người dùng và tài liệu về Google Cloud Identity để liên kết nhóm.
Tạo trình kết nối danh tính bằng SDK trình kết nối danh tính
Một trình kết nối danh tính thông thường thực hiện các tác vụ sau:
- Định cấu hình trình kết nối.
- Truy xuất người dùng từ hệ thống danh tính của bạn và gửi họ đến Google.
- Truy xuất nhóm từ hệ thống danh tính của bạn và gửi họ đến Google.
Thiết lập phần phụ thuộc
Đưa các phần phụ thuộc này vào tệp bản dựng.
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'
Tạo cấu hình trình kết nối
Mỗi trình kết nối sử dụng một tệp cấu hình cho các tham số như mã kho lưu trữ.
Xác định các tham số dưới dạng khoá-giá trị cặp, chẳng hạn như
api.sourceId=1234567890abcdef.
SDK Google Cloud Search bao gồm các tham số do Google cung cấp cho tất cả trình kết nối. Bạn phải khai báo những tham số sau trong tệp cấu hình:
- Trình kết nối nội dung: Khai báo
api.sourceIdvàapi.serviceAccountPrivateKeyFile. Các tham số này xác định kho lưu trữ và khoá riêng tư cần thiết để truy cập.
- Trình kết nối danh tính: Khai báo
api.identitySourceIdđể xác định nguồn nhận dạng bên ngoài. Đối với việc đồng bộ hoá người dùng, hãy khai báoapi.customerId(mã nhận dạng duy nhất cho tài khoản Google Workspace của bạn).
Chỉ khai báo các tham số khác do Google cung cấp để ghi đè giá trị mặc định của các tham số đó. Để biết thông tin chi tiết về cách tạo mã nhận dạng và khoá, hãy xem Các tham số do Google cung cấp.
Bạn cũng có thể xác định các tham số dành riêng cho kho lưu trữ trong tệp cấu hình.
Truyền tệp cấu hình đến trình kết nối
Đặt thuộc tính hệ thống config để truyền tệp cấu hình. Sử dụng đối số -D khi bắt đầu trình kết nối. Ví dụ:
java -classpath myconnector.jar -Dconfig=MyConfig.properties MyConnector
Nếu bạn bỏ qua đối số này, SDK sẽ cố gắng sử dụng một tệp có tên là connector-config.properties trong thư mục cục bộ.
Tạo trình kết nối danh tính đồng bộ hoá đầy đủ bằng lớp mẫu
SDK bao gồm một mẫu FullSyncIdentityConnector để đồng bộ hoá tất cả người dùng và nhóm từ kho lưu trữ của bạn. Phần này giải thích cách sử dụng mẫu này.
Phần này đề cập đến mã từ mẫu IdentityConnectorSample.java, đọc danh tính từ tệp CSV.
Triển khai điểm nhập trình kết nối
Điểm nhập là phương thức main(). Phương thức này tạo một
Application
thực thể và gọi
start()
để chạy trình kết nối.
Trước khi gọi application.start(), hãy sử dụng
IdentityApplication.Builder
để tạo thực thể mẫu FullSyncIdentityConnector.
SDK gọi initConfig() sau khi phương thức main() gọi Application.build(). Phương thức initConfig():
- Đảm bảo
Configurationchưa được khởi chạy. - Khởi chạy đối tượng
Configurationbằng các cặp khoá-giá trị do Google cung cấp.
Triển khai giao diện Repository
Đối tượng Repository đồng bộ hoá danh tính kho lưu trữ với danh tính Google. Khi sử dụng mẫu, bạn chỉ cần ghi đè một số phương thức. Đối với FullSyncIdentityConnector, hãy ghi đè các phương thức sau:
init(): Để thiết lập và khởi chạy.listUsers(): Để đồng bộ hoá tất cả người dùng.listGroups(): Để đồng bộ hoá tất cả nhóm.- (Không bắt buộc)
close(): Để dọn dẹp trong quá trình tắt.
Nhận các tham số cấu hình tuỳ chỉnh
Truy xuất các tham số tuỳ chỉnh từ đối tượng Configuration, thường là trong phương thức init(). Đoạn mã sau đây cho biết cách truy xuất đường dẫn CSV:
Để nhận và phân tích cú pháp một tham số chứa nhiều giá trị, hãy sử dụng một trong các trình phân tích cú pháp kiểu của lớp Configuration để phân tích cú pháp dữ liệu thành các khối riêng biệt.
Đoạn mã sau đây, từ trình kết nối hướng dẫn, sử dụng
getMultiValue
phương thức để lấy danh sách tên kho lưu trữ GitHub:
Nhận thông tin liên kết cho tất cả người dùng
Ghi đè listUsers() để truy xuất thông tin liên kết người dùng. Phương thức này chấp nhận một điểm kiểm tra để tiếp tục đồng bộ hoá nếu bị gián đoạn. Đối với mỗi người dùng:
- Nhận thông tin liên kết giữa danh tính Google và danh tính bên ngoài.
- Đóng gói cặp này vào trình vòng lặp do
listUsers()trả về.
Nhận thông tin liên kết người dùng
Đoạn mã này minh hoạ cách truy xuất thông tin liên kết danh tính từ tệp CSV:
Đóng gói thông tin liên kết người dùng vào một trình vòng lặp
Phương thức listUsers() trả về một
CheckpointCloseableIterable
của
IdentityUser
đối tượng.
Nhận một nhóm
Ghi đè listGroups() để truy xuất các nhóm và thành viên của nhóm. Phương thức này chấp nhận một điểm kiểm tra. Đối với mỗi nhóm:
- Nhận nhóm và thành viên của nhóm.
- Đóng gói nhóm và thành viên vào trình vòng lặp do
listGroups()trả về.
Nhận danh tính nhóm
Đoạn mã này minh hoạ cách truy xuất các nhóm và thành viên từ tệp CSV:
Đóng gói nhóm và thành viên vào một trình vòng lặp
Phương thức listGroups() trả về một CheckpointCloseableIterable của
IdentityGroup
đối tượng.
Các bước tiếp theo
- (Không bắt buộc) Triển khai
close()để giải phóng tài nguyên. - (Không bắt buộc) Tạo trình kết nối nội dung.