שיתוף משאבים בין מקורות (CORS) מאפשר אינטראקציות בין משאבים ממקורות שונים, פעולות שבדרך כלל אסורות כדי למנוע התנהגות זדונית. במאמר הזה נסביר איך קובעים הגדרות CORS בקטגוריה של Cloud Storage, ואיך צופים בהגדרות CORS שנקבעו בקטגוריה. דוגמאות להגדרות CORS מופיעות במאמר דוגמאות להגדרות CORS.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות להגדרת CORS ולצפייה בהגדרות של קטגוריה, צריך לבקש מהאדמין להקצות לכם את התפקיד 'אדמין לניהול אחסון' (roles/storage.admin) בקטגוריה.
התפקיד המוגדר מראש הזה כולל את ההרשאות שנדרשות כדי להגדיר את הגדרות ה-CORS ולצפות בהן. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
storage.buckets.getstorage.buckets.update
אפשר לקבל את ההרשאות האלה גם באמצעות תפקידים אחרים שהוגדרו מראש או תפקידים בהתאמה אישית.
במאמר הגדרה וניהול של מדיניות IAM בקטגוריות מוסבר איך מקצים תפקידים בקטגוריות.
קביעת ההגדרות של CORS בקטגוריה
כדי לקבוע הגדרות CORS בקטגוריה, מציינים מידע, כמו methods של HTTP ודומיינים של מקורות, שמזהים את סוגי הבקשות שהקטגוריה יכולה לקבל.
כדי לקבוע הגדרות CORS בקטגוריה שלכם:
המסוף
אי אפשר לנהל CORS באמצעות מסוף Google Cloud . במקום זאת, משתמשים ב-CLI של gcloud.
שורת הפקודה
יוצרים קובץ JSON עם ההגדרות של CORS שרוצים להחיל. ראו דוגמאות להגדרות לקובצי JSON לדוגמה.
משתמשים בפקודה
gcloud storage buckets updateעם הדגל--cors-file:gcloud storage buckets update gs://BUCKET_NAME --cors-file=CORS_CONFIG_FILE
כאשר:
-
BUCKET_NAMEהוא שם הקטגוריה הרלוונטית. לדוגמה,my-bucket. -
CORS_CONFIG_FILEהוא הנתיב לקובץ JSON שיצרתם בשלב 1.
-
ספריות לקוח
C++
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C++ API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה קובעת הגדרות CORS בקטגוריה:
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה קובעת הגדרות CORS בקטגוריה:
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה קובעת הגדרות CORS בקטגוריה:
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה קובעת הגדרות CORS בקטגוריה:
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה קובעת הגדרות CORS בקטגוריה:
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה קובעת הגדרות CORS בקטגוריה:
Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה קובעת הגדרות CORS בקטגוריה:
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה קובעת הגדרות CORS בקטגוריה:
ממשקי API ל-REST
API ל-JSON
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.יוצרים קובץ JSON עם הגדרות CORS שרוצים להחיל. ראו דוגמאות להגדרות לקובצי JSON לדוגמה.
משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשה של קטגורייתPATCH:curl --request PATCH \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=cors' \ --header 'Authorization: Bearer $(gcloud auth print-access-token)' \ --header 'Content-Type: application/json' \ --data-binary @CORS_CONFIG_FILE
כאשר:
-
BUCKET_NAMEהוא שם הקטגוריה. לדוגמה,my-bucket. -
CORS_CONFIG_FILEהוא הנתיב לקובץ JSON שיצרתם בשלב 2.
-
API בפורמט XML
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.יוצרים קובץ XML עם הגדרות CORS שרוצים להחיל. ראו דוגמאות להגדרות לקובצי XML לדוגמה.
משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט XML באמצעות בקשתPUT Bucketבהיקף של?cors:curl -X PUT --data-binary @CORS_CONFIG_FILE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-project-id: PROJECT_ID" \ "https://storage.googleapis.com/BUCKET_NAME?cors"
כאשר:
-
BUCKET_NAMEהוא שם הקטגוריה. לדוגמה,my-bucket. -
PROJECT_IDהוא המזהה של הפרויקט שמשויך לקטגוריה. לדוגמה,my-project. -
CORS_CONFIG_FILEהוא הנתיב לקובץ XML שיצרתם בשלב 2.
-
צפייה בהגדרות של CORS לקטגוריה
כדי לצפות בהגדרות של CORS לקטגוריה:
המסוף
אי אפשר לנהל CORS באמצעות מסוף Google Cloud . במקום זאת, משתמשים ב-CLI של gcloud.
שורת הפקודה
משתמשים בפקודה gcloud storage buckets describe עם הדגל --format:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(cors_config)"
כאשר BUCKET_NAME הוא שם הקטגוריה שבהגדרות CORS שלה רוצים לצפות. לדוגמה, my-bucket.
ספריות לקוח
כדי לראות את ההגדרות של CORS לקטגוריה מסוימת באמצעות ספריות הלקוח, אתם צריכים לפעול לפי ההוראות להצגת מטא-נתונים של קטגוריה ולחפש בתגובה את השדה CORS:
C++
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C++ API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
ממשקי API ל-REST
API ל-JSON
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשה של קטגורייתGET:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=cors"
כאשר
BUCKET_NAMEהוא שם הקטגוריה שאת הגדרות ה-CORS שלה רוצים להציג. לדוגמה,my-bucket.
API בפורמט XML
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט XML באמצעות בקשת קטגוריהGETבהיקף של?cors:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?cors"
כאשר
BUCKET_NAMEהוא שם הקטגוריה שאת הגדרות ה-CORS שלה רוצים להציג. לדוגמה,my-bucket.
הסרת הגדרות CORS מקטגוריה
כדי להסיר הגדרות CORS מקטגוריה, צריך לספק קובץ הגדרות CORS ריק.
שורת הפקודה
כדי להסיר את הגדרות ה-CORS מקטגוריה, משתמשים בפקודה gcloud storage buckets update עם הדגל --clear-cors:
gcloud storage buckets update gs://BUCKET_NAME --clear-cors
מחליפים את BUCKET_NAME בשם הקטגוריה שאת הגדרות ה-CORS שלה רוצים להסיר.
ספריות לקוח
C++
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C++ API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
בדוגמה הבאה מסירים מקטגוריה את כל הגדרות ה-CORS הקיימות:
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
בדוגמה הבאה מסירים מקטגוריה את כל הגדרות ה-CORS הקיימות:
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
בדוגמה הבאה מסירים מקטגוריה את כל הגדרות ה-CORS הקיימות:
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
בדוגמה הבאה מסירים מקטגוריה את כל הגדרות ה-CORS הקיימות:
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
בדוגמה הבאה מסירים מקטגוריה את כל הגדרות ה-CORS הקיימות:
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
בדוגמה הבאה מסירים מקטגוריה את כל הגדרות ה-CORS הקיימות:
Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
בדוגמה הבאה מסירים מקטגוריה את כל הגדרות ה-CORS הקיימות:
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
בדוגמה הבאה מסירים מקטגוריה את כל הגדרות ה-CORS הקיימות:
ממשקי API ל-REST
המאמרים הבאים
- דוגמאות להגדרות CORS.
- למידע נוסף על CORS
- פתרון בעיות של בקשות CORS