כברירת מחדל, Dataflow מצפין את התוכן של הלקוחות במנוחה. Dataflow מטפל בהצפנה בשבילכם בלי שתצטרכו לבצע פעולות נוספות. האפשרות הזו נקראת הצפנת ברירת המחדל של Google.
אם אתם רוצים לשלוט במפתחות ההצפנה, אתם יכולים להשתמש במפתחות הצפנה בניהול הלקוח (CMEK) ב-Cloud KMS עם שירותים שמשולבים ב-CMEK, כולל Dataflow. שימוש במפתחות של Cloud KMS מאפשר לכם לשלוט ברמת ההגנה, במיקום, בלוח הזמנים של הרוטציה, בשימוש ובהרשאות הגישה, ובגבולות הקריפטוגרפיים. שימוש ב-Cloud KMS מאפשר לכם גם לעקוב אחרי השימוש במפתחות, לצפות ביומני ביקורת ולשלוט במחזורי החיים של המפתחות. במקום ש-Google תהיה הבעלים של מפתחות להצפנת מפתחות (KEK) סימטריים שמגנים על הנתונים שלכם ותנהל אותם, אתם שולטים במפתחות האלה ומנהלים אותם ב-Cloud KMS.
אחרי שמגדירים את המשאבים עם מפתחות CMEK, חוויית הגישה למשאבי Dataflow דומה לשימוש בהצפנה שמוגדרת כברירת מחדל ב-Google. מידע נוסף על אפשרויות ההצפנה זמין במאמר מפתחות הצפנה בניהול הלקוח (CMEK).
אתם יכולים ליצור צינור עיבוד להעלאת נתונים מרובים או להזנת נתונים, שמוגן באמצעות CMEK, או לגשת לנתונים שמוגנים באמצעות CMEK במקורות וביעדים.
CMEK עם Cloud KMS Autokey
אתם יכולים ליצור מפתחות CMEK באופן ידני כדי להגן על משאבי Dataflow, או להשתמש ב-Cloud KMS Autokey. עם Autokey, מחזיקי מפתחות ומפתחות נוצרים לפי דרישה כדי לתמוך ביצירה או בעדכון של משאבים ב-Dataflow. אם סוכני השירות שמשתמשים במפתחות לפעולות הצפנה ופענוח לא קיימים, הם נוצרים ומקבלים את התפקידים הנדרשים של ניהול זהויות והרשאות גישה (IAM). מידע נוסף מופיע במאמר סקירה כללית על Autokey.
כדי ללמוד איך להשתמש במפתחות CMEK שנוצרו באופן ידני כדי להגן על משאבי Dataflow, אפשר לעיין במאמר יצירת צינור עיבוד נתונים שמוגן על ידי Cloud KMS.
כדי להשתמש במפתחות CMEK שנוצרו על ידי Cloud KMS Autokey כדי להגן על משאבי Dataflow, צריך לפעול לפי השלבים שמופיעים במאמר שימוש ב-Autokey עם משאבי Dataflow כדי ליצור מפתח, ואז לפעול לפי השלבים במאמר יצירת צינור (pipeline) שמוגן על ידי Cloud KMS.
מכסות של Cloud KMS ו-Dataflow
כשמשתמשים ב-CMEK ב-Dataflow, הפרויקטים יכולים לנצל את מכסות הבקשות הקריפטוגרפיות של Cloud KMS. לדוגמה, צינורות Dataflow יכולים לנצל את המכסות האלה כשהצינור ניגש לנתונים שמוגנים באמצעות CMEK במקורות ובמטרות, או כשמאוחזר המצב של צינור מוצפן באמצעות CMEK. מידע נוסף זמין בקטע הצפנה של מיקומי מצב צינורות בדף הזה.
פעולות הצפנה ופענוח באמצעות מפתחות CMEK משפיעות על המכסות של Cloud KMS באופן הבא:
- כשמדובר במפתחות CMEK של תוכנה שנוצרו ב-Cloud KMS, לא נעשה שימוש במכסת Cloud KMS.
- מפתחות CMEK בחומרה – לפעמים נקראים מפתחות Cloud HSM – פעולות ההצפנה והפענוח נספרות במסגרת המכסות של Cloud HSM בפרויקט שמכיל את המפתח.
- מפתחות CMEK חיצוניים – לפעמים נקראים מפתחות Cloud EKM – פעולות ההצפנה והפענוח נספרות במכסות של Cloud EKM בפרויקט שמכיל את המפתח.
מידע נוסף מופיע במאמר מכסות ב-Cloud KMS.
תמיכה ומגבלות
Cloud KMS נתמך בגרסאות הבאות של Apache Beam SDK:
- גרסאות Java SDK 2.13.0 ואילך
- גרסאות Python SDK 2.13.0 ואילך
- גרסאות SDK 2.40.0 ואילך
Cloud KMS עם Dataflow תומך במפתחות אזוריים. אם תשנו את האזור או האזור של העובד בצינור כדי להשתמש באזור אחר מזה שמשויך למפתחות שלכם, מפתחות אזוריים לא יפעלו.
האזור של CMEK והאזור של משימת Dataflow חייבים להיות זהים.
אין תמיכה במיקומים גלובליים ובמיקומים בכמה אזורים. אי אפשר להשתמש במפתחות גלובליים ובמפתחות רב-אזוריים עם צינורות עיבוד נתונים ב-Dataflow.
הצפנה של ארטיפקטים של מצב צינור עיבוד הנתונים
נתונים שצינור Dataflow קורא ממקורות נתונים שצוינו על ידי המשתמש מוצפנים, למעט מפתחות הנתונים שאתם מציינים להמרות מבוססות-מפתח במשימות סטרימינג.
במשימות באצווה, כל הנתונים, כולל מפתחות הנתונים שאתם מציינים להמרות מבוססות-מפתח, תמיד מוגנים באמצעות הצפנת CMEK.
במשימות סטרימינג שנוצרו אחרי 7 במרץ 2024, כל נתוני המשתמשים מוצפנים באמצעות CMEK.
במשימות סטרימינג שנוצרו לפני 7 במרץ 2024, מפתחות הנתונים שמשמשים בפעולות מבוססות-מפתח, כמו חלוקה לחלונות, קיבוץ וצירוף, לא מוגנים על ידי הצפנת CMEK. כדי להפעיל את ההצפנה הזו לעבודות, צריך לנקז או לבטל את העבודה ואז להפעיל אותה מחדש.
מטא-נתונים של משימות לא מוצפנים באמצעות מפתחות Cloud KMS. מטא-נתונים של משימות כוללים את הפרטים הבאים:
- נתונים שסופקו על ידי המשתמש, כמו שמות של משימות, ערכים של פרמטרים של משימות וגרף של צינורות
- נתונים שנוצרו על ידי המערכת, כמו מזהי משרות וכתובות IP של עובדים
הצפנה של מיקומי מצב צינור עיבוד הנתונים
מיקומי האחסון הבאים מוגנים באמצעות מפתחות Cloud KMS:
- דיסקים לאחסון מתמיד שמצורפים לעובדי Dataflow ומשמשים לערבוב נתונים (shuffle) מבוסס-דיסקים לאחסון מתמיד ולאחסון מצב של סטרימינג.
- מצב Shuffle של Dataflow לצינורות עיבוד נתונים באצווה.
- קטגוריות של Cloud Storage שבהן מאוחסנים נתונים זמניים של ייצוא או ייבוא. Dataflow תומך רק במפתחות ברירת מחדל שהמשתמש מגדיר ברמת הדלי.
- קטגוריות של Cloud Storage שמשמשות לאחסון קבצים בינאריים שמכילים קוד של צינורות. Dataflow תומך רק במפתחות ברירת מחדל שהוגדרו על ידי המשתמש ברמת הדלי.
- קטגוריות של Cloud Storage שמשמשות לאחסון נתונים לדוגמה של צינורות, כשמופעל דגימת נתונים.
- מצב מנוע הסטרימינג של Dataflow לצינורות נתונים בסטרימינג.
מפתחות חיצוניים
אתם יכולים להשתמש ב-Cloud External Key Manager (Cloud EKM) כדי להצפין נתונים ב-Google Cloud Platform באמצעות מפתחות חיצוניים שאתם מנהלים.
כשמשתמשים במפתח Cloud EKM, ל-Google אין שליטה בזמינות של המפתח שמנוהל חיצונית. אם המפתח לא יהיה זמין במהלך יצירת העבודה או הצינור, העבודה או הצינור יבוטלו.
מידע נוסף על שיקולים נוספים לשימוש במפתחות חיצוניים זמין במאמר בנושא Cloud External Key Manager.
לפני שמתחילים
מוודאים שיש לכם את Apache Beam SDK ל-Java בגרסה 2.13.0 ואילך, את Apache Beam SDK ל-Python בגרסה 2.13.0 ואילך או את Apache Beam SDK ל-Go בגרסה 2.40.0 ואילך.
מידע נוסף זמין במאמר בנושא התקנת Apache Beam SDK.
מחליטים אם להריץ את Dataflow ואת Cloud KMS באותו פרויקט ב-Google Cloud Platform או בפרויקטים שונים. בדף הזה נעשה שימוש במוסכמה הבאה:
-
PROJECT_IDהוא מזהה הפרויקט שבו פועל Dataflow. -
PROJECT_NUMBERהוא מספר הפרויקט שבו פועל Dataflow. -
KMS_PROJECT_IDהוא מזהה הפרויקט שבו פועל Cloud KMS.
מידע על מזהי פרויקטים ומספרי פרויקטים זמין במאמר בנושא זיהוי פרויקטים. Google Cloud
-
ב Google Cloud פרויקט שבו רוצים להריץ את Cloud KMS:
- הפעלת Cloud KMS API.
- יוצרים אוסף מפתחות ומפתח כמו שמתואר במאמר בנושא יצירת מפתחות סימטריים. Cloud KMS ו-Dataflow הם שירותים אזוריים. האזור של ה-CMEK והאזור של עבודת Dataflow חייבים להיות זהים. אל תשתמשו במפתחות גלובליים או רב-אזוריים בצינורות עיבוד הנתונים של Dataflow. במקום זאת, צריך להשתמש במקשים אזוריים.
מתן הרשאות הצפנה/פענוח
מקצים את
Cloud KMS CryptoKey Encrypter/Decrypterהתפקיד לחשבון השירות של Dataflow. ההרשאה הזו מאפשרת לחשבון השירות של Dataflow להצפין ולפענח באמצעות ה-CMEK שציינתם. אם אתם משתמשים במסוף ובדף Create job from template, ההרשאה הזו ניתנת באופן אוטומטי ואפשר לדלג על השלב הזה.Google Cloudמשתמשים ב-Google Cloud CLI כדי להקצות את התפקיד:
gcloud projects add-iam-policy-binding KMS_PROJECT_ID \ --member serviceAccount:service-PROJECT_NUMBER@dataflow-service-producer-prod.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
מחליפים את
KMS_PROJECT_IDבמזהה של הפרויקט שבו פועל Cloud KMS, ואתPROJECT_NUMBERבמספר הפרויקט (לא מזהה הפרויקט) שבו פועלים משאבי Dataflow. Google Cloud Google Cloudמקצים את
Cloud KMS CryptoKey Encrypter/Decrypterהתפקיד לחשבון השירות של Compute Engine. ההרשאה הזו מאפשרת לחשבון השירות של Compute Engine להצפין ולפענח באמצעות מפתח ה-CMEK שציינתם.משתמשים ב-Google Cloud CLI כדי להקצות את התפקיד:
gcloud projects add-iam-policy-binding KMS_PROJECT_ID \ --member serviceAccount:service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
מחליפים את
KMS_PROJECT_IDבמזהה הפרויקט שבו פועל Cloud KMS, ומחליפים אתPROJECT_NUMBERבמספר הפרויקט (ולא במזהה הפרויקט) שבו פועלים משאבי Compute Engine. Google Cloud Google Cloud
יצירת פייפליין שמוגן על ידי Cloud KMS
כשיוצרים צינור להעברת נתונים באצווה או בסטרימינג, אפשר לבחור מפתח Cloud KMS כדי להצפין את מצב צינור הנתונים. מצב הפייפליין הוא הנתונים שמאוחסנים על ידי Dataflow באחסון זמני.
ממשק שורת הפקודה (CLI)
כדי ליצור צינור חדש עם מצב צינור שמוגן על ידי מפתח Cloud KMS, מוסיפים את הדגל הרלוונטי לפרמטרים של הצינור. בדוגמה הבאה מוסבר איך להפעיל צינור לעיבוד נתונים של ספירת מילים באמצעות Cloud KMS.
שימוש ב-Autokey
אם עדיין לא עשיתם זאת, מפעילים את Cloud KMS Autokey.
כדי להשתמש ב-Autokey עם צינורות שנוצרו משורת הפקודה, צריך לפעול לפי ההוראות שבקטע שימוש ב-Autokey עם משאבי Dataflow כדי להקצות מפתח, ואז להשתמש בו במקום KMS_KEY.
Java
כשמשתמשים במפתח Cloud KMS, Dataflow לא תומך ביצירת נתיבי Cloud Storage שמוגדרים כברירת מחדל לקבצים זמניים. חובה לציין את gcpTempLocation.
mvn compile exec:java -Dexec.mainClass=org.apache.beam.examples.WordCount \ -Dexec.args="--inputFile=gs://dataflow-samples/shakespeare/kinglear.txt \ --output=gs://STORAGE_BUCKET/counts \ --runner=DataflowRunner --project=PROJECT_ID \ --gcpTempLocation=gs://STORAGE_BUCKET/tmp \ --dataflowKmsKey=KMS_KEY" -Pdataflow-runner
Python
כשמשתמשים במפתח Cloud KMS, Dataflow לא תומך ביצירת נתיבי Cloud Storage שמוגדרים כברירת מחדל לקבצים זמניים. חובה לציין את gcpTempLocation.
python -m apache_beam.examples.wordcount \ --input gs://dataflow-samples/shakespeare/kinglear.txt \ --output gs://STORAGE_BUCKET/counts \ --runner DataflowRunner \ --region HOST_GCP_REGION \ --project PROJECT_ID \ --temp_location gs://STORAGE_BUCKET/tmp/ \ --dataflow_kms_key=KMS_KEY
Go
כשמשתמשים במפתח Cloud KMS, Dataflow לא תומך ביצירת נתיבי Cloud Storage שמוגדרים כברירת מחדל לקבצים זמניים. חובה לציין את gcpTempLocation.
wordcount --project HOST_PROJECT_ID \ --region HOST_GCP_REGION \ --runner dataflow \ --staging_location gs://STORAGE_BUCKET/staging \ --temp_location gs://STORAGE_BUCKET/temp \ --input gs://dataflow-samples/shakespeare/kinglear.txt \ --output gs://STORAGE_BUCKET/output \ --dataflow_kms_key=KMS_KEY
מסוףGoogle Cloud
- פותחים את ממשק המעקב של Dataflow.
מעבר לממשק האינטרנט של Dataflow - בוחרים באפשרות Create job from template (יצירת עבודה מתבנית).
- בקטע הצפנה, בוחרים באפשרות מפתח בניהול הלקוח.
בפעם הראשונה שמנסים להריץ משימה עם מפתח Cloud KMS מסוים, יכול להיות שלא ניתנו לחשבון השירות של Compute Engine או לחשבון השירות של Dataflow ההרשאות להצפנה ולפענוח באמצעות המפתח הזה. במקרה כזה, תוצג הודעת אזהרה שתבקש מכם להעניק את ההרשאה לחשבון השירות.
אימות השימוש במפתח Cloud KMS
אתם יכולים לבדוק אם צינור הנתונים משתמש במפתח Cloud KMS באמצעות מסוףGoogle Cloud או Google Cloud CLI.
המסוף
- פותחים את ממשק המעקב של Dataflow.
מעבר לממשק האינטרנט של Dataflow - כדי לראות את פרטי המשימה, בוחרים את משימת ה-Dataflow.
- כדי לראות את סוג המפתח, בודקים את השדה סוג ההצפנה בחלונית הצדדית פרטי המשרה.
- בסוג ההצפנה: 'מפתח בניהול Google'
- בקטע Encryption type (סוג ההצפנה): Customer-Managed key (מפתח בניהול הלקוח)
- בסוג ההצפנה: 'מפתח בניהול Google'
CLI
מריצים את הפקודה describe באמצעות ה-CLI של gcloud:
gcloud dataflow jobs describe JOB_ID
מחפשים את השורה שמכילה את serviceKmsKeyName. המידע הזה מראה שמפתח Cloud KMS שימש להצפנת מצב של צינור Dataflow.
כדי לאמת את השימוש במפתחות Cloud KMS להצפנת מקורות ויעדים, אפשר להשתמש בדפים ובכלים של המקורות והיעדים במסוף, כולל Pub/Sub, Cloud Storage ו-BigQuery. Google Cloud אפשר גם לאמת את השימוש במפתחות Cloud KMS באמצעות עיון ביומני הביקורת של Cloud KMS.
השבתה או השמדה של המפתח
אם מסיבה כלשהי תצטרכו להשבית או להשמיד את המפתח, תוכלו להשתמש במסוףGoogle Cloud . גם השבתה וגם השמדה של מפתח מבטלות את העבודות שנעשות באמצעות המפתח הזה. הפעולה הזו היא סופית.
אם אתם משתמשים ב-Cloud EKM, צריך להשבית או להשמיד את המפתח במנהל המפתחות החיצוני.
אם אתם משתמשים באפשרות Streaming Engine, מומלץ לצלם תמונה של העבודה לפני השבתת המפתח.
הסרת הגישה של Dataflow למפתח Cloud KMS
כדי להסיר את הגישה של Dataflow למפתח Cloud KMS:
- מבטלים את ההרשאה של
Cloud KMS CryptoKey Encrypter/Decrypterrole לחשבון השירות של Dataflow באמצעות מסוףGoogle Cloud או ה-CLI של gcloud. - מבטלים את
Cloud KMS CryptoKey Encrypter/Decrypterהתפקיד של חשבון השירות של Compute Engine באמצעות מסוףGoogle Cloud או ה-CLI של gcloud. - אפשר גם להשמיד את החומר של גרסת המפתח כדי למנוע מ-Dataflow וממשאבים אחרים לגשת למצב של צינור הנתונים.
אמנם אפשר להשמיד את חומר גרסת המפתח, אבל אי אפשר למחוק מפתחות ואוספי מפתחות. למפתחות ולאוספי המפתחות אין עלויות שניתנות לחיוב וגם לא מגבלות מכסה, ולכן אין להם השפעה על העלויות ועל מגבלות הייצור.
עבודות Dataflow מאמתות מעת לעת אם חשבון השירות של Dataflow יכול להשתמש בהצלחה במפתח Cloud KMS שצוין. אם בקשת הצפנה או פענוח נכשלת, שירות Dataflow מפסיק את כל הטמעת הנתונים והעיבוד בהקדם האפשרי. Dataflow מתחיל מיד לנקות את Google Cloud המשאבים שמצורפים לעבודה.
שימוש במקורות וביעדים שמוגנים באמצעות מפתחות Cloud KMS
ל-Dataflow יש גישה ל Google Cloud מקורות ולמטרות שמוגנים על ידי מפתחות Cloud KMS. אם לא יוצרים אובייקטים חדשים, לא צריך לציין את מפתח Cloud KMS של מקורות ויעדים. אם יכול להיות שצינור Dataflow ייצור אובייקטים חדשים ביעד, צריך להגדיר פרמטרים של צינור. הפרמטרים האלה מציינים את מפתחות Cloud KMS עבור יעד הנתונים הזה ומעבירים את מפתח Cloud KMS לשיטות המתאימות של מחבר קלט/פלט.
הגדרות ה-CMEK של Dataflow לא רלוונטיות למקורות וליעדים של צינורות Dataflow שלא תומכים ב-CMEK שמנוהל על ידי Cloud KMS.
הרשאות של מפתחות Cloud KMS
כשניגשים לשירותים שמוגנים באמצעות מפתחות Cloud KMS, צריך לוודא שהקציתם את Cloud KMS CryptoKey Encrypter/Decrypter
התפקיד לשירות הזה. החשבונות הם מהסוגים הבאים:
- Cloud Storage:
service-{project_number}@gs-project-accounts.iam.gserviceaccount.com - BigQuery:
bq-{project_number}@bigquery-encryption.iam.gserviceaccount.com - Pub/Sub:
service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com
Cloud Storage
אם רוצים להגן על קטגוריות זמניות וקטגוריות של מחסן ביניים שצוינו באמצעות פרמטרים של צינורות עיבוד הנתונים TempLocation/temp_location ו-stagingLocation/staging_location, אפשר לעיין במאמר בנושא הגדרת קטגוריות של Cloud Storage שמוגנות באמצעות CMEK.
BigQuery
Java
משתמשים ב-method with_kms_key() על ערכי החזרה מ-BigQueryIO.readTableRows(), BigQueryIO.read(), BigQueryIO.writeTableRows() ו-BigQueryIO.write().
דוגמה אפשר למצוא במאגר Apache Beam ב-GitHub.
Python
משתמשים בארגומנט kms_key ב-BigQuerySource וב-BigQuerySink.
דוגמה אפשר למצוא במאגר Apache Beam ב-GitHub.
Go
ב-BigQuery IOs אין תמיכה בשימוש במפתח kms ב-Go.
Pub/Sub
Dataflow מטפל בגישה לנושאים שמוגנים באמצעות CMEK על ידי שימוש בהגדרת ה-CMEK של הנושא.
הוראות לקריאה וכתיבה בנושאים ב-Pub/Sub שמוגנים באמצעות CMEK מופיעות במאמר הוראות לשימוש ב-CMEK ב-Pub/Sub.
רישום ביומני ביקורת של השימוש במפתחות Cloud KMS
Dataflow מאפשר ל-Cloud KMS להשתמש ביומני Cloud Audit Logs כדי לרשום ביומן פעולות שקשורות למפתחות, כמו הצפנה ופענוח. Dataflow מספק את מזהה העבודה כהקשר למתקשר של Cloud KMS. המזהה הזה מאפשר לעקוב אחרי כל מקרה שבו נעשה שימוש במפתח ספציפי של Cloud KMS לעבודת Dataflow.
ב-Cloud Audit Logs מתנהלים יומני ביקורת לכל פרויקט, תיקייה וארגון ב-Google Cloud Platform. יש כמה אפשרויות לצפייה ביומני הביקורת של Cloud KMS.
Cloud KMS כותב יומני ביקורת של פעילות אדמינים עבור עבודות Dataflow עם הצפנת CMEK. ביומנים האלה מתועדות פעולות שמשנות את ההגדרות או את המטא-נתונים של משאב. אי אפשר להשבית את יומני הביקורת Admin Activity.
אם מפעילים את Cloud KMS באופן מפורש, הוא כותב יומני ביקורת של Data Access למשימות Dataflow עם הצפנת CMEK. יומני ביקורת של Data Access מכילים קריאות ל-API שקוראות את ההגדרות או את המטא-נתונים של משאבים. היומנים האלה מכילים גם קריאות ל-API שמופעלות על ידי משתמשים ויוצרות, משנות או קוראות נתוני משאבים שסופקו על ידי משתמשים. הוראות להפעלת כל יומני הביקורת של גישה לנתונים או חלק מהם מופיעות במאמר הגדרת יומני ביקורת של גישה לנתונים.
תמחור
אפשר להשתמש במפתחות הצפנה של Cloud KMS עם Dataflow בכל האזורים של Dataflow שבהם Cloud KMS זמין.
השילוב הזה לא כרוך בעלויות נוספות מעבר לפעולות העיקריות, שמחויבות בפרויקט שלכם. Google Cloudבכל פעם שחשבון השירות של Dataflow משתמש במפתח Cloud KMS שלכם, הפעולה מחויבת לפי התעריף של פעולות במפתח Cloud KMS.
מידע נוסף זמין במאמר פרטי התמחור של Cloud KMS.
פתרון בעיות
אפשר להיעזר בהצעות שבקטע הזה כדי לפתור את השגיאות.
לא ניתן לאמת את Cloud KMS
יכול להיות שתהליך העבודה ייכשל עם השגיאה הבאה:
Workflow failed. Causes: Cloud KMS key <key-name> cannot be validated.
כדי לפתור את הבעיה, צריך לוודא שהעברתם את נתיב המפתח המלא. נראה שprojects/<project-id>/locations/<gcp-region>/keyRings/<key-ring-name>/cryptoKeys/<key-name>. חפשו שגיאות הקלדה אפשריות בנתיב המפתח.
ההרשאה למפתח Cloud KMS נדחתה
יכול להיות שתהליך העבודה ייכשל עם השגיאה הבאה:
Workflow failed. Causes: Cloud KMS key Permission 'cloudkms.cryptoKeyVersions.useToEncrypt' denied on resource
'projects/<project-id>/locations/<gcp-region>/keyRings/<key-ring-name>/cryptoKeys/<key-name>' (or it may not exist). cannot be validated.
כדי לפתור את הבעיה, צריך לוודא שמזהה הפרויקט שמופיע בנתיב המפתח נכון. כמו כן, צריך לוודא שיש לכם הרשאה להשתמש במפתח.
מיקום המפתח ב-Cloud KMS לא תואם למיקום של משימת Dataflow
יכול להיות שתהליך העבודה ייכשל עם השגיאה הבאה:
Workflow failed. Causes: Cloud KMS key projects/<project-id>/locations/<gcp-region>/keyRings/<key-ring-name>/cryptoKeys/<key-name>
can't protect resources for this job. Make sure the region of the KMS key matches the Dataflow region.
כדי לפתור את הבעיה, אם אתם משתמשים במפתח אזורי, צריך לוודא שמפתח Cloud KMS נמצא באותו אזור כמו עבודת Dataflow.