במדריך הזה מוסבר למשתמשי Cloud Source Repositories (CSR) איך אמצעי בקרת הגישה שלו מתורגמים ל-Secure Source Manager (SSM). כדי להשתמש במדריך הזה, אתם צריכים להכיר את IAM ואת CSR, ולהבין את העקרונות הבסיסיים של SSM.
מודלים של משאבים
ל-CSR יש Google Cloud משאב אחד שהוא צאצא של פרויקט:
- מאגר,
projects/<var>project</var>/repositories/<var>repo</var>
ל-SSM יש שני משאבים שהם צאצאים אזוריים של פרויקט:
- מופע,
projects/<var>project</var>/locations/<var>location</var>/instances/<var>instance</var> - מאגר, שהוא המקבילה הכי ישירה למאגר CSR וחייב להיות מצורף למופע SSM (אבל לא להיות צאצא שלו) באותו פרויקט ובאותו מיקום,
projects/<var>project</var>/locations/<var>location</var>/repositories/<var>repo</var>
ל-SSM יש משאבים אחרים, אבל הם מוגדרים כצאצאים של המאגר. במדריך הזה, הם נחשבים לחלק מהמאגר.
תפקידים
ב-CSR יש שלושה תפקידים: roles/source.reader, roles/source.writer ו-roles/source.admin. אפשר לקשר את התפקידים 'קורא' ו'כותב' למאגר או לפרויקט. מומלץ לקשר את התפקיד Administrator רק לפרויקט, כי ההרשאה source.repos.create חלה רק בהיקף הפרויקט.
ל-SSM יש 11 תפקידים עבור חשבונות משתמשים, עלייה משמעותית בהשוואה ל-Cloud Source Repositories. אפשר לקבץ את התפקידים האלה לשתי קטגוריות (בנוסף לתפקיד של משתמש על).
תפקיד הסופר-משתמש (roles/securesourcemanager.admin) מעניק את כל ההרשאות ב-SSM. צריך לקשר את התפקיד הזה לפרויקט, כי הרשאות של מופע לא חלות אם מקשרים אותן למאגר, והרשאות של מאגר לא חלות אם מקשרים אותן למופע.
תפקידים של מופעים ב-SSM
תפקידים במופע מעניקים הרשאות גישה לממשק המשתמש של מופע Secure Source Manager וגישה אליו באמצעות Git. כדי לאפשר למשתמשים לגשת למאגרי מידע במופע, צריך להקצות להם לפחות תפקיד אחד במופע. אפשר לקשר את התפקידים האלה למשאב של מופע או לפרויקט.
| תפקיד | הרשאות |
|---|---|
roles/securesourcemanager.instanceAccessor |
גישה למופע ולמאגרים שלו. נדרש כדי שהתפקידים ברמת המאגר ייכנסו לתוקף. |
roles/securesourcemanager.instanceManager |
ניהול ההגדרות ברמת המופע. |
roles/securesourcemanager.instanceOwner |
שליטה מלאה בהגדרות של המופע. |
roles/securesourcemanager.instanceRepoCreator |
יצירת מאגרים במכונה. |
roles/securesourcemanager.sshKeyUser |
ניהול מפתחות SSH לאימות למופע. לא מעניק גישה למופע בפני עצמו. |
תפקידים במאגר SSM
תפקידים במאגר מעניקים הרשאות במאגרים בתוך מופע של Secure Source Manager. אפשר לקשר את התפקידים האלה למשאב מאגר או לפרויקט, חוץ מהתפקיד repoCreator, שאותו צריך לקשר לפרויקט.
| תפקיד | הרשאות |
|---|---|
roles/securesourcemanager.repoAdmin |
שליטה מלאה במאגר, כולל הגדרות המאגר וגישת המשתמשים. |
roles/securesourcemanager.repoPullRequestApprover |
אישור בקשות משיכה במאגר. |
roles/securesourcemanager.repoReader |
לקרוא את התוכן של המאגר ולראות את בקשות המיזוג והבעיות. |
roles/securesourcemanager.repoWriter |
לקרוא ולכתוב תוכן במאגר, ולנהל בקשות משיכה ובעיות. |
roles/securesourcemanager.repoCreator |
יצירת מאגרי מידע חדשים בפרויקט. |
מיפוי תפקידים ב-CSR ל-SSM
כדי להשתמש ב-SSM בצורה יעילה, צריך לפחות שני תפקידים: תפקיד אחד של מופע ותפקיד אחד של מאגר. אין מיפוי של אחד לאחד מתפקיד CSR לתפקיד SSM. המתכונים האלה מספקים גישה שוות ערך רק לבקרת מקור, ולא לתכונות של SSM כמו בקשות משיכה, בעיות או ניהול מופעים.
ב-CSR, אפשר ליצור מאגרי מידע בכמה פרויקטים. ב-Secure Source Manager, כל המאגרים במופע שייכים לאותו פרויקט כמו המופע. אם מקשרים תפקיד כלשהו ברמת הפרויקט ב-Secure Source Manager, מעניקים את ההרשאות של התפקיד הזה לכל המאגרים באותו מופע. אם אתם צריכים להעניק הרשאות רק למאגרים ספציפיים, אתם יכולים להשתמש בקשרי הרשאות ברמת המאגר.
מיפוי source.reader
אם קישרתם את התפקיד הזה ברמת המאגר, צריך לקשר את securesourcemanager.repoReader במשאב המאגר ואת securesourcemanager.instanceAccessor במופע המארח כדי ליצור מחדש את אותה רמת גישה. אם הגדרתם את התפקיד ברמת הפרויקט, הוספת ההרשאות repoReader ו-instanceAccessor ברמת הפרויקט מעניקה גישת קריאה לכל המאגרים במופע.
מיפוי source.writer
אם קישרתם את התפקיד הזה ברמת המאגר, צריך לקשר את securesourcemanager.repoWriter במשאב המאגר ואת securesourcemanager.instanceAccessor במופע המארח כדי ליצור מחדש את אותה רמת גישה. אם הגבלתם את התפקיד ברמת הפרויקט, הגבלת repoWriter ו-instanceAccessor ברמת הפרויקט מעניקה גישת כתיבה לכל המאגרים במופע.
מיפוי source.admin
התפקיד הזה מוקצה רק ברמת הפרויקט. אפשר ליצור אותו מחדש על ידי שיוך של שילוב של securesourcemanager.instanceAccessor, securesourcemanager.repoAdmin, securesourcemanager.instanceRepoCreator ו-securesourcemanager.repoCreator ברמת הפרויקט. השילוב הזה של תפקידים מעניק הרשאה ליצור מאגרי מידע בכל מופע בפרויקט, והרשאות אדמין לכל מאגרי המידע בכל מופע בפרויקט. כדי להעניק את כל ההרשאות של SSM באותו אופן שבו source.admin העניק את כל ההרשאות של CSR, צריך לקשור את תפקיד הסופר-משתמש, securesourcemanager.admin, ברמת הפרויקט.
ההבדלים בין SSM לבין CSR
בקטע הזה מפורטים השינויים העיקריים בדרך שבה Secure Source Manager מטפל בתפקידים ובהרשאות בהשוואה ל-Cloud Source Repositories.
הקצאת תפקיד מרומזת
כשיוצרים משאב חדש של מאגר, למשתמש הראשי שמבצע את הקריאה מוקצה באופן אוטומטי התפקיד repoAdmin במשאב המאגר שנוצר.
סוגי משאבים חדשים
ל-SSM יש יותר תכונות מאשר ל-CSR, והתכונות האלה מוגדרות כסוגי משאבים חדשים.
התכונות האלה כוללות כללי הגנה על ענפים, ווים, בעיות ובקשות משיכה,
בנוסף לתגובות על בעיות ובקשות משיכה. המשאבים האלה הם צאצאים של משאב המאגר. תפקידים במאגר כוללים הרשאות למשאבים האלה.
לדוגמה, repoAdmin ו-repoWriter מספקים הרשאת כתיבה, ואילו repoReader מעניק רק הרשאת קריאה.
תפקידים פרטניים
SSM כולל תפקידים פרטניים שמספקים בקרת גישה ספציפית.
-
roles/securesourcemanager.repoPullRequestApproverמעניק רק את ההרשאה לאשר בקשות מיזוג. אפשר להשתמש בתפקיד הזה עםrepoReaderועםinstanceAccessorכדי לאפשר למשתמש לגשת למופע, לעיין במאגר ולאשר בקשות משיכה בלי לשנות נתונים אחרים. -
roles/securesourcemanager.repoCreatorמעניקה רק את ההרשאה ליצור מאגרי מידע בפרויקט. מאחר שצריך לצרף מאגרים למופע, צריך גםroles/securesourcemanager.instanceRepoCreatorכדי לצרף מאגר למופע. משתמשים ב-roles/securesourcemanager.repoCreatorעםinstanceRepoCreatorכדי להעניק הרשאות ליצירת מאגרי קוד ולצירוף שלהם למכונה.