ניהול פרופילי אימות
יכול להיות שהמשימות ב-Application Integration ידרשו חיבור לאפליקציה חיצונית, לשירות או למקור נתונים. פרופיל אימות מאפשר לכם להגדיר ולאחסן את פרטי האימות של החיבור ב-Application Integration. אפשר להגדיר את המשימה כך שתשתמש בפרופיל האימות המאוחסן. יצירת פרופיל אימות היא פעולה חד-פעמית, ואפשר להשתמש באותו פרופיל בכמה שילובים.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לניהול פרופילי אימות, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בשילוב:
- Application Integration Admin (
roles/integrations.integrationAdmin) -
יוצרים פרופילים של אימות:
Application Integration Editor (
roles/integrations.integrationEditor) -
עריכת פרופילי אימות:
Application Integration Editor (
roles/integrations.integrationEditor) -
מחיקת פרופילי אימות:
Application Integration Admin (
roles/integrations.integrationAdmin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
יצירת מזהה לקוח ב-OAuth 2.0
מזהה הלקוח משמש לזיהוי של אפליקציה אחת בשרתי OAuth של Google. אם האפליקציה פועלת בכמה פלטפורמות, לכל אחת מהן צריך להיות מזהה לקוח משלה. כדי להשתמש ב-OAuth 2.0 באפליקציה, צריך מזהה לקוח ב-OAuth 2.0, שהאפליקציה משתמשת בו כשמבקשים אסימון גישה ב-OAuth 2.0.
כדי ליצור מזהה לקוח OAuth 2.0, מבצעים את השלבים הבאים:
- במסוף Google Cloud , עוברים אל APIs & Services > Credentials.
- לוחצים על + Create Credentials (יצירת פרטי כניסה) ובוחרים באפשרות OAuth client ID (מזהה לקוח OAuth) מתוך רשימת האפשרויות הזמינות.
מופיע הדף Create OAuth client ID (יצירת מזהה לקוח OAuth).
- סוג האפליקציה: בוחרים באפשרות אפליקציית אינטרנט מהרשימה הנפתחת.
- שם: מזינים שם ללקוח OAuth 2.0 כדי לזהות את הלקוח במסוף Cloud.
- בקטע Authorized redirect URIs (כתובות URI מורשות להפניה אוטומטית), לוחצים על +Add URI (הוספת כתובת URI) ומזינים את הפרטים הבאים:
https://console.cloud.google.com/integrations/callback/locations/AUTH_PROFILE_REGION
- לוחצים על יצירה.
מזהה לקוח ב-OAuth 2.0 נוצר בהצלחה.
יצירת פרופיל אימות חדש
כדי ליצור פרופיל אימות חדש, בוחרים באחת מהאפשרויות הבאות:
המסוף
- נכנסים לדף Application Integration במסוף Google Cloud .
- בתפריט הניווט, לוחצים על Auth Profiles (פרופילי הרשאה).
- לוחצים על יצירה ומזינים את הפרטים הבאים:
- בשדה שם הפרופיל, מזינים את השם של פרופיל האימות שיוצג בכלי לעריכת שילובים.
- מהרשימה אזור, בוחרים אזור לפרופיל האימות.
- בשדה Description (תיאור), מזינים תיאור לפרופיל האימות.
- לוחצים על Continue.
- ברשימה סוג האימות, בוחרים את סוג האימות ומזינים את הפרטים הנדרשים. בהתאם לבחירה שלכם, בתיבת הדו-שיח יוצגו שדות נוספים שנדרשים לפרטי האימות. אפשר לבחור כל אחד מסוגי האימות הבאים:
- אפשר גם להוסיף אישורי לקוח לשרת בחיבור SSL/TLS שהשרת משתמש בהם כדי לאמת את הזהות של הלקוח. אפשר להזין את השדה הבא:
- אישור SSL
- מפתח פרטי
- ביטוי סיסמה למפתח פרטי
האזור שבוחרים כאן צריך להיות זהה ל-
AUTH_PROFILE_REGIONשבו השתמשתם בכתובות ה-URI המורשות להפניה אוטומטית כשיצרתם את מזהה הלקוח של OAuth 2.0. - לוחצים על יצירה.
יופיע הדף Authentication Profiles (פרופילי אימות).
Terraform
משתמשים במשאב google_integrations_client.
אפשר להשתמש ב-Terraform כדי ליצור את פרופילי האימות הבאים:
- טוקן אימות
- אישור לקוח לשרת בחיבור SSL/TLS בלבד
- טוקן רשת מבוסס JSON (JWT)
- קוד הרשאה של OAuth 2.0
- פרטי כניסה של לקוח OAuth 2.0
- אסימון מזהה של OIDC
- חשבון שירות
טוקן אימות
בדוגמה הבאה נוצר סוג אימות של אסימון הרשאה באזור us-central1:
אישור לקוח לשרת בחיבור SSL/TLS
בדוגמה הבאה נוצר סוג אימות של אישור לקוח לשרת בחיבור SSL/TLS באזור us-central1:
טוקן רשת מבוסס JSON (JWT)
בדוגמה הבאה נוצר סוג אימות של JSON Web Token (JWT) באזור us-central1:
קוד הרשאה של OAuth 2.0
בדוגמה הבאה נוצר סוג אימות של אישור לקוח לשרת בחיבור SSL/TLS באזור us-central1:
פרטי כניסה של לקוח OAuth 2.0
בדוגמה הבאה נוצר סוג אימות של פרטי כניסה של לקוח OAuth 2.0 באזור us-central1:
אסימון מזהה של Google OIDC
בדוגמה הבאה נוצר סוג אימות של אסימון מזהה OIDC של Google באזור us-central1:
resource "random_id" "default" {
byte_length = 8
}
resource "google_service_account" "service_account" {
account_id = "sa-${random_id.default.hex}"
display_name = "Service Account"
}
resource "google_integrations_auth_config" "auth_config_oidc_token" {
location = "us-central1"
display_name = "tf-oidc-token"
description = "Test auth config created via terraform"
decrypted_credential {
credential_type = "OIDC_TOKEN"
oidc_token {
service_account_email = google_service_account.service_account.email
audience = "https://us-central1-project.cloudfunctions.net/functionA 1234987819200.apps.googleusercontent.com"
}
}
depends_on = [google_service_account.service_account, google_integrations_client.client]
}
חשבון שירות
בדוגמה הבאה נוצר סוג אימות של חשבון שירות באזור us-central1:
resource "random_id" "default" {
byte_length = 8
}
resource "google_service_account" "service_account" {
account_id = "sa-${random_id.default.hex}"
display_name = "Service Account"
}
resource "google_integrations_auth_config" "auth_config_service_account" {
location = "us-central1"
display_name = "tf-service-account"
description = "Test auth config created via terraform"
decrypted_credential {
credential_type = "SERVICE_ACCOUNT"
service_account_credentials {
service_account = google_service_account.service_account.email
scope = "https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/adexchange.buyer https://www.googleapis.com/auth/admob.readonly"
}
}
depends_on = [google_service_account.service_account, google_integrations_client.client]
}
אחרי השמירה, פרופיל האימות החדש יהיה זמין כאפשרות בתפריט הנפתח פרופיל ההרשאה לשימוש של כל משימה שדורשת אימות.
אופציונלי. אם לא יצרתם פרופיל אימות לפני הגדרת משימת שילוב, תוכלו לגשת לתיבת הדו-שיח ליצירת פרופיל על ידי בחירה באפשרות + הוספת פרופיל אימות חדש מהתפריט הנפתח פרופיל ההרשאה לשימוש בחלונית הגדרת המשימה. פועלים לפי השלבים הקודמים כדי ליצור פרופיל אימות חדש.
עריכת פרופילי אימות
כדי לערוך פרופיל אימות:
- נכנסים לדף Application Integration במסוף Google Cloud .
- בתפריט הניווט, לוחצים על Auth Profiles (פרופילי הרשאה).
- בתפריט הנפתח בדף פרופילי אימות, בוחרים אזור לפרופיל האימות.
- לוחצים על (תפריט הפעולות) ואז על עריכה.
מופיעה תיבת הדו-שיח Authentication Profiles (פרופילי אימות).
- עורכים את הפרטים ולוחצים על שמירה.
יופיע הדף Authentication Profiles (פרופילי אימות).
כשעורכים פרופיל אימות, חשוב להביא בחשבון את הנקודות הבאות:
- אם עורכים פרופיל אימות שמשמש משימה בשילוב בטיוטה, צריך לפרסם את השילוב כדי שהשינויים ייכנסו לתוקף. כשבודקים שילוב בטיוטה, עדיין נעשה שימוש בפרופיל האימות מהגרסה האחרונה שפורסמה.
- אם משימה בשילוב עם מנגנון ניסיון חוזר משתמשת בפרופיל אימות, צריך לפרסם את השילוב אחרי עדכון הפרופיל כדי לוודא שהמשימה משתמשת בפרופיל המעודכן.
מחיקת פרופילי אימות
כדי למחוק פרופיל אימות:
- נכנסים לדף Application Integration במסוף Google Cloud .
- בתפריט הניווט, לוחצים על Auth Profiles (פרופילי הרשאה).
- בתפריט הנפתח בדף פרופילי אימות, בוחרים אזור לפרופיל האימות.
- לוחצים על Delete.
יופיע הדף Authentication Profiles (פרופילי אימות).
סוגי אימות
סוג האימות שנדרש להשלמת משימת שילוב תלוי באימות שהוגדר בשרת ההרשאות. שרת ההרשאות יכול להיות שרת עצמאי או API שמנפיק פרטי כניסה ללקוח שמבצע את הקריאה. Application Integration תומך בסוגי האימות הבאים:
- טוקן אימות
- אסימון מזהה של Google OIDC
- טוקן רשת מבוסס JSON (JWT)
- קוד הרשאה של OAuth 2.0
- פרטי כניסה של לקוח OAuth 2.0
- פרטי כניסה של סיסמה לבעלי משאבים ב-OAuth 2.0
- אישור לקוח לשרת בחיבור SSL/TLS בלבד
- חשבון שירות
בקטעים הבאים מתוארים מאפייני ההגדרה של סוגי האימות.
טוקן אימות
סוג האימות Auth token משתמש בטוקן (פרטי כניסה) לצורך אימות. פרטי הכניסה נשלחים לשרת בכותרת הבקשה של HTTPAuthorization בפורמט Authorization: TYPE CREDENTIALS. כדי להגדיר את סוג האימות הזה, מגדירים את המאפיינים הבאים:
- Type: סוג האימות, כמו
Basic,BearerאוMAC. - Token: פרטי הכניסה לסוג האימות.
אם שרת האימות דורש אישור SSL/TLS, מעלים את האישור ואת המפתח הפרטי.
כדי לדעת אילו משימות תומכות בסוג האימות הזה, אפשר לעיין במאמר תאימות של סוגי אימות למשימות.אסימון מזהה של Google OIDC
סוג האימות Google OIDC ID Token משתמש באסימוני אינטרנט מסוג JSON (JWT) לאימות. ספק ה-OpenID Connect (OIDC) של Google, accounts.google.com, חותם על אסימוני ה-JWT האלה ומנפיק אותם לצורך אימות באמצעות חשבון שירות. כדי להגדיר את סוג האימות הזה, מגדירים את המאפיינים הבאים:- חשבון שירות: חשבון שירות (principal) בפרויקט Google Cloud עם הרשאה לגשת ל-API.
- קהל: הקהל של אסימון ה-OIDC (המזהה של הנמענים שאליהם מיועד ה-JWT). לדוגמה, Trigger URL הוא הקהל של המשימה Cloud Function.
אסימון JWT (JSON Web Token)
סוג האימות JWT משתמש באסימון אינטרנט מסוג JSON (JWT) לאימות. מידע נוסף על JWT זמין ב-RFC7519. כדי להגדיר את סוג האימות הזה, מגדירים את המאפיינים הבאים:- כותרת JWT: האלגוריתם ששימש ליצירת החתימה.
הערה: אפשר לציין רק את אלגוריתם HS256.
- מטען ייעודי (payload) של JWT: קבוצה של הצהרות. אפשר להשתמש בתביעות רשומות, ציבוריות או מותאמות אישית.
- סוד: מפתח משותף בין הלקוח לשרת האימות.
אם שרת האימות דורש אישור SSL, מעלים את האישור ואת המפתח הפרטי באמצעות כלי לבחירת קבצים. מזינים את ביוטי הסיסמה של המפתח הפרטי .
כדי לדעת אילו משימות תומכות בסוג האימות הזה, אפשר לעיין במאמר תאימות של סוגי אימות למשימות.קוד הרשאה של OAuth 2.0
סוג האימות קוד הרשאה של OAuth 2.0 משתמש באסימון הרשאה של OAuth 2.0 לצורך אימות. כדי להגדיר את סוג האימות הזה, צריך להגדיר את המאפיינים הבאים:
- נקודת קצה לאימות: נקודת הקצה של האפליקציה לאימות. תופנו לכתובת ה-URL הזו כדי לבדוק את הרשאות הגישה של האפליקציה. הטוקן ייווצר רק אחרי שתוענק גישה.
- נקודת הקצה של הטוקן: נקודת הקצה שמעניקה או מרעננת את טוקן הגישה.
- Client ID: מחרוזת ייחודית ששרת האימות מספק ללקוח הרשום. מזהה הלקוח הוא לא סוד, והוא חשוף לבעלים של המשאב. צריך להשתמש בשדה הזה יחד עם סוד הלקוח.
- סוד: מפתח סודי משותף בין הלקוח (השילוב) לבין שרת האימות.
- היקף הרשאות: היקף ההרשאות של טוקן הגישה. היקפים מאפשרים לכם לציין הרשאות גישה למשתמשים. אפשר לציין כמה היקפי הרשאות שמופרדים ברווח אחד (" "). למידע נוסף, אפשר לעיין במאמר בנושא היקפי הרשאות של OAuth 2.0 ל-Google APIs.
אם שרת האימות דורש אישור SSL, מעלים את האישור ואת המפתח הפרטי באמצעות כלי לבחירת קבצים. אם נדרש, מזינים את ביטוי הסיסמה של המפתח הפרטי בשדה הזמין.
כדי לדעת אילו משימות תומכות בסוג האימות הזה, אפשר לעיין במאמר תאימות של סוגי אימות למשימות.פרטי כניסה של לקוח ב-OAuth 2.0
סוג האימות פרטי כניסה של לקוח OAuth 2.0 משתמש באסימון הרשאה OAuth 2.0 לצורך אימות. באימות הזה, קודם מבקשים אסימון גישה באמצעות פרטי הכניסה של הלקוח, ואז משתמשים באסימון כדי לגשת למשאבים המוגנים. כדי להגדיר את סוג האימות הזה, צריך להגדיר את המאפיינים הבאים:
- נקודת הקצה של הטוקן: נקודת הקצה שמעניקה או מרעננת את טוקן הגישה.
- Client ID: מחרוזת ייחודית ששרת האימות מספק ללקוח הרשום. מזהה הלקוח הוא לא סוד, והוא חשוף לבעלים של המשאב. בשדה הזה צריך להזין את מפתח הלקוח.
- סוד: מפתח סודי משותף בין הלקוח (השילוב) לבין שרת האימות.
- היקף/היקפים: היקף טוקן הגישה. היקפים מאפשרים לכם לציין הרשאות גישה למשתמשים. אפשר לציין כמה היקפי הרשאות שמופרדים ברווח אחד (" "). למידע נוסף, אפשר לעיין במאמר בנושא היקפי הרשאות של OAuth 2.0 ל-Google APIs.
- סוגי בקשות: מנגנונים לשליחת פרמטרי הבקשה לשרת האימות כדי לאחזר את אסימון הגישה. אפשר לציין כל אחד מסוגי הבקשות הבאים:
- כותרת המקודד: מקודדת את
CLIENT IDואתCLIENT SECRETבפורמטBase64ושולחת את המחרוזת המקודדת בכותרת ההרשאה של HTTP. שאר פרמטרים הבקשה נשלחים בגוף בקשת ה-HTTP. - פרמטרים של שאילתה: הפרמטרים של הבקשה נשלחים במחרוזת שאילתה.
- גוף הבקשה: הפרמטרים של הבקשה נשלחים באמצעות סוג התוכן
application/x-www-form-urlencodedוערכת התוויםUTF-8ב-entity-bodyשל בקשת ה-HTTP. - לא צוין
- כותרת המקודד: מקודדת את
- פרמטרים של טוקן: פרמטרים של בקשה שנדרשים כדי לקבל את הטוקן. מציינים את הערכים בפורמט של צמדי מפתח-ערך, כאשר
Keyהוא שם הפרמטר ו-Valueהוא ערך הפרמטר התואם.
אם שרת האימות דורש אישור SSL, מעלים את האישור ואת המפתח הפרטי באמצעות כלי לבחירת קבצים. אם נדרש, מזינים את סיסמת המפתח הפרטי בשדה הזמין.
כדי לדעת אילו משימות תומכות בסוג האימות הזה, אפשר לעיין במאמר תאימות של סוגי אימות למשימות.פרטי כניסה של סיסמה של בעל משאב ב-OAuth 2.0
סוג האימות OAuth 2.0 resource owner password credentials משתמש באסימון הרשאה OAuth 2.0 לצורך אימות. באימות הזה, קודם מבקשים אסימון גישה באמצעות פרטי הכניסה של בעל המשאב (שם משתמש וסיסמה), ואז משתמשים באסימון כדי לגשת למשאבים המוגנים. כדי להגדיר את סוג האימות הזה, מגדירים את המאפיינים הבאים בהתאם לסוג המכונה שאליה מתחברים:
- נקודת הקצה של הטוקן: נקודת הקצה שמעניקה או מרעננת את טוקן הגישה.
- Client ID: מחרוזת ייחודית ששרת האימות מספק ללקוח הרשום. מזהה הלקוח הוא לא סוד, והוא חשוף לבעלים של המשאב. בשדה הזה צריך להזין את מפתח הלקוח.
- סוד: מפתח סודי משותף בין הלקוח (השילוב) לבין שרת האימות.
- היקף/היקפים: היקף טוקן הגישה. היקפים מאפשרים לכם לציין הרשאות גישה למשתמשים. אפשר לציין כמה היקפי הרשאות שמופרדים ברווח אחד (" "). למידע נוסף, אפשר לעיין במאמר בנושא היקפי הרשאות של OAuth 2.0 ל-Google APIs.
- שם משתמש: שם המשתמש של בעל המשאב.
- סיסמה: סיסמת המשתמש.
- סוגי בקשות: מנגנונים לשליחת פרמטרי הבקשה לשרת האימות כדי לאחזר את אסימון הגישה. אפשר לציין כל אחד מסוגי הבקשות הבאים:
- כותרת המקודד: מקודדת את
CLIENT IDואתCLIENT SECRETבפורמטBase64ושולחת את המחרוזת המקודדת בכותרת ההרשאה של HTTP. שולח את שאר פרמטרים הבקשה בגוף בקשת ה-HTTP. - פרמטרים של שאילתה: הפרמטרים של הבקשה נשלחים במחרוזת שאילתה.
- גוף הבקשה: הפרמטרים של הבקשה נשלחים באמצעות סוג התוכן
application/x-www-form-urlencodedוערכת התוויםUTF-8ב-entity-bodyשל בקשת ה-HTTP.
- כותרת המקודד: מקודדת את
- פרמטרים של טוקן: פרמטרים של בקשה שנדרשים כדי לקבל את הטוקן. מציינים את הערכים בפורמט של צמדי מפתח-ערך, כאשר
Keyהוא שם הפרמטר ו-Valueהוא ערך הפרמטר התואם.
אם שרת האימות דורש אישור SSL, מעלים את האישור ואת המפתח הפרטי באמצעות כלי לבחירת קבצים. אם נדרש, מזינים את סיסמת המפתח הפרטי בשדה הזמין.
כדי לדעת אילו משימות תומכות בסוג האימות הזה, אפשר לעיין במאמר תאימות של סוגי אימות למשימות.אישור לקוח לשרת בחיבור SSL/TLS בלבד
סוג האימות אישור לקוח לשרת בחיבור SSL/TLS בלבד משתמש רק באישור SSL/TLS לאימות. מעלים את האישור הנדרש ואת המפתח הפרטי. כדי להגדיר את סוג האימות הזה, מעלים את הקבצים הבאים:- אישור SSL: אישור מקודד בפורמט PEM.
- מפתח פרטי: קובץ המפתח הפרטי של האישור, מקודד בפורמט PEM.
אם המפתח הפרטי דורש
passphrase, מזינים את הסיסמה של המפתח הפרטי.
חשבון שירות
סוג האימות חשבון שירות משתמש בפרטי הכניסה של חשבון השירות שלGoogle Cloud הפרויקט לצורך האימות. כדי להגדיר את סוג האימות הזה, צריך להגדיר את המאפיינים הבאים:
- חשבון שירות: חשבון שירות (ישות מורשית) בפרויקט בענן שלכם ב-Google Cloud עם הרשאות לגשת ל-API.
- היקפי הרשאות: היקף הרשאות הגישה שניתנו למשתמשים. אפשר לציין כמה היקפי הרשאות, מופרדים ברווח אחד (" "). למידע נוסף, אפשר לעיין במאמר היקפי הרשאות של OAuth 2.0 ל-Google APIs.
כדי לקרוא על שיטות מומלצות ליצירה ולניהול של חשבונות שירות, אפשר לעיין במאמר שיטות מומלצות לעבודה עם חשבונות שירות.
אם שרת האימות דורש אישור SSL, מעלים את האישור ואת המפתח הפרטי באמצעות כלי לבחירת קבצים. אם נדרש, מזינים את ביטוי הסיסמה של המפתח הפרטי בשדה הזמין.
כדי לדעת אילו משימות תומכות בסוג האימות הזה, אפשר לעיין במאמר תאימות של סוגי אימות למשימות.תאימות של סוגי אימות למשימות
בטבלה הבאה מפורטים סוגי האימות והמשימות התואמות להם. אפשר להשתמש במידע הזה כדי להחליט באיזה סוג אימות להשתמש למשימה.
כללי אימות
אם בשילוב שלכם מוגדרים גם פרופיל OAuth 2.0 וגם חשבון שירות בניהול המשתמש, כברירת מחדל נעשה שימוש בפרופיל OAuth 2.0 לאימות. אם לא מוגדר פרופיל OAuth 2.0 ולא מוגדר חשבון שירות בניהול המשתמש, נעשה שימוש בחשבון השירות שמוגדר כברירת מחדל (service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com). אם המשימה לא משתמשת בחשבון השירות שמוגדר כברירת מחדל, ההרצה נכשלת.