שיתוף משאבים בין מקורות (CORS) מאפשר אינטראקציות בין משאבים ממקורות שונים, פעולות שבדרך כלל אסורות כדי למנוע התנהגות זדונית. במאמר הזה נסביר איך קובעים הגדרות CORS בקטגוריה של Cloud Storage, ואיך צופים בהגדרות CORS שנקבעו בקטגוריה. דוגמאות להגדרות CORS מופיעות במאמר דוגמאות להגדרות CORS.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות להגדרה ולצפייה בהגדרות ה-CORS בקטגוריה, צריך לבקש מהאדמין להקצות לכם את התפקיד "אדמין של אחסון" (roles/storage.admin) בקטגוריה.
התפקיד המוגדר מראש הזה כולל את ההרשאות שנדרשות כדי להגדיר את הגדרות ה-CORS ולצפות בהן. כדי לראות את ההרשאות הנדרשות, מרחיבים את הקטע Required Permissions:
ההרשאות הנדרשות
storage.buckets.getstorage.buckets.update
אתם יכולים לקבל את ההרשאות האלה גם באמצעות תפקידים מוגדרים מראש או תפקידים בהתאמה אישית.
במאמר הגדרה וניהול של מדיניות IAM בקטגוריות מוסבר איך מקצים תפקידים בקטגוריות.
קביעת הגדרות CORS בקטגוריה
כדי לקבוע הגדרות CORS בקטגוריה, מציינים מידע, כמו methods של HTTP ודומיינים של מקורות, שמזהים את סוגי הבקשות שהקטגוריה יכולה לקבל.
כדי לקבוע הגדרות CORS בקטגוריה שלכם:
המסוף
- במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
לוחצים על שם הקטגוריה.
לוחצים על הכרטיסייה Configuration.
בקטע שיתוף משאבים בין מקורות, לוחצים על עריכת הגדרות CORS.
מסמנים את התיבה אישור שיתוף משאבים ממקורות שונים.
לוחצים על הוספת הגדרה ואז מבצעים את הפעולות הבאות:
מזינים ערכים בשדות בהגדרה:
רשימת מקורות מורשים: המקורות שרוצים לאפשר בשביל שיתוף של משאבים בין מקורות עם הקטגוריה הזו.
Specify methods: ה-methods של ה-HTTP שרוצים לאפשר בשביל שיתוף של משאבים ממקורות שונים עם הקטגוריה הזו.
List of allowed response headers: כותרות התגובה שרוצים לאפשר בשביל שיתוף משאבים ממקורות שונים עם הקטגוריה הזו.
מועד תפוגת המטמון: מספר השניות שבהן הדפדפן יכול לשלוח בקשות לפני שהוא צריך לחזור על בקשת הקדם-ההפעלה.
מידע נוסף על כל שדה זמין במאמר בנושא רכיבי הגדרות 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. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה קובעת הגדרות 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 בקטגוריה:
Rust
הדוגמה הבאה קובעת הגדרות 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 לקטגוריה
המסוף
- במסוף Google Cloud , נכנסים לדף 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. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
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. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
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.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 מקטגוריה
המסוף
- במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
לוחצים על שם הקטגוריה.
לוחצים על הכרטיסייה Configuration.
בקטע שיתוף משאבים בין מקורות, לוחצים על עריכת הגדרות CORS.
מבצעים אחת מהפעולות הבאות:
כדי למחוק הגדרת CORS ספציפית, לוחצים על Delete בהגדרה שרוצים להסיר.
כדי להשבית את 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. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
בדוגמה הבאה מסירים מקטגוריה את כל הגדרות ה-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 הקיימות:
Rust
בדוגמה הבאה מסירים מקטגוריה את כל הגדרות ה-CORS הקיימות:
ממשקי API בארכיטקטורת REST
המאמרים הבאים
- דוגמאות להגדרות CORS
- למידע נוסף על CORS
- כך פותרים בעיות של בקשות CORS.