בדף הזה מוסבר בקצרה על האפשרויות ש-Media CDN מספק כדי למנוע הפצה לא מורשית של התוכן שלכם.
Media CDN מציע את האפשרויות הבאות כדי לעזור לכם להגן על התוכן מפני הפצה לא מורשית.
אסימונים (הגישה המומלצת): Media CDN משתמש באסימונים כדי להגן על התוכן.
טוקן הוא אמצעי להחלפת בקשות חתומות, כמו קובץ Cookie חתום, URI עם פרמטרים של שאילתה או רכיב נתיב. אסימונים תקפים שמוצגים על ידי הצופים משמשים לאימות הגישה לתוכן שלכם. צופים עם טוקן לא תקין או עם טוקן חסר לא יכולים לגשת לתוכן שלכם.
אתם יכולים לבחור להשתמש באימות באמצעות טוקן יחיד או באמצעות שני טוקנים. נדרשים טוקנים לאימות באמצעות שני טוקנים.
כשמשתמשים באימות באמצעות שני אסימונים, Media CDN משתמש בשני אסימונים: אסימון לטווח קצר ואסימון לטווח ארוך.
Google ממליצה להשתמש בטוקנים לשילובים חדשים כי הם מציעים את היתרונות הבאים:
- לספק תאימות לרשתות להעברת תוכן (CDN) שאינן של Google.
- תמיכה בחתימה רק על נתיב.
- הפעלת חתימה של כמה כותרות.
- הגדרת הרשאות גישה פרטניות וביטול הרשאות.
- מצמצמים את ההשפעה של טוקנים שנפרצו.
- אפשר להטמיע נתונים שרירותיים ומזהי סשן.
חתימות: Media CDN משתמש בחתימה אחת כדי להגן על התוכן. חתימות מאפשרות לכם לחתום על כתובת URL מלאה, כולל המארח והפרוטוקול.
אתם יכולים להשתמש בשתי האפשרויות יחד כדי להגן על התוכן שלכם.
איך עובד אימות באמצעות שני אסימונים
אימות באמצעות שני טוקנים משתמש בשני טוקנים כדי לאמת בקשות לתוכן שלכם: טוקן לזמן קצר להפעלת ההפעלה וטוקן לזמן ארוך לשאר הפעלת ההפעלה.
כדי להשתמש באימות באמצעות שני טוקנים, צריך להגדיר את שרת האפליקציות כך שינפיק סוכני משתמש עם טוקנים לטווח קצר. לאחר מכן, מגדירים את Media CDN כך שיגיב לטוקנים לזמן קצר. אפשר להציב את האסימון בפרמטר שאילתה שתבחרו, או להציב את האסימון בקובץ Cookie. מידע נוסף זמין במאמר בנושא שימוש באימות באמצעות שני אסימונים.
טוקנים לזמן קצר שנוצרים על ידי שרת האפליקציה עוזרים להגן על קובצי מניפסט ראשיים (לפעמים נקראים רשימות השמעה עם כמה גרסאות). תוקף הבקשה החתומה קצר מספיק כדי לבקש מניפסט ראשי, אבל לא כדי לצפות בכל התוכן שכלול במניפסט.
כש-Media CDN מקבל בקשה עם אסימון מורשה לטווח קצר, הוא יוצר אסימון חתום לטווח ארוך. אפשר להשתמש בטוקן בפרמטר שאילתה עם שם יחיד או בקובץ Cookie. הטוקן לטווח ארוך
מאפשר צפייה בתוכנית באורך מלא. הטוקנים החתומים לטווח ארוך שנוצרים על ידי Media CDN משתמשים בחתימות Ed25519 שנחתמות באמצעותGoogle-owned and managed keys שמשויך למשאב EdgeCacheKeyset.
אפשר להתאים אישית את זמן התפוגה של טוקנים לטווח קצר ולטווח ארוך. כדי להבטיח את רמת האבטחה הגבוהה ביותר, Google ממליצה להגדיר את זמן התפוגה של אסימונים לטווח קצר שנוצרים בשרת האפליקציה לדקה אחת. חובה להגדיר את זמן התפוגה של טוקנים ארוכי טווח שנוצרים ב-Media CDN למשך זמן ארוך יותר מאורך התוכן, עד למקסימום של יום אחד.
תהליך הבקשה לאימות באמצעות שני טוקנים
התרשים הבא מתאר את זרימת הבקשה:
צופה שולח בקשה לשרת האפליקציות שלכם לקבלת מטא-נתונים של מדיה שהוא רוצה לצפות בה. שרת האפליקציה מחזיר את ה-URI של המניפסט הראשי שחתום באמצעות טוקן לטווח קצר.
אפליקציית הנגן שולחת בקשה למניפסט הראשי מ-Media CDN. הבקשה כוללת את הטוקן לטווח קצר כערך של פרמטר שאילתה של URI בפורמט של פרמטר שאילתה עם שם יחיד.
Media CDN מאמת את האסימון לטווח קצר ואת הפרמטרים החתומים של האסימון.
- אם האסימון תקף, Media CDN יוצר אסימון חתימה לטווח ארוך. Media CDN מחזיר את האסימון בכותרת Set-Cookie, או על ידי שינוי של מניפסט ושל כתובות URI של פלחים במניפסט הראשי כך שיכללו את האסימון.
- אם הטוקן לא תקין, Media CDN מגיב עם תשובת
HTTP 403 Forbidden.
אפליקציית הנגן מקבלת את המניפסט הראשי מ-Media CDN, ואז שולחת בקשה לפלייליסט של המדיה או לפלחי המדיה שמפנים אליהם במניפסט הראשי. הבקשה חייבת לכלול את הטוקן לטווח ארוך, כקובץ Cookie חתום או כפרמטר של URI.
Media CDN מאמת את טוקן החתימה לטווח ארוך:
- אם האסימון לטווח ארוך תקף לבקשה הספציפית, Media CDN מציג את התוכן המבוקש.
- אם האסימון לטווח ארוך לא תקף (בגלל אסימון שתוקפו פג או נתיב לא תקף), Media CDN מגיב בתשובה
HTTP 403 Forbidden.
התהליך חוזר על עצמו עד שהפעלת המדיה מסתיימת או עד שתוקף החתימה לטווח ארוך פג.
פורמטים נתמכים של טוקנים לבקשות חתומות עם שני טוקנים
בקשות חתומות עם שני אסימונים ב-Media CDN תומכות בכמה פורמטים, בהתאם לסוג האסימון.
בקשות חתומות לפרק זמן קצר
בבקשות חתומות לפרק זמן קצר, Media CDN תומך באסימונים שחתומים בחתימות Ed25519 כברירת מחדל. אפשר גם להשתמש בקוד אימות הודעות (HMAC) מבוסס-גיבוב עם מפתח סימטרי, כדי להבטיח תאימות לקוד אפליקציה קיים ולרשתות CDN אחרות.
כדי להשתמש ב-HMAC, צריך להשתמש ב-Secret Manager כדי לאחסן את סוד ה-HMAC. לאחר מכן מעניקים לחשבון השירות של Media CDN גישה לסוד המאוחסן. כשיטה מומלצת, Google ממליצה להשתמש בחתימה אסימטרית עם חתימות Ed25519 כדי לשפר את האבטחה והביצועים.
חשבון השירות של Media CDN נמצא בבעלות הפרויקט Media CDN, והוא לא מוצג ברשימת חשבונות השירות של הפרויקט שלכם. חשבון השירות מעניק גישה רק למשאבי Media CDN בפרויקטים שאתם מאשרים במפורש.
חשבון השירות הוא בפורמט הבא:
service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com
כאשר PROJECT_NUMBER הוא מספר הפרויקט.
כדי להפעיל את חשבון השירות של Media CDN, צריך ליצור לפחות משאב אחד של Media CDN, כמו EdgeCacheOrigin.
בקשות חתומות לפרק זמן ארוך
בקשות חתומות לפרק זמן ארוך ב-Media CDN משתמשות בחתימות Ed25519 שנחתמות באמצעות Google-owned and managed keys
שמשויך למשאב EdgeCacheKeyset.
Media CDN תומך בפורמט יחיד של טוקנים לטוקנים לטווח ארוך, שאפשר להשתמש בהם בפרמטר שאילתה עם שם יחיד לשידורי HLS, או בקובץ Cookie.
איך פועלות בקשות חתומות
בקשה חתומה משתמשת בחתימות או באסימונים כדי לוודא שכל צופה מאומת לצורך גישה לתוכן. אתם יכולים להגדיר את Media CDN כך שהגישה תוגבל לאחת מהאפשרויות הבאות:
- או URI מדויק או קידומת URI לזמן מוגבל
- לקוח ספציפי
- בבקשות חתומות שמשתמשות באסימונים, עד חמש נתיבים עם תווים כלליים לחיפוש
כדי להשתמש בבקשות חתומות, צריך ליצור מפתחות לחתימה ולאימות של חתימות. לאחר מכן מגדירים מסלולים, שמאפשרים לבצע אופטימיזציה של ההתנהגות על סמך סוג התוכן, מאפייני הלקוח והדרישות שלכם לגבי עדכניות. אפשר לאכוף בקשות חתומות לכל מסלול בנפרד, וכך להגן על נקודות קצה ספציפיות.
כל שירות Media CDN יכול להשתמש בקולקציה של כמה מפתחות. אוסף המפתחות נקרא גם keyset. ערכות מפתחות מאפשרות לכם להחליף מפתחות ולהפיץ מפתחות פרטיים בתשתית שלכם ללא הפרעה.
אתם יכולים להגדיר את Media CDN כך שישתמש בבקשות חתומות או באסימונים כדי להגן על התוכן.
בבקשות חתומות שמשתמשות באסימונים, אפשר להציב את האסימון באחד מהמקומות הבאים:
- בפרמטר שאילתה שתבחרו
- בקובץ Cookie
מידע נוסף זמין במאמר בנושא יצירת אסימונים.
אם משתמשים בחתימות כדי לחתום על בקשות, אפשר להשתמש באחד מהפורמטים הבאים:
- URI מדויק עם פרמטרים של שאילתה: מציינים
URLPrefixעם ה-URI המדויק ומצרפים את אותם פרמטרים של שאילתה לכמה כתובות URI. - קידומת URI עם פרמטרים של שאילתה: מציינים
URLPrefixעם קידומת URI ומצרפים את אותם פרמטרים של שאילתה למספר כתובות URI. - רכיב נתיב: מציינים רכיב נתיב, שמאפשר ל-URI של מניפסט יחסי לקבל בירושה את רכיב ה-URI החתום.
- קובץ Cookie חתום: מציינים קידומת URI בקובץ Cookie, שמאפשרת גישה לכל URI עם הקידומת שציינתם.
מידע נוסף זמין במאמר בנושא יצירת חתימות.
לתשומת ליבכם
בקטעים הבאים מפורטים גורמים שונים שכדאי לקחת בחשבון כדי למנוע הפצה לא מורשית של התוכן שלכם.
שיקולי אבטחה
Media CDN מאמת את כל הבקשות שתואמות לנתיב שהוגדר עם cdnPolicy.signedRequestMode של REQUIRE_SIGNATURES או REQUIRE_TOKENS.
מומלץ לאמת את הבקשות בשרת המקור. למרות ש-Media CDN דוחה בקשות לא חוקיות ולא חתומות למסלול שדורש חתימות, יכול להיות שלקוחות ימצאו דרך לגשת ישירות למקור שלכם. שכבת אימות נוספת עוזרת לספק גישה מקיפה להגנה על התוכן.
בטבלה הבאה מוסבר מתי Media CDN מאמת בקשה:
| לבקשה יש חתימה | החתימה תקפה? | signedRequestMode | התנהגות | קוד סטטוס |
|---|---|---|---|---|
| לא | לא רלוונטי | REQUIRE_SIGNATURES או REQUIRE_TOKENS |
בקשות ללא חתימות או טוקנים נחשבות כאילו החתימה לא תקינה. | HTTP 403 |
| כן | לא | REQUIRE_SIGNATURES או REQUIRE_TOKENS |
חתימה או טוקן נחשבים לא תקינים אם תוקפם פג או אם כתובת ה-URL לא תואמת או שהמפתח שגוי. חתימות או טוקנים לא תקינים נדחים בקצה של ה-CDN. | HTTP 403 |
| כן | כן | REQUIRE_SIGNATURES או REQUIRE_TOKENS |
החתימה או האסימון מאומתים, והתגובה נשלחת עם תוכן ממטמון או מהמקור. | HTTP 200 |
| כן | כן | אף אחד או DISABLED |
לא מתבצע אימות, ותגובה מועברת למשתמש ישירות. | HTTP 200 |
| כן | לא | אף אחד או DISABLED |
לא מתבצע אימות, ותגובה מועברת למשתמש ישירות. | HTTP 200 |
כשהאפליקציה מזהה חתימה לא חוקית, חשוב לוודא שהיא מגיבה עם קוד סטטוס HTTP 403 (Forbidden).
אי אפשר לשמור במטמון קודי סטטוס של HTTP 403.
אם האפליקציה שולחת קוד סטטוס שניתן לשמירה במטמון לבקשה לא חוקית, יכול להיות שבקשות עתידיות חוקיות יידחו בטעות.
מגבלות על URI
רוב לקוחות ה-HTTP המודרניים תומכים ב-URI באורך של עד 8,000 תווים. עם זאת, יכול להיות שבמכשירים ישנים או נישתיים מסוימים יהיו מגבלות מחמירות יותר. באופן כללי, URI חתום מוסיף כ-125 תווים ל-URI של הבקשה, כולל:
- אם משתמשים בכל שמות השדות, האורך של כל שדה הוא בערך 67 תווים (למשל
Expires=ו-KeyName=). - חותמת הזמן של מערכת Unix, 10 תווים
-
KeyName, חמישה תווים - עבור הערך
Signatureבקידוד Base64, 43 תווים
השיטה המומלצת היא להקפיד שאורכי ה-URI יהיו פחות מ-2,000 תווים, באמצעות פרמטרים של שאילתות כטוקנים. כתובות URI קצרות יותר מונעות ממכשירים לשלוח כתובות URI קטומות ל-Media CDN.
סטרימרים מדור קודם
יכול להיות שמכשירים ישנים לסטרימינג של וידאו לא תומכים באופן מלא בצירוף קובצי Cookie לבקשות של מניפסט או של פלח מדיה. אם יש לכם מכשירים עם בעיות ידועות בטיפול בקובצי Cookie של HTTP, אתם צריכים להגדיר את Media CDN כך שישתמש בפרמטרים של שאילתות לבקשות חתומות ולהחלפת טוקנים כפולה.
הסכמה ועמידה בדרישות בנושא פרטיות
אתם נושאים באחריות הבלעדית לכל דרישות ההסכמה והתאימות לפרטיות שנדרשות כשמשתמשים בקובצי Cookie להחלפת טוקנים לזמן קצר. כשמגדירים את Media CDN לשימוש בבקשות חתומות עם שני אסימונים, Google מנפיקה ומנהלת את קובצי ה-Cookie שמשמשים לאסימונים לטווח ארוך.
חיוב
מידע נוסף על החיוב ב-Secret Manager זמין במאמר תמחור.
השליפות של סודות מ-Secret Manager ב-Media CDN נשמרות במטמון באופן פנימי, וכך מצטמצם באופן משמעותי קצב השליפות של סודות מ-Secret Manager. בנוסף, הפחתת האחזורים מצמצמת באופן משמעותי את שיעורי הגישה ש-Secret Manager מזהה ומחייב עליהם.
מידע נוסף על שמירה במטמון של סודות ב-Media CDN זמין במאמר סקירה כללית על מפתחות.