תפקידים והרשאות

ב-Trusted Cloud by S3NS יש ממשק לניהול זהויות והרשאות גישה (IAM), שמאפשר לתת גישה פרטנית יותר למשאבים ספציפיים ב- Trusted Cloud ולמנוע גישה לא רצויה למשאבים אחרים. בדף הזה מתוארים התפקידים של Cloud DNS API. למידע מפורט על IAM, תוכלו לעיין במסמכי העזרה של IAM.

בעזרת IAM תוכלו לשמור על עקרון האבטחה של הרשאות מינימליות, וכך לתת רק למי שצריך את רמת הגישה שצריך למשאבים השונים.

באמצעות כללי המדיניות ב-IAM תוכלו לקבוע למי יש אילו הרשאות במשאבים מסוימים. כללי המדיניות ב-IAM מקצים למשתמשים תפקידים ספציפיים עם הרשאות ספציפיות. לדוגמה, יכול להיות שמשתמש מסוים יצטרך ליצור ולשנות משאבים של רשומות של מערכת שמות הדומיינים (DNS). לאחר מכן, צריך לתת למשתמש הזה (who) את התפקיד /roles/dns.admin, שכולל את ההרשאות dns.changes.create ו-dns.resourceRecordSets.create (what), כדי שיוכל ליצור ולעדכן קבוצות של רשומות משאבים (which). לעומת זאת, יכול להיות שצוות תמיכה יצטרך רק להציג קבוצות קיימות של רשומות משאבים, ולכן יקבל את התפקיד /roles/dns.reader.

Cloud DNS תומך בהרשאות IAM ברמת הפרויקט וברמת תחום DNS ספציפי. הרשאת ברירת המחדל היא ברמת הפרויקט. במאמר יצירת תחום עם הרשאות IAM ספציפיות מוסבר איך להגדיר הרשאות ברמת תחום ה-DNS (או המשאב) הספציפי.

הרשאות ותפקידים

לכל method ב-Cloud DNS API נדרשות למבצע הקריאה החוזרת (caller) הרשאות IAM הנדרשות. ההרשאות מוקצות על ידי הענקת תפקידים למשתמש, לקבוצה או לחשבון שירות. בנוסף לתפקידים הבסיסיים 'בעלים', 'עריכה' ו'צפייה', אפשר להקצות למשתמשים בפרויקט תפקידים ב-Cloud DNS API.

הרשאות

בטבלה הבאה מפורטות ההרשאות הנדרשות למבצע הקריאה החוזרת (caller) כדי להפעיל קריאה לכל שיטה.

‏Method ההרשאות הנדרשות
dns.changes.create ליצירת קבוצת רשומות משאבים. dns.changes.create ו-dns.resourceRecordSets.create בפרויקט שמכיל את קבוצת הרשומות.
dns.changes.create לעדכון קבוצת רשומות משאבים. dns.changes.create ו-dns.resourceRecordSets.update בפרויקט שמכיל את קבוצת הרשומות.
dns.changes.create כדי למחוק קבוצת רשומות משאבים. dns.changes.create ו-dns.resourceRecordSets.delete בפרויקט שמכיל את קבוצת הרשומות.
dns.changes.get dns.changes.get בפרויקט שמכיל את האזור המנוהל.
dns.changes.list dns.changes.list בפרויקט שמכיל את האזור המנוהל.
dns.dnsKeys.get dns.dnsKeys.get בפרויקט שמכיל את האזור המנוהל.
dns.dnsKeys.list dns.dnsKeys.list בפרויקט שמכיל את האזור המנוהל.
dns.managedZoneOperations.get dns.managedZoneOperations.get בפרויקט שמכיל את האזור המנוהל.
dns.managedZoneOperations.list dns.managedZoneOperations.list בפרויקט שמכיל את האזור המנוהל.
dns.managedZones.create dns.managedZones.create בפרויקט שמכיל את האזור המנוהל.

אם אתם יוצרים תחום פרטי, צריך גם להגדיר את dns.networks.bindPrivateDNSZone ו-dns.networks.targetWithPeeringZone בכל פרויקט עם רשת VPC שמוסמכת לגשת לתחום.

אם יוצרים תחום פרטי עם שילוב של GKE, צריך גם את dns.gkeClusters.bindPrivateDNSZone כדי להגדיר היקף של אשכול GKE.

dns.managedZones.delete dns.managedZones.delete בפרויקט שמכיל את האזור המנוהל.
dns.managedZones.get dns.managedZones.get בפרויקט שמכיל את האזור המנוהל.
dns.managedZones.list dns.managedZones.list בפרויקט שמכיל את האזור המנוהל.
dns.managedZones.update dns.managedZones.update בפרויקט שמכיל את האזור המנוהל.

אם אתם יוצרים תחום פרטי, צריך גם להגדיר את dns.networks.bindPrivateDNSZone ו-dns.networks.targetWithPeeringZone בכל פרויקט עם רשת VPC שמוסמכת לגשת לתחום.

אם אתם יוצרים תחום פרטי עם שילוב של GKE, dns.gkeClusters.bindPrivateDNSZone צריך גם להגדיר היקף של אשכול GKE.

dns.policies.create dns.policies.create בפרויקט שמכיל את המדיניות.

אם המדיניות נוצרת ברשת VPC, צריך גם להגדיר את dns.networks.bindPrivateDNSPolicy לכל פרויקט שמכיל כל רשת VPC.

dns.policies.delete dns.policies.delete בפרויקט שמכיל את המדיניות.
dns.policies.get dns.policies.get בפרויקט שמכיל את המדיניות.
dns.policies.list dns.policies.list בפרויקט שמכיל את המדיניות.
dns.policies.update dns.policies.update בפרויקט שמכיל את המדיניות.

אם המדיניות מתעדכנת לרשת VPC, צריך גם את dns.networks.bindPrivateDNSPolicy לכל פרויקט שמכיל כל רשת VPC.

dns.projects.get dns.projects.get בפרויקט.
dns.resourceRecordSets.create dns.resourceRecordSets.create בפרויקט שמכיל את קבוצת הרשומות.
dns.resourceRecordSets.delete dns.resourceRecordSets.delete בפרויקט שמכיל את קבוצת הרשומות.
dns.resourceRecordSets.get dns.resourceRecordSets.get בפרויקט שמכיל את קבוצת הרשומות.
dns.resourceRecordSets.list dns.resourceRecordSets.list בפרויקט שמכיל את האזור המנוהל.
dns.resourceRecordSets.update dns.resourceRecordSets.update ו-dns.changes.create בפרויקט שמכיל את קבוצת הרשומות.
dns.responsePolicies.create dns.responsePolicies.create בפרויקט שמכיל את מדיניות התגובה.

בנוסף, צריך את הערך dns.networks.bindDNSResponsePolicy כדי לאמת את הבקשה.

כדי ליצור מדיניות תגובה שמצורפת לאשכול GKE, צריך להשתמש ב-dns.gkeClusters.bindDNSResponsePolicy.

dns.responsePolicies.delete dns.responsePolicies.delete בפרויקט שמכיל את מדיניות התגובה.
dns.responsePolicies.get dns.responsePolicies.get בפרויקט שמכיל את מדיניות התגובה.
dns.responsePolicies.list dns.responsePolicies.list בפרויקט.
dns.responsePolicies.update dns.responsePolicies.update בפרויקט שמכיל את מדיניות התגובה.

בנוסף, צריך את הערך dns.networks.bindDNSResponsePolicy כדי לאמת את הבקשה.

כדי ליצור מדיניות תגובה שמצורפת לאשכול GKE, צריך להשתמש ב-dns.gkeClusters.bindDNSResponsePolicy.

dns.responsePolicyRules.create dns.responsePolicyRules.create בפרויקט שמכיל את הכלל של מדיניות התגובה.
dns.responsePolicyRules.delete dns.responsePolicyRules.delete בפרויקט שמכיל את הכלל של מדיניות התגובה.
dns.responsePolicyRules.get dns.responsePolicyRules.get בפרויקט שמכיל את הכלל של מדיניות התגובה.
dns.responsePolicyRules.list dns.responsePolicyRules.list בפרויקט שמכיל את מדיניות התגובה.
dns.responsePolicyRules.update dns.responsePolicyRules.update בפרויקט שמכיל את הכלל של מדיניות התגובה.

תפקידים

בטבלה הבאה מפורטים תפקידי ה-IAM של Cloud DNS API, יחד עם רשימה תואמת של כל ההרשאות שכל תפקיד כולל. כל הרשאה רלוונטית לסוג משאב מסוים.

אפשר גם להשתמש בתפקידים בסיסיים כדי לבצע שינויים ב-DNS.

Role Permissions

(roles/dns.admin)

Provides read-write access to all Cloud DNS resources.

Lowest-level resources where you can grant this role:

  • Managed zone

compute.networks.get

compute.networks.list

dns.changes.*

  • dns.changes.create
  • dns.changes.get
  • dns.changes.list

dns.dnsKeys.*

  • dns.dnsKeys.get
  • dns.dnsKeys.list

dns.gkeClusters.*

  • dns.gkeClusters.bindDNSResponsePolicy
  • dns.gkeClusters.bindPrivateDNSZone

dns.managedZoneOperations.*

  • dns.managedZoneOperations.get
  • dns.managedZoneOperations.list

dns.managedZones.create

dns.managedZones.delete

dns.managedZones.get

dns.managedZones.getIamPolicy

dns.managedZones.list

dns.managedZones.update

dns.networks.*

  • dns.networks.bindDNSResponsePolicy
  • dns.networks.bindPrivateDNSPolicy
  • dns.networks.bindPrivateDNSZone
  • dns.networks.targetWithPeeringZone
  • dns.networks.useHealthSignals

dns.policies.*

  • dns.policies.create
  • dns.policies.delete
  • dns.policies.get
  • dns.policies.list
  • dns.policies.update

dns.projects.get

dns.resourceRecordSets.*

  • dns.resourceRecordSets.create
  • dns.resourceRecordSets.delete
  • dns.resourceRecordSets.get
  • dns.resourceRecordSets.list
  • dns.resourceRecordSets.update

dns.responsePolicies.*

  • dns.responsePolicies.create
  • dns.responsePolicies.delete
  • dns.responsePolicies.get
  • dns.responsePolicies.list
  • dns.responsePolicies.update

dns.responsePolicyRules.*

  • dns.responsePolicyRules.create
  • dns.responsePolicyRules.delete
  • dns.responsePolicyRules.get
  • dns.responsePolicyRules.list
  • dns.responsePolicyRules.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/dns.peer)

Access to target networks with DNS peering zones

dns.networks.targetWithPeeringZone

(roles/dns.reader)

Provides read-only access to all Cloud DNS resources.

Lowest-level resources where you can grant this role:

  • Managed zone

compute.networks.get

dns.changes.get

dns.changes.list

dns.dnsKeys.*

  • dns.dnsKeys.get
  • dns.dnsKeys.list

dns.managedZoneOperations.*

  • dns.managedZoneOperations.get
  • dns.managedZoneOperations.list

dns.managedZones.get

dns.managedZones.list

dns.policies.get

dns.policies.list

dns.projects.get

dns.resourceRecordSets.get

dns.resourceRecordSets.list

dns.responsePolicies.get

dns.responsePolicies.list

dns.responsePolicyRules.get

dns.responsePolicyRules.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/dns.serviceAgent)

Gives Cloud DNS Service Agent access to Cloud Platform resources.

compute.globalNetworkEndpointGroups.attachNetworkEndpoints

compute.globalNetworkEndpointGroups.create

compute.globalNetworkEndpointGroups.delete

compute.globalNetworkEndpointGroups.detachNetworkEndpoints

compute.globalNetworkEndpointGroups.get

compute.globalOperations.get

compute.healthChecks.get

ניהול בקרת הגישה

אפשר להשתמש במסוף Trusted Cloud כדי לנהל את בקרת הגישה לנושאים ולפרויקטים.

כדי להגדיר אמצעי בקרת גישה ברמת הפרויקט, פועלים לפי השלבים הבאים.

המסוף

  1. נכנסים לדף IAM במסוף Trusted Cloud .

    כניסה לדף IAM

  2. בוחרים את הפרויקט מהתפריט הנפתח העליון.

  3. לוחצים על הוספה.

  4. בשדה New principals, מזינים את כתובת האימייל של חשבון משתמש חדש.

  5. בוחרים תפקיד מהרשימה.

  6. לוחצים על שמירה.

  7. מוודאים שחשבון המשתמש מופיע עם התפקיד שהקציתם לו.

המאמרים הבאים