הטבלה הבאה מפרטת את ההרשאות של ניהול הזהויות והרשאות הגישה (IAM) שנדרשות כדי להריץ כל method של JSON של Cloud Storage על משאב נתון. הרשאות ה-IAM מקובצות יחד כדי ליצור תפקידים. מקצים תפקידים למשתמשים ולקבוצות.
למידע על methods נוספות שחלות רק על קטגוריות שבהן הגישה האחידה ברמת הקטגוריה מושבתת, אפשר לעיין בטבלת ה-methods של ACL.
| משאב | Method | הרשאות ה-IAM הנדרשות1 |
|---|---|---|
AnywhereCache |
create |
storage.anywhereCaches.create |
AnywhereCache |
disable |
storage.anywhereCaches.disable |
AnywhereCache |
get |
storage.anywhereCaches.get |
AnywhereCache |
list |
storage.anywhereCaches.list |
AnywhereCache |
pause |
storage.anywhereCaches.pause |
AnywhereCache |
resume |
storage.anywhereCaches.resume |
AnywhereCache |
update |
storage.anywhereCaches.update |
Buckets |
delete |
storage.buckets.delete |
Buckets |
get |
storage.buckets.getstorage.buckets.getIamPolicy2storage.buckets.getIpFilter13storage.anywhereCaches.get18 |
Buckets |
getIamPolicy |
storage.buckets.getIamPolicy |
Buckets |
insert |
storage.buckets.createstorage.buckets.enableObjectRetention3storage.buckets.setIpFilter14 |
Buckets |
list |
storage.buckets.liststorage.buckets.getIamPolicy2storage.buckets.getIpFilter13storage.anywhereCaches.list |
Buckets |
listChannels |
storage.buckets.get |
Buckets |
lockRetentionPolicy |
storage.buckets.update |
Buckets |
patch |
storage.buckets.updatestorage.buckets.getIamPolicy4storage.buckets.setIamPolicy5storage.buckets.setIpFilter14storage.buckets.getIpFilter13 |
Buckets |
relocate |
storage.buckets.relocate |
Buckets |
setIamPolicy |
storage.buckets.setIamPolicy |
Buckets |
testIamPermissions |
ללא |
Buckets |
update |
storage.buckets.updatestorage.buckets.getIamPolicy4storage.buckets.setIamPolicy5storage.buckets.setIpFilter14storage.buckets.getIpFilter13storage.anywhereCaches.update |
DatasetConfigs |
delete |
storageinsights.datasetConfigs.delete |
DatasetConfigs |
get |
storageinsights.datasetConfigs.get |
DatasetConfigs |
insert |
storageinsights.datasetConfigs.create |
DatasetConfigs |
list |
storageinsights.datasetConfigs.list |
DatasetConfigs |
linkDataset |
storageinsights.datasetConfigs.linkDataset |
DatasetConfigs |
unlinkDataset |
storageinsights.datasetConfigs.unlinkDataset |
DatasetConfigs |
patch |
storageinsights.datasetConfigs.update |
Channels |
stop |
ללא |
Folders |
get |
storage.folders.get |
Folders |
insert |
storage.folders.create |
Folders |
list |
storage.folders.list |
Folders |
rename |
storage.folders.renamestorage.folders.create |
Folders |
delete |
storage.folders.delete |
IntelligenceConfig |
getIntelligenceConfig |
storage.intelligenceConfigs.get |
IntelligenceConfig |
updateIntelligenceConfig |
storage.intelligenceConfigs.update |
Jobs |
create |
storagebatchoperations.jobs.create |
Jobs |
get |
storagebatchoperations.jobs.getstoragebatchoperations.operations.get |
Jobs |
list |
storagebatchoperations.jobs.liststoragebatchoperations.operations.list |
Jobs |
cancel |
storagebatchoperations.jobs.cancelstoragebatchoperations.operations.cancel |
Jobs |
delete |
storagebatchoperations.jobs.delete |
ManagedFolders |
delete |
storage.managedfolders.deletestorage.managedfolders.setIamPolicy10 |
ManagedFolders |
get |
storage.managedfolders.get |
ManagedFolders |
getIamPolicy |
storage.managedfolders.getIamPolicy |
ManagedFolders |
insert |
storage.managedfolders.create |
ManagedFolders |
list |
storage.managedfolders.list |
ManagedFolders |
update |
storage.managedfolders.update |
ManagedFolders |
setIamPolicy |
storage.managedfolders.setIamPolicy |
Notifications |
delete |
storage.buckets.update |
Notifications |
get |
storage.buckets.get |
Notifications |
insert |
storage.buckets.update |
Notifications |
list |
storage.buckets.get |
Objects |
bulkRestore |
storage.buckets.restorestorage.objects.createstorage.objects.delete11storage.objects.restorestorage.objects.setIamPolicy6,12 |
Objects |
compose |
storage.objects.getstorage.objects.createstorage.objects.delete7storage.objects.getIamPolicy2,6storage.objects.setRetention8storage.objects.createContext19 |
Objects |
copy |
storage.objects.getstorage.objects.createstorage.objects.deletestorage.objects.setRetentionstorage.objects.createContext19 |
Objects |
delete |
storage.objects.delete |
Objects |
get |
storage.objects.getstorage.objects.getIamPolicy2,6 |
Objects |
insert |
storage.objects.createstorage.objects.delete7storage.objects.setRetention8storage.objects.createContext19 |
Objects |
list |
storage.objects.liststorage.objects.getIamPolicy2,6 |
Objects |
move |
storage.objects.move15storage.objects.delete15storage.objects.get15storage.objects.createstorage.objects.delete16storage.folders.create17 |
Objects |
patch |
storage.objects.updatestorage.objects.setRetention8storage.objects.overrideUnlockedRetention9storage.objects.getIamPolicy4,6storage.objects.setIamPolicy5,6storage.objects.createContext20storage.objects.updateContext21storage.objects.deleteContext22 |
Objects |
restore |
storage.objects.createstorage.objects.delete7storage.objects.restorestorage.objects.getIamPolicy2,6storage.objects.setIamPolicy6,12 |
Objects |
rewrite |
storage.objects.getstorage.objects.createstorage.objects.deletestorage.objects.setRetentionstorage.objects.createContext19 |
Objects |
update |
storage.objects.updatestorage.objects.setRetention8storage.objects.overrideUnlockedRetention9storage.objects.getIamPolicy4,6storage.objects.setIamPolicy5,6storage.objects.createContext20storage.objects.updateContext21storage.objects.deleteContext22 |
Objects |
watchAll |
storage.buckets.update |
Projects.hmacKeys |
create |
storage.hmacKeys.create |
Projects.hmacKeys |
delete |
storage.hmacKeys.delete |
Projects.hmacKeys |
get |
storage.hmacKeys.get |
Projects.hmacKeys |
list |
storage.hmacKeys.list |
Projects.hmacKeys |
update |
storage.hmacKeys.update |
Projects.serviceAccount |
get |
resourceManager.projects.get |
ReportConfigs |
delete |
storageinsights.reportConfigs.delete |
ReportConfigs |
get |
storageinsights.reportConfigs.get |
ReportConfigs |
list |
storageinsights.reportConfigs.list |
ReportConfigs |
insert |
storageinsights.reportConfigs.create |
ReportConfigs |
update |
storageinsights.reportConfigs.update |
ReportDetails |
get |
storageinsights.reportDetails.get |
ReportDetails |
list |
storageinsights.reportDetails.list |
1 אם הבקשה משתמשת בפרמטר userProject או בכותרת x-goog-user-project, צריך את ההרשאה serviceusage.services.use בשביל מזהה הפרויקט שצוין, בנוסף להרשאות ה-IAM הרגילות שנדרשות לביצוע הבקשה.
2 ההרשאה הזו נדרשת רק אם רוצים לכלול רשימות ACL או כללי מדיניות IAM כחלק מהיטל full. אם אין את ההרשאה הזו ומבקשים היטל full, מקבלים רק היטל חלקי.
3 ההרשאה הזו נדרשת רק כשהבקשה כוללת את פרמטר השאילתה enableObjectRetention.
4 ההרשאה הזו נדרשת רק אם רוצים לכלול רשימות ACL כחלק מהתשובה.
5 ההרשאה הזו נדרשת אם רוצים לכלול רשימות ACL או שינויים בהגדרת מניעת גישה ציבורית כחלק מהבקשה.
6 ההרשאה הזו לא חלה על קטגוריות שמופעלת בהן גישה אחידה ברמת הקטגוריה.
7 ההרשאה הזו נדרשת רק אם הבקשה גורמת להחלפה של אובייקט עם אותו שם.
8 ההרשאה הזו נדרשת כשגוף הבקשה כולל את המאפיין retention או כשמבצעים בקשת UPDATE לאובייקט שיש לו הגדרת שמירה קיימת.
9 ההרשאה הזו נדרשת רק כשהבקשה כוללת את פרמטר השאילתה overrideUnlockedRetention=true.
10 ההרשאה הזו נדרשת רק כשהבקשה כוללת את פרמטר השאילתה allowNonEmpty=true.
11 ההרשאה הזו נדרשת רק אם הבקשה כוללת את פרמטר השאילתה allowOverwrite=true והבקשה גורמת להחלפה של אובייקט עם אותו שם.
12 ההרשאה הזו נדרשת רק כשהבקשה כוללת את פרמטר השאילתה copySourceAcl=true.
13 ההרשאה הזו נדרשת רק אם רוצים לכלול כללי סינון של כתובות IP של קטגוריות כחלק מהבקשה Buckets: get. אם אין לכם את ההרשאה הזו, תקבלו רק היטל חלקי.
14 ההרשאה הזו נדרשת רק אם רוצים ליצור, למחוק ולעדכן כללי סינון של כתובות IP בקטגוריות, וגם להציג אותם.
15 כדי להעביר אובייקט בתוך קטגוריה עם מרחב שמות היררכי מופעל, צריך הרשאות storage.objects.delete ו-storage.objects.get, או הרשאה storage.objects.move אם רוצים להעביר אותו בלי לתת גישת קריאה או מחיקה לאובייקט.
16 ההרשאה הזו נדרשת רק אם רוצים להחליף אובייקט.
17 ההרשאה הזו נדרשת רק אם רוצים ליצור באופן אוטומטי תיקיות אב שחסרות.
18 ההרשאה הזו נדרשת רק אם רוצים להחזיר מטמונים שנוצרו באמצעות Anywhere Cache.
19 ההרשאה הזו נדרשת רק אם הבקשה כוללת מאפיין destination.contexts.custom לא ריק כדי ליצור אובייקט מורכב, או מאפיין contexts.custom לא ריק כדי להעתיק, להוסיף או לשכתב אובייקט.
20 ההרשאה הזו נדרשת רק אם רוצים להוסיף הקשרים לאובייקט.
21 ההרשאה הזו נדרשת רק אם רוצים לעדכן את ההקשרים של אובייקט.
22 ההרשאה הזו נדרשת רק אם רוצים למחוק הקשרים של אובייקט.
methods שקשורות ל-ACL
הטבלה הבאה מפרטת את הרשאות ה-IAM שנדרשות כדי להריץ methods של JSON החלות באופן ספציפי על ניהול רשימות ACL. ה-methods האלו רלוונטיות רק לקטגוריות שבהן גישה אחידה ברמת הקטגוריה מושבתת.
| משאב | Method | הרשאות ה-IAM הנדרשות1 |
|---|---|---|
BucketAccessControls |
delete |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
BucketAccessControls |
get |
storage.buckets.getstorage.buckets.getIamPolicy |
BucketAccessControls |
insert |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
BucketAccessControls |
list |
storage.buckets.getstorage.buckets.getIamPolicy |
BucketAccessControls |
patch |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
BucketAccessControls |
update |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
DefaultObjectAccessControls |
delete |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
DefaultObjectAccessControls |
get |
storage.buckets.getstorage.buckets.getIamPolicy |
DefaultObjectAccessControls |
insert |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
DefaultObjectAccessControls |
list |
storage.buckets.getstorage.buckets.getIamPolicy |
DefaultObjectAccessControls |
patch |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
DefaultObjectAccessControls |
update |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
ObjectAccessControls |
delete |
storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update |
ObjectAccessControls |
get |
storage.objects.getstorage.objects.getIamPolicy |
ObjectAccessControls |
insert |
storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update |
ObjectAccessControls |
list |
storage.objects.getstorage.objects.getIamPolicy |
ObjectAccessControls |
patch |
storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update |
ObjectAccessControls |
update |
storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update |
1 אם הבקשה משתמשת בפרמטר userProject או בכותרת x-goog-user-project, צריך את ההרשאה serviceusage.services.use בשביל מזהה הפרויקט שצוין, בנוסף להרשאות ה-IAM הרגילות שנדרשות לביצוע הבקשה.
המאמרים הבאים
רשימת התפקידים וההרשאות שמוגדרות להם מופיעה במאמר תפקידי IAM ל-Cloud Storage.
הקצאת תפקידי IAM ברמת הפרויקט וברמת הקטגוריה.