שיתוף משאבים בין מקורות (CORS) מאפשר אינטראקציות בין משאבים ממקורות שונים, פעולות שבדרך כלל אסורות כדי למנוע התנהגות זדונית. במאמר הזה נסביר איך קובעים הגדרות CORS בקטגוריה של Cloud Storage, ואיך צופים בהגדרות CORS שנקבעו בקטגוריה. דוגמאות להגדרות CORS מופיעות במאמר דוגמאות להגדרות CORS.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות להגדרת CORS בקטגוריה ולצפייה בהגדרות, צריך לבקש מהאדמין להקצות לכם את התפקיד 'אדמין לניהול אחסון' (roles/storage.admin) בקטגוריה.
התפקיד המוגדר מראש הזה כולל את ההרשאות שנדרשות כדי להגדיר את הגדרות ה-CORS ולצפות בהן. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
storage.buckets.getstorage.buckets.update
אפשר לקבל את ההרשאות האלה גם באמצעות תפקידים מוגדרים מראש אחרים או תפקידים בהתאמה אישית.
במאמר הגדרה וניהול של מדיניות IAM בקטגוריות מוסבר איך מקצים תפקידים בקטגוריות.
קביעת ההגדרות של CORS בקטגוריה
כדי לקבוע הגדרות CORS בקטגוריה, מציינים מידע, כמו methods של HTTP ודומיינים של מקורות, שמזהים את סוגי הבקשות שהקטגוריה יכולה לקבל.
כדי לקבוע הגדרות CORS בקטגוריה שלכם:
המסוף
- במסוף Cloud de Confiance , נכנסים לדף Buckets של Cloud Storage.
לוחצים על שם הקטגוריה.
לוחצים על הכרטיסייה Configuration.
בקטע שיתוף משאבים בין מקורות, לוחצים על עריכת הגדרות ה-CORS.
מסמנים את תיבת הסימון אפשר שיתוף משאבים בין מקורות.
לוחצים על הוספת הגדרה ומבצעים את הפעולות הבאות:
מזינים ערכים בשדות בהגדרה:
רשימת מקורות מורשים: המקורות שרוצים לאפשר בשביל שיתוף של משאבים בין מקורות עם הקטגוריה הזו של Cloud Storage.
Specify methods (ציון methods): ה-methods של HTTP שרוצים לאפשר בשביל שיתוף של משאבים בין מקורות עם הקטגוריה הזו.
רשימת כותרות התגובה המותרות: כותרות התגובה שרוצים לאפשר בשביל שיתוף של משאבים בין מקורות עם הקטגוריה הזו.
מועד תפוגה של המטמון: מספר השניות שבהן הדפדפן יכול לשלוח בקשות לפני שהוא צריך לחזור על בקשת הקדם-הפעלה.
מידע נוסף על כל שדה זמין במאמר רכיבים של הגדרות CORS.
לוחצים על סיום.
אופציונלי: כדי להוסיף עוד הגדרות, חוזרים על השלב הקודם.
לוחצים על Save.
שורת הפקודה
יוצרים קובץ 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. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
הדוגמה הבאה קובעת הגדרות CORS בקטגוריה:
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
הדוגמה הבאה קובעת הגדרות CORS בקטגוריה:
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
הדוגמה הבאה קובעת הגדרות CORS בקטגוריה:
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
הדוגמה הבאה קובעת הגדרות CORS בקטגוריה:
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
הדוגמה הבאה קובעת הגדרות CORS בקטגוריה:
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
הדוגמה הבאה קובעת הגדרות CORS בקטגוריה:
Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
הדוגמה הבאה קובעת הגדרות CORS בקטגוריה:
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
הדוגמה הבאה קובעת הגדרות CORS בקטגוריה:
Rust
הדוגמה הבאה קובעת הגדרות CORS בקטגוריה:
ממשקי API ל-REST
API בפורמט JSON
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.יוצרים קובץ JSON עם הגדרות CORS שרוצים להחיל. ראו דוגמאות להגדרות לקובצי JSON לדוגמה.
משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשה של קטגורייתPATCH:curl --request PATCH \ 'https://storage.s3nsapis.fr/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.s3nsapis.fr/BUCKET_NAME?cors"
כאשר:
-
BUCKET_NAMEהוא שם הקטגוריה. לדוגמה,my-bucket. -
PROJECT_IDהוא המזהה של הפרויקט שמשויך לקטגוריה. לדוגמה,my-project. -
CORS_CONFIG_FILEהוא הנתיב לקובץ XML שיצרתם בשלב 2.
-
צפייה בהגדרות של CORS לקטגוריה
המסוף
- במסוף Cloud de Confiance , נכנסים לדף Buckets של Cloud Storage.
לוחצים על שם הקטגוריה.
לוחצים על הכרטיסייה Configuration.
בקטע שיתוף משאבים בין מקורות, לוחצים על עריכת הגדרות ה-CORS.
לוחצים על ההגדרה.
אופציונלי: עורכים את ההגדרה או לוחצים על ביטול כדי לסגור את תיבת הדו-שיח.
שורת הפקודה
משתמשים בפקודה 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. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Rust
ממשקי API ל-REST
API בפורמט JSON
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשה של קטגורייתGET:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/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.s3nsapis.fr/BUCKET_NAME?cors"
כאשר
BUCKET_NAMEהוא שם הקטגוריה שבהגדרות ה-CORS שלה רוצים לצפות. לדוגמה,my-bucket.
הסרת הגדרות CORS מקטגוריה
המסוף
- במסוף Cloud de Confiance , נכנסים לדף Buckets של Cloud Storage.
לוחצים על שם הקטגוריה.
לוחצים על הכרטיסייה Configuration.
בקטע שיתוף משאבים בין מקורות, לוחצים על עריכת הגדרות ה-CORS.
מבצעים אחת מהפעולות הבאות:
כדי למחוק הגדרת CORS ספציפית, לוחצים על מחיקה ליד ההגדרה שרוצים להסיר.
כדי להשבית את CORS ולמחוק את כל הגדרות ה-CORS של הקטגוריה, מבטלים את הסימון של התיבה Allow cross-origin resource sharing (התרת שיתוף משאבים בין מקורות).
לוחצים על Save.
שורת הפקודה
כדי להסיר את הגדרות ה-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. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
בדוגמה הבאה מסירים מקטגוריה את כל הגדרות ה-CORS הקיימות:
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
בדוגמה הבאה מסירים מקטגוריה את כל הגדרות ה-CORS הקיימות:
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
בדוגמה הבאה מסירים מקטגוריה את כל הגדרות ה-CORS הקיימות:
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
בדוגמה הבאה מסירים מקטגוריה את כל הגדרות ה-CORS הקיימות:
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
בדוגמה הבאה מסירים מקטגוריה את כל הגדרות ה-CORS הקיימות:
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
בדוגמה הבאה מסירים מקטגוריה את כל הגדרות ה-CORS הקיימות:
Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
בדוגמה הבאה מסירים מקטגוריה את כל הגדרות ה-CORS הקיימות:
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
בדוגמה הבאה מסירים מקטגוריה את כל הגדרות ה-CORS הקיימות:
Rust
בדוגמה הבאה מסירים מקטגוריה את כל הגדרות ה-CORS הקיימות:
ממשקי API ל-REST
המאמרים הבאים
- דוגמאות להגדרות CORS
- למידע נוסף על CORS
- פתרון בעיות של בקשות CORS