במסמך הזה מוסבר איך להגדיר איחוד שירותי אימות הזהות של כוח עבודה באמצעות ספק הזהויות (IdP) PingFederate ולנהל את הגישה אלCloud de Confiance by S3NS. אחרי שמגדירים את ספק הזהויות PingFederate, משתמשים מאוחדים יכולים לגשת לשירותים של Cloud de Confiance תומכים באיחוד שירותי אימות הזהות של כוח עבודה באמצעות פרוטוקול SAML 2.0.
לפני שמתחילים
- מוודאים שהגדרתם Cloud de Confiance ארגון.
-
מגדירים את משתנה הסביבה
GOOGLE_CLOUD_UNIVERSE_DOMAINלערךs3nsapis.fr. -
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud init
כדי להגדיר אפליקציית PingFederate שמשתמשת בפרוטוקול SAML 2.0, מבצעים את הפעולות הבאות ב-PingFederate:
- מגדירים את מזהה הישות ב-SAML 2.0 של ספק הזהויות PingFederate. פרטים נוספים זמינים במאמר בנושא ציון פרטי איחוד.
יוצרים חיבור SAML 2.0 SP, כמו שמתואר במאמר בחירת סוג חיבור SP, ומבצעים את הפעולות הבאות:
- בקטע Connection Type, בוחרים באפשרות Browser SSO Profiles (פרופילים של SSO בדפדפן) ובאפשרות SAML 2.0 protocol (פרוטוקול SAML 2.0).
- בקטע ייבוא מטא-נתונים, בוחרים באפשרות ללא.
בקטע General Info, מגדירים את Partner's Entity ID (Connection ID) לערך הבא:
https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_IDבקטע SAML Profiles (פרופילי SAML), מפעילים את האפשרות SP-initiated SSO (כניסה יחידה שאותחלה על ידי ספק השירות). אם אתם מתכננים להשתמש גם בכניסה יחידה (SSO) בהפעלת IdP, אתם יכולים להפעיל אותה גם כן.
בקטע Attribute Contract (חוזה מאפיינים), מגדירים מאפיינים מותאמים אישית (לדוגמה, אימייל וקבוצות) שיועברו בהצהרה. אפשר להשתמש במאפיינים האלה ב- Cloud de Confiance כדי ליצור בהמשך כללי מדיניות לניהול הרשאות גישה.
בקטע Attribute Contract Fulfillment (מילוי חוזה מאפיינים), מוודאים שהמאפיין
SAML_SUBJECTממופה לשדה שיש לו ערך ייחודי לכל משתמש. לדוגמה, כתובת אימייל היא בדרך כלל ייחודית לכל משתמש, לא משתנה ולעתים קרובות משמשת להפניה למשתמש ספציפי במדיניות של Cloud de Confiance ניהול גישה.כדי להגדיר כניסה לחשבון במסוף (המאוחד), מוסיפים את כתובת ה-URL הבאה של נקודת הקצה בשדה Assertion Consumer Service URL:
https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_IDמחליפים את מה שכתוב בשדות הבאים:
-
WORKFORCE_POOL_ID: המזהה של מאגר כוח העבודה שיצרתם קודם. -
WORKFORCE_PROVIDER_ID: המזהה של ספק כוח העבודה שתיצרו בהמשך.
-
מגדירים את Binding (קישור) לנקודת הקצה הזו ל-POST.
כדי להפעיל כניסה לחשבון במסוף (איחוד), בקטע Allowable SAML Bindings בוחרים באפשרות Redirect.
בקטע Signature Policy (מדיניות חתימה), בוחרים באפשרות Sign Response As Required (חתימה על תגובה לפי הצורך).
שומרים ומפעילים את החיבור.
כדי להגדיר את אפליקציית SAML:
gcloud
כדי ליצור את הספק של מאגר הזהויות של כוח העבודה ב-SAML, מריצים את הפקודה הבאה:
gcloud iam workforce-pools providers create-saml WORKFORCE_PROVIDER_ID \ --workforce-pool="WORKFORCE_POOL_ID" \ --display-name="DISPLAY_NAME" \ --description="DESCRIPTION" \ --idp-metadata-path="XML_METADATA_PATH" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --location=globalמחליפים את מה שכתוב בשדות הבאים:
-
WORKFORCE_PROVIDER_ID: מזהה הספק. WORKFORCE_POOL_ID: המזהה של מאגר הזהויות של כוח העבודה.-
DISPLAY_NAME: שם מוצג. -
DESCRIPTION: תיאור. -
XML_METADATA_PATH: הנתיב לקובץ המטא-נתונים בפורמט XML מ-PingFederate. -
ATTRIBUTE_MAPPING: מיפוי המאפיינים. לדוגמה,google.subject=assertion.subject,google.groups=assertion.attributes.groups,attribute.department=assertion.attributes.department[0]. -
ATTRIBUTE_CONDITION: תנאי למאפיין (לא חובה). לדוגמה, כדי להגביל את המאפייןipaddrלטווח מסוים של כתובות IP, אפשר ליצור את התנאיassertion.ipaddr.startsWith('98.11.12.').
הפקודה הזו מקצה את
subject, groupsו-departmentבטענת הנכונות (assertion) של SAML למאפייניםgoogle.subject, google.groupsו-attribute.departmentבהתאמה. בנוסף, באמצעות התנאי למאפיין אפשר להבטיח שרק משתמשים בטווח מסוים של כתובות IP יוכלו להיכנס באמצעות ספק הזהויות הזה לכוח העבודה.המסוף
כדי להגדיר את פלאגין שמתממשק עם שירותים חיצוניים של SAML באמצעות המסוף Cloud de Confiance , בצע את הפעולות הבאות:
- במסוף Cloud de Confiance , עוברים לדף Workforce Identity Pools: מעבר אל Workforce Identity Pools
- בטבלה Workforce Identity Pools, בוחרים את המאגר שרוצים ליצור עבורו את הספק.
- בקטע ספקים, לוחצים על הוספת ספק.
- ברשימה Select a Provider vendor (בחירת ספק), בוחרים באפשרות Generic Identity Provider (ספק זהויות כללי).
- בקטע Select an authentication protocol, בוחרים באפשרות SAML.
- בקטע Create a provider, מבצעים את הפעולות הבאות:
- בשדה Name, מזינים שם לספק.
- בקטע IDP metadata file (XML) (קובץ מטא-נתונים של ספק הזהויות (XML)), בוחרים את קובץ ה-XML של המטא-נתונים מ-PingFederate.
- לוחצים על Continue.
- בקטע שיתוף פרטי הספק, לוחצים על המשך.
בקטע Configure provider (הגדרת ספק), מבצעים את הפעולות הבאות:
- בשדה Attribute mapping (מיפוי מאפיינים), מזינים ביטוי CEL עבור
google.subject(לדוגמה,assertion.subject). אופציונלי: כדי להזין מיפויים אחרים, לוחצים על הוספת מיפוי ומזינים מיפויים אחרים – לדוגמה:
google.subject=assertion.subject, google.groups=assertion.attributes['https://example.com/aliases'], attribute.costcenter=assertion.attributes.costcenter[0]
- בשדה Attribute mapping (מיפוי מאפיינים), מזינים ביטוי CEL עבור
כדי להפעיל רישום מפורט ביומן הביקורת, בקטע רישום מפורט, לוחצים על המתג הפעלת רישום ביומן הביקורת של ערכי מאפיינים.
כדי ליצור את הספק, לוחצים על שליחה.
-
-
TEST_PROJECT_ID: מזהה הפרויקט. WORKFORCE_POOL_ID: המזהה של מאגר הזהויות של כוח העבודה.-
DEPARTMENT_VALUE: הערך הממופה שלattribute.department. -
TEST_PROJECT_ID: מזהה הפרויקט. WORKFORCE_POOL_ID: המזהה של מאגר הזהויות של כוח העבודה.-
GROUP_ID: קבוצה בהצהרה הממופהgoogle.groups. -
עוברים לדף הכניסה של המסוף (איחוד).
-
מזינים את שם הספק בפורמט הבא:
locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
כשמוצגת בקשה, מזינים את פרטי הכניסה ל-PingFederate. -
WORKFORCE_POOL_ID: המזהה של מאגר הזהויות של כוח העבודה. -
WORKFORCE_PROVIDER_ID: המזהה של ספק איחוד שירותי אימות הזהות של כוח העבודה. -
LOGIN_CONFIG_PATH: הנתיב שבו ייכתב קובץ התצורה להתחברות. לדוגמה,login-config.json. -
מגדירים את משתנה הסביבה
CLOUDSDK_AUTH_LOGIN_CONFIG_FILEלנתיב של קובץ התצורה להתחברות. -
מריצים את הפקודה הבאה:
gcloud auth login
- ה-CLI של gcloud מפנה למשתנה הסביבה כדי למצוא את קובץ התצורה של הכניסה, ואז מתחיל את תהליך האימות. פועלים בהתאם להליך שבדפדפן כדי לאמת את ה-CLI של gcloud ולאשר לו גישה למשאבים בשמכם עבור פקודות עתידיות.
-
מגדירים את המאפיין
auth/login_config_fileשל ההגדרות האישיות הפעילות של ה-CLI של gcloud לנתיב של קובץ התצורה לכניסה באמצעות הפקודה הבאה:gcloud config set auth/login_config_file LOGIN_CONFIG_PATH
-
מריצים את הפקודה הבאה:
gcloud auth login
- ה-CLI של gcloud מפנה למאפיין ההגדרות כדי למצוא את קובץ ההגדרות של הכניסה, ואז מתחיל את תהליך האימות. פועלים בהתאם להליך שבדפדפן כדי לאמת את ה-CLI של gcloud ולאשר לו גישה למשאבים בשמכם עבור פקודות עתידיות.
-
אם השתמשתם בדגל
--activateכשייצרתם את קובץ התצורה לכניסה, מריצים את הפקודה הבאה:gcloud auth login
-
אם לא השתמשתם בדגל
--activateכשייצרתם את קובץ התצורה לכניסה, מריצים את הפקודה הבאה:Linux ו-macOS
gcloud auth login \ --login-config=LOGIN_CONFIG_PATH
Windows (PowerShell)
gcloud auth login ` --login-config=LOGIN_CONFIG_PATH
מחליפים את LOGIN_CONFIG_PATH בנתיב של קובץ התצורה להתחברות.
- נכנסים עם חשבון משתמש לאפליקציית PingFederate ומקבלים את התגובה ב-SAML.
- שומרים את התשובה של SAML שמוחזרת על ידי PingFederate במיקום מאובטח במכונה המקומית. מאחסנים את הנתיב במשתנה סביבה – לדוגמה:
SAML_ASSERTION_PATH=/path/to/assertion.xml. יוצרים קובץ תצורה:
gcloud iam workforce-pools create-cred-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \ --subject-token-type=urn:ietf:params:oauth:token-type:saml2 \ --credential-source-file=SAML_ASSERTION_PATH \ --workforce-pool-user-project=PROJECT_ID \ --output-file=config.jsonמחליפים את מה שכתוב בשדות הבאים:
-
SAML_ASSERTION_PATH: הנתיב לקובץ של טענת הנכונות ב-SAML. -
PROJECT_ID: מזהה הפרויקט.
-
קובץ התצורה שייווצר יהיה דומה לזה:
{ "type": "external_account", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "subject_token_type": "urn:ietf:params:oauth:token-type:saml2", "token_url": "https://sts.googleapis.com/v1/token", "credential_source": { "file": "SAML_ASSERTION_PATH" }, "workforce_pool_user_project": "PROJECT_ID" }כדי להיכנס ל-CLI של gcloud באמצעות החלפת אסימונים, מריצים את הפקודה הבאה:
gcloud auth login --cred-file=config.jsonלאחר מכן,
gcloudמעביר בשקיפות את פרטי הכניסה ב-PingFederate לאסימוני גישה זמניים Cloud de Confiance , כדי שתוכלו לבצע קריאותgcloudאחרות ל- Cloud de Confiance. הפלט אמור להיראות כך:Authenticated with external account user credentials for: [principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/USER_ID].כדי להציג את החשבונות עם פרטי הכניסה ואת החשבון הפעיל, מריצים את הפקודה הבאה:
gcloud auth list- נכנסים לדף Cloud Storage.
- מוודאים שאפשר לראות את רשימת הקטגוריות הקיימות של הפרויקט
TEST_PROJECT_ID. - מחיקה של המשתמשים באיחוד שירותי אימות הזהות של כוח העבודה והנתונים שלהם.
- מידע על מוצרי Cloud de Confiance Google Cloud שתומכים באיחוד שירותי אימות הזהות של כוח העבודה.
- הגדרת גישה של משתמשים למסוף (מאוחד)
שימוש במאפיינים
בקטע הזה מוסבר איך להשתמש במאפיינים מטענת הנכונות (assertion) של SAML.
משתמשים בחוזי מאפיינים כדי לציין את המאפיינים המותאמים אישית בטענות הנכונות (assertions) של SAML שנוצרות. אחרי שמגדירים מאפיינים, אפשר להשתמש בהם Cloud de Confiance by S3NS כדי ליצור כללי מדיניות לניהול הרשאות גישה. מידע נוסף על חוזי מאפיינים זמין במאמר Attribute contracts (חוזי מאפיינים) במסמכי התיעוד של שרת PingFederate.
לדוגמה, במדריך הזה אנחנו משתמשים ב-PingOne כמאגר הנתונים של PingFederate וממפים את חוזי המאפיינים email, firstName ו-groups באמצעות מאפייני המשתמש ממאגר הנתונים של PingOne, באופן הבא:
| מאפיין חוזה | ערך |
|---|---|
email |
email |
firstName |
name.given |
groups |
memberOfGroupIDs |
יצירת ספק זהויות של מאגר כוח העבודה ב-PingFederate
בקטע הזה מוסבר איך ליצור ספק מאגר זהויות של כוח עבודה כדי לאפשר למשתמשים בספק הזהויות שלכם לגשת אל Cloud de Confiance. אפשר להגדיר את הספק לשימוש בפרוטוקול SAML.
יצירת ספק של מאגר זהויות של כוח עבודה ב-SAML 2.0
ניהול הגישה למשאבים Cloud de Confiance
בקטע הזה מוסבר איך לנהל גישה ל Cloud de Confiance משאבים למשתמשי PingFederate.
הפרויקט לדוגמה שמופיע במדריך הזה יכול להיות שונה מהפרויקט שבו השתמשתם כדי להגדיר את איחוד שירותי אימות הזהות של כוח העבודה.
אפשר לנהל תפקידים לזהויות בודדות, לקבוצת זהויות או למאגר שלם. מידע נוסף מופיע במאמר מזהים של חשבונות משתמשים בכוח העבודה בכללי מדיניות הרשאה.
שימוש במאפיינים של מחלקה ממופה
כדי להקצות את התפקיד Storage Admin (roles/storage.admin) לכל הזהויות במחלקה ספציפית בפרויקט TEST_PROJECT_ID, מריצים את הפקודה הבאה:
gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
--role="roles/storage.admin" \
--member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/attribute.department/DEPARTMENT_VALUE"
מחליפים את מה שכתוב בשדות הבאים:
שימוש בקבוצות ממופות
כדי להקצות את התפקיד Storage Admin (roles/storage.admin) לכל הזהויות בקבוצה GROUP_ID בפרויקט TEST_PROJECT_ID, מריצים את הפקודה הבאה:
gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
--role="roles/storage.admin" \
--member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"
מחליפים את מה שכתוב בשדות הבאים:
כניסה לחשבון ובדיקת גישה
בקטע הזה נכנסים כמשתמש של מאגר הזהויות של כוח העבודה ובודקים את הגישה.
כניסה
כניסה לחשבון במסוף (איחוד)
כדי להיכנס למסוף Cloud de Confiance by S3NS איחוד שירותי אימות הזהות של כוח עבודה, שנקרא גם המסוף (מאוחד), מבצעים את הפעולות הבאות:
כניסה באמצעות הדפדפן ל-CLI של gcloud
כדי להיכנס ל-CLI של gcloud באמצעות הדפדפן:
מריצים את הפקודה הבאה כדי ליצור קובץ תצורה לכניסה:
Linux ו-macOS
gcloud iam workforce-pools create-login-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \ --output-file=LOGIN_CONFIG_PATH
Windows (PowerShell)
gcloud iam workforce-pools create-login-config ` locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID ` --output-file=LOGIN_CONFIG_PATH
gcloud auth login כדי לתת הרשאה ל-CLI של gcloud בלי לציין את הנתיב של קובץ הגדרות הכניסה בכל פעם.
מחליפים את מה שכתוב בשדות הבאים:
קובץ הגדרות הכניסה מכיל את נקודות הקצה (endpoints) שבהן ה-CLI של gcloud משתמש כדי להפעיל את תהליך האימות בדפדפן ולהגדיר את הקהל לספק הזהויות שהוגדר במאגר הזהויות של כוח העבודה. הקובץ לא מכיל מידע סודי.
התוכן של קובץ התצורה לכניסה נראה כך:
{ "universe_domain": "s3nsapis.fr", "universe_cloud_web_domain": "cloud.s3nscloud.fr", "type": "external_account_authorized_user_login_config", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "auth_url": "https://auth.cloud.s3nscloud.fr/authorize", "token_url": "https://sts.s3nsapis.fr/v1/oauthtoken", "token_info_url": "https://sts.s3nsapis.fr/v1/introspect" }
מפנים לקובץ התצורה לכניסה באמצעות משתנה סביבה, מאפיין בהגדרות האישיות הפעילות של ה-CLI של gcloud, או משתמשים בו ישירות באמצעות הפקודה gcloud auth login:
משתנה הסביבה
כדי להשתמש בקובץ התצורה שמשמש לכניסה באמצעות משתנה סביבה, מבצעים את ההוראות הבאות:
כדי להפסיק להשתמש בקובץ התצורה שמשמש לכניסה לפקודות gcloud auth login, מוחקים את משתנה הסביבה CLOUDSDK_AUTH_LOGIN_CONFIG_FILE.
ההגדרות האישיות של ה-CLI של gcloud
כדי להשתמש בקובץ התצורה שמשמש לכניסה עם מאפיין תצורה של ה-CLI של gcloud:
כדי להפסיק להשתמש בקובץ התצורה שמשמש לכניסה לפקודות gcloud auth login, מבטלים את הגדרת המאפיין באמצעות הפקודה הבאה:
gcloud config unset auth/login_config_file
gcloud auth login
כדי להשתמש ישירות בקובץ התצורה לכניסה באמצעות הפקודה gcloud auth login, פועלים לפי ההוראות הבאות:
הפקודה gcloud auth login שומרת את פרטי הכניסה לגישה בספריית הבית. המשתמש המאומת הופך למשתמש הפעיל בהגדרות האישיות הפעילות של ה-CLI של gcloud. אלא אם משנים את ברירת המחדל, ה-CLI של gcloud משתמש בפרטי הכניסה המאוחסנים האלה כדי לגשת אל Cloud de Confiance by S3NS.
כניסה באמצעות דפדפן ללא GUI ל-CLI של gcloud
כדי להיכנס ל-PingFederate באמצעות ה-CLI של gcloud באמצעות פרוטוקול SAML, מבצעים את הפעולות הבאות:
בדיקת גישה
יש לכם גישה לשירותים שתומכים באיחוד שירותי אימות הזהות של כוח העבודה, ושאליהם ניתנה לכם גישה. Cloud de Confiance מוקדם יותר במדריך הזה הקציתם את התפקיד Storage Admin לכל הזהויות במחלקה או בקבוצה ספציפית בפרויקט TEST_PROJECT_ID. כדי לבדוק אם יש לכם גישה, אתם יכולים להציג את הרשימה של הקטגוריות של Cloud Storage.
כניסה לחשבון במסוף (איחוד)
כדי לאמת את הגישה במסוף (איחוד), מבצעים את הפעולות הבאות:
CLI של gcloud
כדי לראות את הקטגוריות והאובייקטים של Cloud Storage בפרויקט שיש אליו גישה, מריצים את הפקודה הבאה:
gcloud alpha storage ls --project="TEST_PROJECT_ID"
לחשבון המשתמש צריכה להיות ההרשאה serviceusage.services.use בפרויקט שהוגדר בסשן של ה-CLI של gcloud: PROJECT_ID.