כמו בכל Google Cloud המוצרים, Identity and Access Management (ניהול זהויות והרשאות גישה, IAM) מגן על Cloud Deploy על ידי שליטה בפעולות שמשתמשים מאומתים וחשבונות שירות יכולים לבצע.
במאמר הזה מתוארים חלק מהתכונות של IAM, ומופיעות בו הוראות להגנה על משלוחי האפליקציות שמנוהלים באמצעות Cloud Deploy. ריכזנו כאן כמה דרכים ספציפיות להגבלת הגישה לפעולות ולמשאבים ב-Cloud Deploy:
לפני שמתחילים
כדאי לקרוא ולהבין את המושגים הבסיסיים של IAM.
מידע על תכונות מתקדמות של IAM
בנוסף לתפקידים ולהרשאות, Cloud Deploy משתמש בתכונות הבאות של IAM כדי לספק את אמצעי הבקרה האלה:
מידע על מדיניות IAM
מדיניות IAM היא אוסף של קישורים ומטא-נתונים. קישור התפקיד מעניק תפקיד יחיד לחשבון משתמש אחד או יותר (משתמשים, קבוצות או חשבונות שירות), וגם תנאים תלויי הקשר ספציפיים שקובעים אם הקישור ייכנס לתוקף.
מידע נוסף על מדיניות IAM מופיע במאמר הסבר על מדיניות.
מידע על תנאים ב-IAM
באמצעות תנאי IAM, אתם יכולים לשלוט בגישה למשאבים ולפעולות ב-Cloud Deploy על סמך תנאים שמחושבים בזמן ריצה. לדוגמה, אתם יכולים להגביל את המבצע לקהל יעד מסוים כך שהוא יהיה זמין רק במהלך חלון זמן ספציפי.
מידע על מאפייני API
כשיוצרים תנאים ב-IAM, אפשר להפנות אל מאפייני API כדי לקבל מידע בזמן ריצה על בקשה. לדוגמה, אפשר להשתמש במאפיין API כדי לקבל את שם המשאב שאליו מתייחסת הבקשה. אחר כך אפשר להשוות אותו למשאב או למשאבים שיש לישות הגישה הרשאה לגשת אליהם.
הענקת גישה ברמת פירוט גבוהה באמצעות תכונות מתקדמות של IAM
תכונות ה-IAM המתקדמות האלה מאפשרות לכם לשלוט בגישה למשאבים ספציפיים ולסוגי משאבים בתנאים מסוימים.
התהליכים שמתוארים בקטע הזה מעניקים גישה למשאבים ספציפיים (יעדים, צינורות עיבוד נתונים להעברה). אפשר גם לתת גישה ברמת הפרויקט, שתשפיע על כל צינורות ההפצה או על כל יעדי הפרויקט. כדי להגדיר מדיניות IAM לפרויקט, משתמשים בפקודה gcloud projects set-iam-policy:
gcloud projects set-iam-policy PROJECT_ID POLICY_FILE
מתן גישה לצינור עיבוד נתונים ספציפי
אתם יכולים להעניק הרשאות לחשבון משתמש ליצור, לשנות ולמחוק את כל צינורות ההפצה, פשוט על ידי הקצאת תפקיד מתאים. אבל לפעמים יכול להיות שתרצו להעניק לישות הראשית גישה לפייפליין ספציפי אחד או יותר.
כדי לעשות זאת, משתמשים בקישורי תפקידים כדי לקשר את התפקיד roles/clouddeploy.developer לחשבון המשתמש, ואז כשמחילים את המדיניות (עם setIamPolicy) מציינים לאיזה צינור העברה מוענקת הגישה.
כדי להעניק גישה לצינור עיבוד נתונים ספציפי לפריסה:
יוצרים קובץ מדיניות עם הקישור הבא:
bindings: - role: roles/clouddeploy.developer members: - user:fatima@example.comבדוגמה שלמעלה, התפקיד מוענק למשתמש, אבל אפשר גם להעניק אותו לקבוצה או לחשבון שירות.
מריצים את הפקודה הבאה כדי להחיל את קובץ המדיניות על צינור העברת נתונים ספציפי:
gcloud deploy delivery-pipelines set-iam-policy --delivery-pipeline=PIPELINE_NAME --region=REGION POLICY_FILE
מתן גישה להגדרת יעד ספציפי
כדי להעניק לחשבון משתמש גישה ליעד ספציפי, אפשר להשתמש בקישורים של תפקידים. כדי לעשות את זה, צריך לקשר את התפקיד roles/clouddeploy.operator לחשבון המשתמש הזה, ואז כשמחילים את המדיניות (עם setIamPolicy) מציינים לאיזה יעד ניתנת הגישה.
גישה ליעד ספציפי מאפשרת לגורם המורשה לעדכן ולמחוק את היעד הזה.
יוצרים קובץ מדיניות עם הקישור הבא:
bindings: - role: roles/clouddeploy.operator members: - group:cd_operators@example.comבדוגמה שלמעלה, התפקיד מוקצה לקבוצה, אבל אפשר גם להקצות את התפקיד למשתמש או לחשבון שירות.
מריצים את הפקודה הבאה כדי להחיל את קובץ המדיניות על יעד ספציפי:
gcloud deploy targets set-iam-policy