סקירה כללית
Google Auth Library היא ספריית לקוח בקוד פתוח לאימות ב-Java. במאמר הזה מוסבר איך להשתמש בספרייה הזו כדי לבצע אימות באפליקציות Java כדי לגשת לשירותים של Google Cloud .
במדריך הזה תלמדו איך:
- מוסיפים את התלויות הנדרשות של ספריית האימות לפרויקט באמצעות Maven, Gradle או Simple Build Tool (SBT).
- אימות באמצעות שיטות שונות, עם דגש על Application Default Credentials (ADC).
- הגדרת תרחישי אימות מתקדמים, כולל איחוד שירותי אימות הזהות של עומסי עבודה, איחוד שירותי אימות הזהות של כוח העבודה והתחזות לחשבון שירות.
- ליצור ולהשתמש בטוקנים עם הרשאות מצומצמות כדי להגביל את ההרשאות.
- שילוב פרטי כניסה עם ספריות לקוח HTTP של Google.
המסמכים האלה מיועדים למפתחי Java. פרטים מלאים על ה-API זמינים במסמכי התיעוד של Google Auth Library API.
Google Auth Library for Java מורכבת מארבעה ארטיפקטים:
-
google-auth-library-credentialsמכיל מחלקות בסיסיות וממשקים לפרטי הכניסה של Google. -
google-auth-library-appengineמכיל פרטי כניסה ל-App Engine ותלוי ב-SDK של App Engine. -
google-auth-library-oauth2-httpמכיל מגוון של פרטי כניסה ושיטות עזר, כולל יכולות לקבל פרטי כניסה שמוגדרים כברירת מחדל לאפליקציה. הוא מספק גם את הגישה בצד השרת ליצירת אסימונים עם היקף הרשאות מצומצם. -
google-auth-library-cab-token-generatorמסביר איך ליצור אסימונים עם היקף מצומצם בצד הלקוח.
אימות ההגדרות האישיות של פרטי הכניסה
כשמשתמשים בהגדרות של פרטי כניסה, כמו JSON, נתיבי קבצים או סטרימינג, ממקור חיצוני, צריך לאמת אותן. אסור לספק פרטי כניסה לא מאומתים לממשקי Google API או לספריות לקוח לצורך אימות ל-Google Cloud , כי זה עלול לסכן את האבטחה של המערכות והנתונים שלכם.
מידע נוסף זמין במאמר בנושא אישורים ממקור חיצוני. Default Credentials.
ייבוא של ספריית האימות
כדי לייבא את ספריית האימות, משתמשים ב-com.google.cloud:libraries-bom או ב-Google Auth Library מפרט חומרים (BoM) עם Maven או Gradle.
ספריות Java SDK-bom
כדי לבצע אימות לספריית לקוח ב-Java SDK (לדוגמה, google-cloud-datastore) באמצעות ספריית האימות, משתמשים ב-libraries-bom, שימשוך את הגרסאות של ספריית האימות שתואמות לספריית הלקוח הזו.
לדוגמה, כדי לייבא את ספריית האימות באמצעות Maven באמצעות pom.xml:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>libraries-bom</artifactId>
<version>26.53.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
אם אתם לא משתמשים ב-libraries-bom או בספריות לקוח אחרות, ייבאו את מודולי האימות ישירות באמצעות Google Auth Library מפרט חומרים (BoM).
מפרט החומרים (BoM) של ספריית האימות של Google
אתם יכולים להשתמש ב-Google Auth Library מפרט חומרים (BoM) כדי לוודא שתואמות התלות הטרנזיטיביות הרלוונטיות והמודולים של אימות.
Maven
מוסיפים לקובץ pom.xml את הנתונים הבאים:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.auth</groupId>
<artifactId>google-auth-library-bom</artifactId>
<version>1.30.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
בקטע <dependencies>, אפשר לציין את כל מודולי האימות שנדרשים. לדוגמה, כדי לכלול את המודול google-auth-library-oauth2-http
מוסיפים את הפריט <dependency> הבא:
<dependency>
<groupId>com.google.auth</groupId>
<!-- Let the BOM manage the module and dependency versions -->
<!-- Replace with the module(s) that are needed -->
<artifactId>google-auth-library-oauth2-http</artifactId>
</dependency>
מחליפים את google-auth-library-oauth2-http בדוגמה ב-google-auth-library-credentials או ב-google-auth-library-appengine, בהתאם לצרכים של האפליקציה.
Gradle
בדומה ל-Maven, משתמשי Gradle יכולים להשתמש ב-google-auth-library-bom כדי לנהל גרסאות של יחסי תלות ולהבטיח תאימות בין המודולים השונים של