Theo mặc định, Google Cloud Search chỉ nhận dạng danh tính trên Google trong Danh mục Google Cloud. 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 những lựa chọn sau để phát triển trình kết nối nhận dạng:
Identity Connector SDK: Phù hợp nhất với lập trình viên Java. SDK là một trình bao bọc xung quanh REST API, giúp bạn nhanh chóng tạo các trình kết nối. Để sử dụng SDK, hãy xem phần Tạo trình kết nối danh tính bằng Identity Connector SDK.
API REST và thư viện API cấp thấp: Phù hợp nhất cho lập trình viên không dùng Java. Để tạo một trình kết nối danh tính bằng REST API, hãy xem API Thư mục: Tài khoản người dùng để lập bản đồ người dùng và Tài liệu về Google Cloud Identity để lập bản đồ nhóm.
Tạo trình kết nối nhận dạng bằng Identity Connector SDK
Một trình kết nối danh tính thông thường sẽ thực hiện những việc sau:
- Định cấu hình trình kết nối.
- Truy xuất người dùng từ hệ thống nhận dạng của bạn và gửi họ đến Google.
- Truy xuất các nhóm từ hệ thống nhận dạng của bạn và gửi các nhóm đó đế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 đều sử dụng một tệp cấu hình cho các tham số như mã nhận dạng kho lưu trữ.
Xác định các tham số dưới dạng các cặp khoá-giá trị, 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ả các trình kết nối. Bạn phải khai báo những nội dung 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 khoá này xác định kho lưu trữ của bạn 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 danh tính bên ngoài của bạn. Đối với việc đồng bộ hoá người dùng, hãy khai báo cảapi.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 thông số khác do Google cung cấp để ghi đè giá trị mặc định của chúng. Để biết thông tin chi tiết về cách tạo mã nhận dạng và khoá, hãy xem phần 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 khởi động 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 này có một mẫu FullSyncIdentityConnector để đồng bộ hoá tất cả người dùng và nhóm trong kho lưu trữ của bạn. Phần này giải thích cách sử dụng tính năng 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 truy cập của trình kết nối
Điểm truy cập là phương thức main(). Thao tác này sẽ tạo một phiên bản Application và gọi start() để chạy trình kết nối.
Trước khi gọi application.start(), hãy dùng IdentityApplication.Builder để tạo thực thể cho mẫu FullSyncIdentityConnector.
SDK gọi initConfig() sau khi phương thức main() của bạn gọi Application.build(). Phương thức initConfig():
- Đảm bảo rằng
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 Kho lưu trữ
Đối tượng Repository đồng bộ hoá danh tính kho lưu trữ với danh tính trên Google. Khi sử dụng một mẫu, bạn chỉ cần ghi đè một số phương thức nhất định. Đố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ả cá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 các đường dẫn CSV:
Để lấy 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 loại 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 (trong trình kết nối hướng dẫn) sử dụng phương thức getMultiValue để lấy danh sách tên kho lưu trữ trên GitHub:
Lấy thông tin liên kết cho tất cả người dùng
Ghi đè listUsers() để truy xuất các mối 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:
- Lấy mối liên kết giữa danh tính trên Google và danh tính bên ngoài.
- Đóng gói cặp này vào trình 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 mối liên kết danh tính từ tệp CSV:
Đóng gói một tệp liên kết người dùng vào một trình lặp
Phương thức listUsers() trả về một CheckpointCloseableIterable của các đối tượng IdentityUser.
Lấy 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:
- Lấy nhóm và các thành viên của nhóm.
- Đóng gói chúng vào trình lặp do
listGroups()trả về.
Nhận danh tính của nhóm
Đoạn mã này minh hoạ cách truy xuất các nhóm và thành viên từ một tệp CSV:
Đóng gói nhóm và các thành viên vào một trình lặp
Phương thức listGroups() trả về một CheckpointCloseableIterable của các đối tượng IdentityGroup.
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 một trình kết nối nội dung.