הגדרה של הרשאות Google Cloud ו-Cloud Storage שלב אחר שלב

במאמר הזה מוסבר איך מגדירים Google Cloud הרשאות ו-Cloud Storage שלב אחר שלב, כולל:

  • הכנת קטגוריית היעד של Cloud Storage.
  • הכנת מפתח של Cloud Key Management Service לאבטחת הנתונים.
  • מספקים לצוות Transfer Appliance את נתוני ההגדרה של קטגוריית Cloud Storage.

לפני שמתחילים

מוודאים שקיבלתם אימייל מצוות Transfer Appliance עם הכותרת Google Transfer Appliance Prepare Permissions and Storage. האימייל הזה כולל:

  • השמות של חשבונות השירות שנדרשים להעברה.

  • מזהה סשן שנדרש להגדרת הציוד.

  • טופס שתצטרכו למלא אחרי שתגדירו את החשבון.

הכנת קטגוריית היעד של Cloud Storage

כדי לאחסן את הנתונים ב-Cloud Storage, צריך להכין קטגוריה. קטגוריות הן הקונטיינרים הבסיסיים ששומרים את הנתונים שלכם ב-Cloud Storage.

אנחנו משתמשים בשני חשבונות שירות כדי להעביר את הנתונים מ-Transfer Appliance לקטגוריית היעד ב-Cloud Storage שאתם מכינים. חשבונות שירות הם חשבונות מיוחדים שאפליקציה (ולא אדם) משתמשת בהם כדי לבצע עבודה. במקרה הזה, חשבונות השירות מאפשרים ל-Transfer Appliance להשתמש במשאבי Cloud Storage בשמכם כדי להעתיק נתונים מהמכשיר לקטגוריה של Cloud Storage. אתם מעניקים לחשבונות האלה את התפקידים הנדרשים כדי להעתיק נתונים מהמכשיר לקטגוריה שלכם ב-Cloud Storage.

כדי להכין את קטגוריית היעד של Cloud Storage, פועלים לפי השלבים הבאים:

  1. באימייל שכותרתו Google Transfer Appliance Prepare Destination Bucket (הכנת קטגוריית יעד ב-Transfer Appliance), צוות Transfer Appliance מספק לכם את חשבונות השירות הבאים:

    • חשבון שירות של סשן שקשור להעברה הספציפית הזו. היא נראית כמו בדוגמה הבאה:

      ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com

      בדוגמה הזו, SESSION_ID הוא מזהה הסשן של ההעברה הספציפית הזו.

    • סוכן שירות שמשויך לשירות ההעברה של שירות נתונים מקומי, שבו אנחנו משתמשים כדי להעביר נתונים מהמכשיר לקטגוריה שלכם ב-Cloud Storage. הוא אמור להיראות כמו בדוגמה הבאה:

      project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com

      בדוגמה הזו, TENANT_IDENTIFIER הוא מספר שנוצר באופן ספציפי לפרויקט הזה.

    שימו לב לחשבונות השירות כדי לדעת מה השלבים הבאים.

    חשבונות השירות מאפשרים ל-Transfer Appliance לבצע מניפולציות עלGoogle Cloud משאבים בשמכם, כלומר להעתיק נתונים מהמכשיר ל-Cloud Storage. אתם מעניקים לחשבונות האלה את התפקידים הנדרשים כדי להעתיק נתונים מהמכשיר לקטגוריה שלכם ב-Cloud Storage.

  2. קטגוריות של Cloud Storage קשורות לפרויקטים Google Cloud . הקטגוריה שבוחרים צריכה להיות באותו פרויקט שבו השתמשתם כדי להזמין את המכשיר.

    אם אין לכם קטגוריה של Cloud Storage, יוצרים אחת:

    Google Cloud Console

    1. פותחים את הדף Cloud Storage Buckets במסוף Google Cloud .

      פתיחת הדף Cloud Storage Buckets

    2. לוחצים על Create bucket (יצירת קטגוריה) כדי לפתוח את הטופס ליצירת קטגוריה.

    3. מזינים את פרטי הקטגוריה ולוחצים על Continue כדי להשלים כל שלב:

    4. לוחצים על סיום.

    שורת הפקודה

    משתמשים בפקודה gcloud storage buckets create:

    gcloud storage buckets create gs://BUCKET_NAME --uniform-bucket-level-access --location=LOCATION --project=PROJECT_ID
    

    בדוגמה הזו:

    לא מגדירים מדיניות שמירת נתונים בקטגוריה.

  3. כדי להעניק לחשבונות השירות של Transfer Appliance הרשאה להשתמש בקטגוריה של Cloud Storage:

    Google Cloud Console

    1. במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.

      כניסה לדף Buckets

    2. לוחצים על התפריט Bucket overflow () שמשויך לקטגוריה שבה רוצים להקצות תפקיד לחשבון המשתמש.

    3. בוחרים באפשרות עריכת הרשאות של קטגוריה.

    4. לוחצים על הלחצן + הוספת גורמים.

    5. בשדה New principals, מזינים את הזהויות הבאות:

      • חשבון השירות של הסשן. היא נראית כמו בדוגמה הבאה:

        ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com

        בדוגמה הזו, SESSION_ID הוא מזהה הסשן של ההעברה הספציפית הזו.

      • סוכן שירות ההעברה לשירות נתונים מקומי. הוא אמור להיראות כמו בדוגמה הבאה:

        project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com

        בדוגמה הזו, TENANT_IDENTIFIER הוא מספר שנוצר באופן אוטומטי וספציפי לפרויקט הזה.

    6. בתפריט הנפתח Select a role, בוחרים את התפקיד Storage Admin.

      התפקידים שבחרתם יופיעו בחלונית עם תיאור קצר של ההרשאות שהם מעניקים.

    7. לוחצים על Save.

    שורת הפקודה

    משתמשים בפקודה gcloud storage buckets add-iam-policy-binding:

    gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
    --member=serviceAccount:ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com \
    --role=roles/storage.admin
    gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
    --member=serviceAccount:project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com \
    --role=roles/storage.admin
    

    בדוגמה הזו:

    • BUCKET_NAME: שם הקטגוריה שאתם יוצרים.
    • SESSION_ID: מזהה הסשן של ההעברה הספציפית הזו.
    • TENANT_IDENTIFIER: מספר שנוצר באופן ספציפי לפרויקט הזה.

הכנת מפתח Cloud KMS

‫Transfer Appliance מאבטח את הנתונים שלכם במכשיר על ידי הצפנת הנתונים לפני שאתם שולחים את המכשיר בחזרה אלינו. מפתח ציבורי של Cloud Key Management Service‏ (Cloud KMS) משמש להצפנת הנתונים ב-Transfer Appliance, ומפתח פרטי משמש לפענוח הנתונים.

אנחנו משתמשים בחשבון השירות של הסשן מתוך הכנת קטגוריית היעד ב-Cloud Storage כדי להעלות את הנתונים מהמכשיר לקטגוריה שלכם ב-Cloud Storage.

יש לכם את האפשרויות הבאות לניהול מפתחות הצפנה:

  • Google-owned and Google-managed encryption keys. אתם יכולים לבקש מאיתנו ליצור ולנהל את מפתחות Cloud KMS בשבילכם. אם רוצים להשתמש בשיטה הזו, סיימתם להגדיר את הפרויקט ואפשר להמשיך לשלבים שמתוארים במאמר קבלת המכשיר. Google Cloud

  • יצירה וניהול של מפתחות הצפנה בעצמכם. כדי ליצור את מפתחות ההצפנה שמשמשים להעברה ולנהל אותם, פועלים לפי ההוראות שבהמשך. מכינים מפתח פענוח אסימטרי של Cloud KMS ומוסיפים את חשבון השירות של הסשן למפתח. חשבון השירות של הסשן משתמש במפתח הפענוח האסימטרי כדי לפענח את הנתונים ולהעתיק אותם ל-Cloud Storage.

כדי להכין מפתחות Cloud KMS, פועלים לפי השלבים הבאים:

  1. אם אין לכם אוסף מפתחות של Cloud Key Management Service, אתם יכולים ליצור אותו כך:

    Google Cloud Console

    1. נכנסים לדף Cryptographic Keys במסוףGoogle Cloud .

      כניסה לדף Cryptographic Keys

    2. לוחצים על Create key ring (יצירת מחזיק מפתחות).

    3. בשדה Key ring name (שם אוסף המפתחות), מזינים את השם הרצוי לאוסף המפתחות.

    4. בתפריט הנפתח מיקום מחזיק המפתחות, בוחרים מיקום כמו "us-east1".

    5. לוחצים על יצירה.

    שורת הפקודה

    gcloud kms keyrings create KEY_RING --location=LOCATION --project=PROJECT_ID
    

    בדוגמה הזו:

    • LOCATION: המיקום ב-Cloud Key Management Service של אוסף המפתחות. לדוגמה, global.
    • KEY_RING: השם של אוסף המפתחות.
    • PROJECT_ID: Google Cloud מזהה הפרויקט שבו נמצא מאגר האחסון.
  2. כדי ליצור מפתח פענוח אסימטרי:

    Google Cloud Console

    1. נכנסים לדף Cryptographic Keys במסוףGoogle Cloud .

      כניסה לדף Cryptographic Keys

    2. לוחצים על השם של אוסף המפתחות שרוצים ליצור לו מפתח.

    3. לוחצים על Create key.

    4. בקטע What type of key do you want to create?‎ (איזה סוג מפתח רוצים ליצור?), בוחרים באפשרות Generated key (מפתח שנוצר).

    5. בשדה שם המפתח, מזינים את השם של המפתח.

    6. לוחצים על התפריט הנפתח רמת הגנה ובוחרים באפשרות תוכנה.

    7. לוחצים על התפריט הנפתח Purpose (מטרה) ובוחרים באפשרות Asymmetric decrypt (פענוח אסימטרי).

    8. לוחצים על התפריט הנפתח אלגוריתם ובוחרים באפשרות 4096-bit RSA - OAEP Padding - SHA256 Digest (אלגוריתם RSA עם 4096 ביט – ריפוד OAEP – תמצית SHA256)

    9. לוחצים על יצירה.

    שורת הפקודה

    מריצים את הפקודה הבאה כדי ליצור מפתח אסימטרי לפענוח:

    gcloud kms keys create KEY --keyring=KEY_RING \
    --location=LOCATION --purpose=asymmetric-encryption \
    --default-algorithm=rsa-decrypt-oaep-4096-sha256 \
    --project=PROJECT_ID
    

    בדוגמה הזו:

    • KEY: השם של המפתח ב-Cloud Key Management Service. לדוגמה, ta-key.
    • KEY_RING: השם של אוסף המפתחות.
    • LOCATION: המיקום ב-Cloud Key Management Service של אוסף המפתחות. לדוגמה, global.
    • PROJECT_ID: Google Cloud מזהה הפרויקט שבו נמצא מאגר האחסון.
  3. כדי להוסיף את חשבון השירות של הסשן כחשבון משתמש למפתח האסימטרי:

    Google Cloud Console

    1. נכנסים לדף Cryptographic Keys במסוף Google Cloud .

      כניסה לדף Cryptographic Keys

    2. לוחצים על אוסף המפתחות שמכיל את המפתח האסימטרי.

    3. מסמנים את התיבה של המפתח האסימטרי.

    4. בחלונית Info panel, לוחצים על Add principal.

      מוצגת האפשרות Add principals.

    5. בשדה New principals, מזינים את חשבון השירות של הסשן שסופק על ידי צוות Transfer Appliance. היא נראית כמו בדוגמה הבאה:

      ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com

      בדוגמה הזו, SESSION_ID הוא מזהה הסשן של ההעברה הספציפית הזו.

    6. בשדה Select a role (בחירת תפקיד), מוסיפים את התפקיד Cloud KMS CryptoKey Public Key Viewer (צפייה במפתח ציבורי של CryptoKey ב-Cloud KMS).

    7. לוחצים על הוספת תפקיד נוסף.

    8. בשדה Select a role, מוסיפים את התפקיד Cloud KMS CryptoKey Decrypter.

    9. לוחצים על Save.

    שורת הפקודה

    1. מריצים את הפקודה הבאה כדי להעניק לחשבון השירות של הסשן את התפקיד roles/cloudkms.cryptoKeyDecrypter:

      gcloud kms keys add-iam-policy-binding KEY \
      --keyring=KEY_RING --location=LOCATION \
      --member=serviceAccount:ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com \
      --role=roles/cloudkms.cryptoKeyDecrypter
      

      בדוגמה הזו:

      • KEY: השם של המפתח ב-Cloud Key Management Service. לדוגמה, ta-key.
      • KEY_RING: השם של אוסף המפתחות.
      • LOCATION: המיקום ב-Cloud Key Management Service של אוסף המפתחות. לדוגמה, global.
      • SESSION_ID: מזהה הסשן של ההעברה הספציפית הזו.
    2. מריצים את הפקודה הבאה כדי להעניק לחשבון השירות של הסשן את התפקיד roles/cloudkms.publicKeyViewer:

      gcloud kms keys add-iam-policy-binding KEY \
      --keyring=KEY_RING --location=LOCATION \
      --member=serviceAccount:ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com \
      --role=roles/cloudkms.publicKeyViewer
      

      בדוגמה הזו:

      • KEY: השם של המפתח ב-Cloud Key Management Service. לדוגמה, ta-key.
      • KEY_RING: השם של אוסף המפתחות.
      • LOCATION: המיקום ב-Cloud Key Management Service של אוסף המפתחות. לדוגמה, global.
      • SESSION_ID: מזהה הסשן של ההעברה הספציפית הזו.
  4. כדי לקבל את הנתיב של המפתח האסימטרי:

    Google Cloud Console

    1. נכנסים לדף Cryptographic Keys במסוף Google Cloud .

      כניסה לדף Cryptographic Keys

    2. לוחצים על אוסף המפתחות שמכיל את מפתח הפענוח האסימטרי.

    3. לוחצים על השם של מפתח הפענוח האסימטרי.

    4. בוחרים את גרסת המפתח הרצויה ולוחצים על סמל האפשרויות הנוספות .

    5. לוחצים על העתקת שם המשאב.

      דוגמה לפורמט המפתח:

      projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/VERSION_NUMBER

      בדוגמה הזו:

      • PROJECT_ID: Google Cloud מזהה הפרויקט שבו נמצא מאגר האחסון.
      • LOCATION: המיקום ב-Cloud Key Management Service של אוסף המפתחות.
      • KEY_RING: השם של אוסף המפתחות.
      • KEY: השם של המפתח ב-Cloud Key Management Service.
      • VERSION_NUMBER: מספר הגרסה של המפתח.

      צוות Transfer Appliance צריך את נתיב המפתח המלא, כולל מספר הגרסה, כדי שיוכל להחיל את המפתח הנכון על הנתונים.

    שורת הפקודה

    מריצים את הפקודה הבאה כדי להציג את הנתיב המלא של המפתח האסימטרי, כולל מספר הגרסה שלו:

    gcloud kms keys versions list --keyring=KEY_RING \
    --key=KEY --location=LOCATION \
    --project=PROJECT_ID
    

    בדוגמה הזו:

    • KEY_RING: השם של אוסף המפתחות.
    • KEY: השם של המפתח האסימטרי.
    • LOCATION: Google Cloud המיקום של אוסף המפתחות.
    • PROJECT_ID: מזהה הפרויקט ב- Google Cloud שבו נמצא דלי האחסון.

    הדוגמה הבאה לתגובה דומה לפלט שמוחזר:

    NAME STATE
    projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/VERSION_NUMBER
    ENABLED
    

    בדוגמה הזו:

    • PROJECT_ID: Google Cloud מזהה הפרויקט שבו נמצא מאגר האחסון.
    • LOCATION: המיקום ב-Cloud Key Management Service של אוסף המפתחות.
    • KEY_RING: השם של אוסף המפתחות.
    • KEY: השם של המפתח ב-Cloud Key Management Service.
    • VERSION_NUMBER: מספר הגרסה של המפתח.

    צוות Transfer Appliance צריך את המחרוזת שמופיעה מתחת ל-NAME ומסתיימת ב-/cryptoKeyVersions/VERSION_NUMBER, כאשר VERSION_NUMBER הוא מספר הגרסה של המפתח.

מספקים לצוות Transfer Appliance נתונים של הגדרות הדלי

אנחנו שולחים אימייל עם הכותרת Google Transfer Appliance Prepare Permissions and Storage כדי לאסוף מידע על הקטגוריה שלכם ב-Cloud Storage. אנחנו משתמשים במידע שאתם מספקים כדי להגדיר את ההעברה מ-Transfer Appliance ל-Cloud Storage.

בטופס שאליו מקשרים מהאימייל, מזינים את הפרטים הבאים:

  • Google Cloud מזהה הפרויקט.
  • בוחרים את האפשרות הרצויה להצפנה:
    • Google-owned and Google-managed encryption key, אם בחרתם ש-Google תנהל את מפתח ההצפנה שלכם.
    • מפתח הצפנה בניהול הלקוח, אם בחרתם לנהל את מפתח ההצפנה שלכם. בתפריט הנפתח Select a customer-managed encryption-key (בחירת מפתח הצפנה בניהול הלקוח), בוחרים את מפתח ההצפנה הרצוי.
  • Google Cloud שם קטגוריית היעד של Cloud Storage שמשמש להעברה הזו.
  • אופציונלי: קידומת לאובייקט. בלי קידומת לאובייקט, האובייקטים מועברים ל-Cloud Storage עם הנתיב של המקור, לא כולל נתיב הבסיס, לפני שם הקובץ במערכת הקבצים. לדוגמה, אם יש לכם את הקבצים הבאים:
    • /source_root_path/file1.txt
    • /source_root_path/dirA/file2.txt
    • /source_root_path/dirA/dirB/file3.txt
    אז שמות האובייקטים ב-Cloud Storage הם:
    • file1.txt
    • dirA/file2.txt
    • dirA/dirB/file3.txt
    הקידומת של האובייקט מתווספת לשם היעד של האובייקט ב-Cloud Storage, אחרי התו / של שם קטגוריית היעד ולפני שמות הנתיבים שהאובייקט הועבר מהם, לא כולל נתיב הבסיס של המקור. המידע הזה יכול לעזור לכם להבחין בין אובייקטים שהועברו מעבודות העברה אחרות.

    בטבלה הבאה מוצגות כמה דוגמאות לקידומות של אובייקטים ולשמות האובייקטים שמתקבלים ב-Cloud Storage, אם הנתיב של אובייקט המקור הוא /source_root_path/sub_folder_name/object_name:
    תחילית שם אובייקט היעד
    ללא /destination_bucket/sub_folder_name/object_name
    prefix/ /destination_bucket/prefix/sub_folder_name/object_name

מה השלב הבא?

מגדירים יציאות של רשת IP כדי ש-Transfer Appliance יפעל ברשת שלכם.