הטבלה הבאה מפרטת את ההרשאות של ניהול הזהויות והרשאות הגישה (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 |
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 |
FeatureConfigs |
create |
storage.featureConfigs.create |
FeatureConfigs |
delete |
storage.featureConfigs.delete |
FeatureConfigs |
get |
storage.featureConfigs.get |
FeatureConfigs |
list |
storage.featureConfigs.list |
FeatureConfigs |
update |
storage.featureConfigs.update |
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 |
IntelligenceFindings |
get |
storage.buckets.viewIntelligenceDetails |
IntelligenceFindings |
list |
storage.buckets.viewIntelligenceDetails |
IntelligenceFindings |
summarize |
storage.buckets.viewIntelligenceDetails |
IntelligenceFindings.revisions |
get |
storage.buckets.viewIntelligenceDetails |
IntelligenceFindings.revisions |
list |
storage.buckets.viewIntelligenceDetails |
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 |
viewFullContext |
storage.objects.viewFullContext |
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 |
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 ההרשאה הזו נדרשת רק אם רוצים להחזיר מטמונים שנוצרו באמצעות Rapid 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 ברמת הפרויקט וברמת הקטגוריה.