במאמר הזה מוסבר איך לנהל את הגישה למשאבים של Cloud KMS.
סקירה כללית
כדי לנהל את הגישה למשאבי Cloud KMS, כמו מפתחות וקבוצות מפתחות, צריך להקצות תפקידים בניהול זהויות והרשאות גישה (IAM). אתם יכולים להעניק או להגביל את היכולת לבצע פעולות הצפנה ספציפיות, כמו רוטציה של מפתח או הצפנת נתונים. אפשר להקצות תפקידי IAM ב:
- מפתח ישירות
- אוסף מפתחות, שמועבר בירושה לכל המפתחות באוסף המפתחות הזה
- Cloud de Confiance פרויקט, שמועבר בירושה לכל המפתחות בפרויקט
- תיקייה Cloud de Confiance , שכל המפתחות בכל הפרויקטים בתיקייה יורשים
- Cloud de Confiance ארגון, שמועבר בירושה לכל המפתחות בתיקיות בארגון
רשימה מלאה של פעולות ב-Cloud KMS, תפקידי IAM והרשאות מופיעה במאמר הרשאות ותפקידים. רשימה מלאה של משאבי Cloud KMS והקשר ביניהם זמינה במאמר משאבי Cloud KMS.
לפני שמתחילים
כדי לבצע את המשימות האלה, אתם צריכים הרשאה לניהול משאבי Cloud KMS בפרויקט Cloud de Confiance . התפקיד Cloud KMS Admin (roles/cloudkms.admin) כולל את ההרשאות הנדרשות.
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
Enable the required API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init - יוצרים משאב, כמו אוסף מפתחות.
- מקבלים את מזהי המשאבים של המשאבים שנוצרו, כמו אוסף מפתחות, מפתח וגרסת מפתח.
רק משתמשים ב-IAM עם התפקידים Owner (roles/owner) או Cloud KMS Admin (roles/cloudkms.admin) יכולים לתת או לבטל גישה למשאבי Cloud KMS.
הקצאת תפקידים במשאב
בדוגמה הבאה מוקצה תפקיד שמעניק גישה למפתח Cloud KMS:
gcloud
כדי להשתמש ב-Cloud KMS בשורת הפקודה, קודם צריך להתקין את הגרסה האחרונה של Google Cloud CLI או לשדרג אליה.
gcloud kms keys add-iam-policy-binding key \
--keyring key-ring \
--location location \
--member principal-type:principal-email \
--role roles/role
מחליפים את key בשם המפתח. מחליפים את key-ring בשם של אוסף המפתחות שבו נמצא המפתח. מחליפים את הערך location במיקום ב-Cloud KMS של אוסף המפתחות. מחליפים את principal-type ואת principal-email בסוג החשבון הראשי ובכתובת האימייל של החשבון הראשי. מחליפים את role בשם התפקיד שרוצים להוסיף.
C#
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת C# ולהתקין את ה-SDK של Cloud KMS C# .
Go
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Go ולהתקין את Cloud KMS Go SDK.
Java
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-Java ולהתקין את Cloud KMS Java SDK.
Node.js
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Node.js ולהתקין את Cloud KMS Node.js SDK.
PHP
כדי להריץ את הקוד הזה, קודם צריך לקרוא על שימוש ב-PHP ב- Cloud de Confiance ולהתקין את Cloud KMS PHP SDK.
Python
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Python ולהתקין את Cloud KMS Python SDK.
Ruby
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Ruby ולהתקין את Cloud KMS Ruby SDK.
ביטול הגישה למשאב
כדי להסיר את הגישה של גורם ראשי למפתח Cloud KMS:
gcloud
כדי להשתמש ב-Cloud KMS בשורת הפקודה, קודם צריך להתקין את הגרסה האחרונה של Google Cloud CLI או לשדרג אליה.
gcloud kms keys remove-iam-policy-binding key \
--keyring key-ring \
--location location \
--member principal-type:principal-email \
--role roles/role-name
מחליפים את key בשם המפתח. מחליפים את key-ring בשם של אוסף המפתחות שבו נמצא המפתח. מחליפים את הערך location במיקום ב-Cloud KMS של אוסף המפתחות. מחליפים את principal-type ואת principal-email בסוג החשבון הראשי ובכתובת האימייל של החשבון הראשי. מחליפים את role-name בשם התפקיד שרוצים להסיר.
כדי לקבל מידע על כל הדגלים והערכים האפשריים, מריצים את הפקודה עם הדגל --help.
C#
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת C# ולהתקין את ה-SDK של Cloud KMS C# .
Go
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Go ולהתקין את Cloud KMS Go SDK.
Java
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-Java ולהתקין את Cloud KMS Java SDK.
Node.js
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Node.js ולהתקין את Cloud KMS Node.js SDK.
PHP
כדי להריץ את הקוד הזה, קודם צריך לקרוא על שימוש ב-PHP ב- Cloud de Confiance ולהתקין את Cloud KMS PHP SDK.
Python
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Python ולהתקין את Cloud KMS Python SDK.
Ruby
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Ruby ולהתקין את Cloud KMS Ruby SDK.
הצגת הרשאות במשאב
כדי לראות את מדיניות ה-IAM של מפתח Cloud KMS:
gcloud
כדי להשתמש ב-Cloud KMS בשורת הפקודה, קודם צריך להתקין את הגרסה האחרונה של Google Cloud CLI או לשדרג אליה.
gcloud kms keys get-iam-policy key \
--keyring key-ring \
--location location
מחליפים את key בשם המפתח. מחליפים את key-ring בשם של אוסף המפתחות שבו נמצא המפתח. מחליפים את הערך location במיקום ב-Cloud KMS של אוסף המפתחות.
כדי לקבל מידע על כל הדגלים והערכים האפשריים, מריצים את הפקודה עם הדגל --help.
C#
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת C# ולהתקין את ה-SDK של Cloud KMS C# .
Go
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Go ולהתקין את Cloud KMS Go SDK.
Java
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-Java ולהתקין את Cloud KMS Java SDK.
Node.js
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Node.js ולהתקין את Cloud KMS Node.js SDK.
PHP
כדי להריץ את הקוד הזה, קודם צריך לקרוא על שימוש ב-PHP ב- Cloud de Confiance ולהתקין את Cloud KMS PHP SDK.
Python
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Python ולהתקין את Cloud KMS Python SDK.
Ruby
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Ruby ולהתקין את Cloud KMS Ruby SDK.
העיקרון של הרשאות מינימליות
כדי לפעול לפי העיקרון של הרשאות מינימליות, צריך להעניק את קבוצת ההרשאות הכי מצומצמת לאובייקט הכי נמוך בהיררכיית המשאבים.
כדי לתת לחשבון משתמש הרשאות להצפנת נתונים (אבל לא לפענוח שלהם), צריך לתת לו את התפקיד
roles/cloudkms.cryptoKeyEncrypterבמפתח.כדי להעניק לחשבון משתמש הרשאות להצפנה ולפענוח של נתונים, צריך להעניק לו את התפקיד
roles/cloudkms.cryptoKeyEncrypterDecrypterבמפתח.כדי להעניק לחשבון משתמש הרשאות לאימות נתונים (אבל לא לחתימה עליהם), צריך להקצות לו את התפקיד
roles/cloudkms.publicKeyViewerבמפתח.כדי להעניק לחשבון משתמש הרשאות לחתום על נתונים ולאמת אותם, צריך להעניק לו את התפקיד
roles/cloudkms.signerVerifierבמפתח.כדי לתת לחשבון משתמש הרשאות לניהול מפתח, צריך לתת לו את התפקיד
roles/cloudkms.adminבמפתח.
זוהי רשימה חלקית בלבד. רשימה מלאה של הרשאות ותפקידים מופיעה במאמר בנושא הרשאות ותפקידים ב-Cloud KMS.
היררכיה וירושה
אפשר לציין את הקישורים למדיניות בפרויקט, באוסף המפתחות, במפתח, במשימת הייבוא ובמשאבים אחרים של Cloud KMS.
מכיוון שמפתחות שייכים למחזיקי מפתחות, ומחזיקי מפתחות שייכים לפרויקטים, סובייקט עם תפקיד או הרשאה ספציפיים ברמה גבוהה יותר בהיררכיה הזו יורש את אותן הרשאות במשאבי הצאצא. כלומר, משתמש עם התפקיד owner בפרויקט הוא גם owner בכל מחזיקי המפתחות והמפתחות בפרויקט הזה. באופן דומה, אם למשתמש מוענק התפקיד cloudkms.admin במחזיק מפתחות, יש לו את ההרשאות המשויכות לכל המפתחות במחזיק המפתחות הזה.
ההפך לא נכון. כלומר, למשתמש שיש לו הרשאה במפתח אבל אין לו הרשאה באוסף המפתחות ברמת ההורה, אין הרשאות באוסף המפתחות הזה.