יצירת דומיינים של נתונים

במאמר הזה מוסבר איך ליצור דומיינים ותת-דומיינים של נתונים באמצעות המסוףGoogle Cloud ו-API בארכיטקטורת REST, ואיך להעניק לניהול זהויות והרשאות גישה (IAM) את התפקידים וההרשאות למשתמשים שפועלים בדומיינים ובמשאבים שלהם.

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

לפני שיוצרים דומיינים של נתונים ומקצים בעלי דומיין, צריך לוודא שיש לכם את התפקידים הנדרשים ושהפעלתם את ממשקי ה-API הנדרשים.

  • העומק המקסימלי של הקינון בדומיינים ובתת-דומיינים הוא חמש רמות.
  • אפשר ליצור עד 50 תת-דומיינים ישירים בדומיין נתונים יחיד.
  • בכל פרויקט יכולים להיות עד 1,000 דומיינים לכל אזור.

הפעלת ממשקי ה-API

מפעילים את Dataplex API, אם הוא עדיין לא מופעל.

תפקידים שנדרשים להפעלת ממשקי API

כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

להפעלת ה-API

התפקידים הנדרשים

כדי לקבל את ההרשאות שדרושות ליצירת תחומים של נתונים ולהקצאת בעלי תחומים, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:

להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

יצירת דומיין נתונים

יוצרים דומיין נתונים שישמש כקיבוץ לוגי של נכסי נתונים ומוצרים בתוך פרויקט ומיקום.

המסוף

  1. נכנסים לדף Data domains במסוף Google Cloud .

    אל "דומיינים של נתונים"

  2. לוחצים על יצירת דומיין נתונים ומזינים את הפרטים הבאים:

    • בשדה שם לתצוגה, מציינים שם ידידותי למשתמש לדומיין. לדוגמה, Finance.
    • בשדה Data Domain ID (מזהה דומיין נתונים), מציינים מזהה ייחודי לדומיין. אי אפשר לשנות את הערך הזה אחרי שהמערכת יוצרת את הדומיין.
    • בשדה מיקום, בוחרים את האזור שבו רוצים ליצור את דומיין הנתונים.
    • בשדה מזהה פרויקט, בוחרים את הפרויקט שבו רוצים ליצור את תחום הנתונים.
    • אופציונלי: בשדה תיאור, מזינים תיאור קצר של הדומיין.
    • בשדה בעלים, מוסיפים בעלים אחד או יותר של הדומיין. אפשר להזין כמה כתובות אימייל בו-זמנית.
  3. אופציונלי: בשדה תוויות, מזינים תוויות כדי לקבץ אובייקטים קשורים יחד או עם משאבים אחרים של Google Cloud .

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

REST

כדי ליצור דומיין נתונים, משתמשים ב-method‏ projects.locations.dataDomains.create.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
  • ‫LOCATION_ID: האזור שבו רוצים ליצור את דומיין הנתונים. לדוגמה, us-central1.
  • ‫DATA_DOMAIN_ID: מזהה ייחודי של דומיין הנתונים.

ה-method של ה-HTTP וכתובת ה-URL:

POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains?data_domain_id=DATA_DOMAIN_ID

תוכן בקשת JSON:

{
  "display_name": "Finance Domain",
  "description": "Domain for finance datasets and reports.",
  "contacts": {
    "identities": [
      {
        "contact_name": "Alice Wonderland",
        "contact_role": "owner",
        "contact_id": "alice@example.com"
      }
    ]
  }
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.

יצירת תת-דומיין לנתונים

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

המסוף

  1. נכנסים לדף Data domains במסוף Google Cloud .

    אל "דומיינים של נתונים"

  2. בוחרים את הדומיין שרוצים ליצור לו תת-דומיין.

  3. לוחצים על יצירת תת-דומיין לנתונים ומזינים את הפרטים הבאים:

    • בשדה שם לתצוגה, מציינים שם ידידותי למשתמש לדומיין. לדוגמה, Finance.
    • בשדה Data Domain ID (מזהה דומיין נתונים), מציינים מזהה ייחודי לדומיין. אי אפשר לשנות את הערך הזה אחרי שהמערכת יוצרת את הדומיין.
    • אופציונלי: בשדה תיאור, מזינים תיאור קצר של הדומיין.
    • בשדה בעלים, מוסיפים את כתובת האימייל של בעל הדומיין. אפשר להזין כמה כתובות אימייל בו-זמנית.
  4. אופציונלי: בשדה תוויות, מזינים תוויות כדי לקבץ אובייקטים קשורים או משאבים אחרים של Google Cloud .

  5. לוחצים על יצירה. יכול להיות שיעברו כמה דקות עד שתוכלו לגשת לתת-הדומיין של הנתונים או לחפש בו.

REST

כדי ליצור תת-דומיין של נתונים, משתמשים בשיטה projects.locations.dataDomains.create ומציינים את parent_data_domain בגוף הבקשה.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
  • ‫LOCATION_ID: האזור שבו קיים דומיין הנתונים הראשי. לדוגמה, us-central1.
  • ‫SUBDOMAIN_ID: מזהה ייחודי של תת-הדומיין של הנתונים.
  • ‫PARENT_DATA_DOMAIN_ID: המזהה הייחודי של תחום הנתונים הראשי שמתחתיו נוצר תת-התחום הזה.

ה-method של ה-HTTP וכתובת ה-URL:

POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains?data_domain_id=SUBDOMAIN_ID

תוכן בקשת JSON:

{
  "display_name": "Finance Subdomain",
  "description": "A subdomain within the Finance domain.",
  "contacts": {
    "identities": [
      {
        "contact_name": "Alice Wonderland",
        "contact_role": "owner",
        "contact_id": "alice@example.com"
      }
    ]
  },
  "parent_data_domain": "projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/PARENT_DATA_DOMAIN_ID"
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.

תפקידים והרשאות בדומיין נתונים

בטבלה הבאה מפורטים התפקידים המוגדרים מראש ב-IAM שאפשר להקצות לבעלים ולמשתמשים של דומיינים של נתונים.

שם התפקיד תפקיד IAM תיאור
אדמין של תחום נתונים ב-Dataplex roles/dataplex.dataDomainAdmin מאפשר ליצור ולנהל דומיינים ותת-דומיינים של נתונים, וגם את הקישורים שלהם. תפקיד האדמין מאפשר גם לנהל את כל התפקידים וההרשאות ב-IAM עבור דומיינים.
Dataplex Data Domain Configuration Viewer roles/dataplex.dataDomainViewer מאפשרת לכם לראות את ההגדרה של דומיין הנתונים ואת הקישורים בין דומיין הנתונים לדומיין המשאבים.
Dataplex Data Domain Configuration Editor roles/dataplex.dataDomainEditor מאפשר לערוך דומיינים קיימים וגם ליצור ולנהל את הקישורים בין הדומיין למשאב. תפקיד העורך מאפשר גם לנהל הרשאות מטא-נתונים שמאפשרות למשתמשים לגלות משאבים בדומיין.
Dataplex Data Domain Entry Reader roles/dataplex.dataDomainEntryReader אפשר לגלות ולראות את תחום הנתונים, את תת-הדומיינים שלו ואת המטא-נתונים של כל המשאבים שנכללים בו.

כשמקצים תפקידים לבעלי דומיין או למשתמשים, כדאי להביא בחשבון את הנקודות הבאות:

  • תפקידים בדומיין של נתוני ניהול זהויות והרשאות גישה (IAM) מועברים מדומיינים ראשיים לתתי-דומיין, אבל לא ישירות למשאבים הכלולים. המשמעות היא שאם תעניקו את התפקיד roles/dataplex.dataDomainEntryReader למשתמש בדומיין שכולל מערך נתונים ב-BigQuery, המשתמש לא יראה את התפקיד בין התפקידים של ניהול זהויות וגישה (IAM) במערך הנתונים.
  • התפקיד roles/dataplex.dataDomainEntryReader שניתן בדומיין מאפשר לכם לבצע את הפעולות הבאות:

    • אתם יכולים לגלות משאבים, את הפרטים שלהם ואת המטא-נתונים שלהם, אבל רק כשאתם צופים במשאב בתוך הדומיין. מידע נוסף מופיע במאמר בנושא מגבלות על דומיינים של נתונים.
    • אפשר להשתמש ב-methods של API כמו lookupEntry במשאב שנמצא בדומיין.

מתן גישה לדומיין נתונים

המסוף

כדי להעניק גישה לדומיין נתונים, בצע את השלבים הבאים:

  1. נכנסים לדף Data domains במסוף Google Cloud .

    אל "דומיינים של נתונים"

  2. לוחצים על שם הדומיין כדי לעבור לדף פרטי הדומיין.

  3. בסרגל העליון, לוחצים על הרשאות.

  4. לוחצים על Add principal.

  5. בשדה New principals, מזינים את כתובת האימייל של חשבון המשתמש.

  6. בשדה Select a role (בחירת תפקיד), בוחרים את התפקיד של תחום הנתונים. לדוגמה, משתמשים ב-Dataplex Data Domain Entry Reader כדי לאפשר למשתמש לגלות ולהציג את דומיין הנתונים, את תת-הדומיינים שלו ואת המטא-נתונים של המשאבים הכלולים. אם רוצים להקצות עוד תפקידים, לוחצים על Add another role.

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

REST

כדי להגדיר את מדיניות ה-IAM בדומיין נתונים, משתמשים ב-method ‏projects.locations.dataDomains.setIamPolicy.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
  • ‫LOCATION_ID: האזור שבו קיים דומיין הנתונים. לדוגמה, us-central1.
  • ‫DOMAIN_ID: המזהה הייחודי של תחום הנתונים.
  • ‫ROLE: התפקיד שרוצים להקצות למשתמש בדומיין.

ה-method של ה-HTTP וכתובת ה-URL:

POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID:setIamPolicy

תוכן בקשת JSON:

{
  "policy": {
    "bindings": [
      {
        "role": "ROLE",
        "members": [
          "user:example-user@google.com",
          "group:finance-consumers@google.com"
        ]
      }
    ]
  }
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.

ביטול הגישה לדומיין נתונים

כדי להסיר תפקיד או הרשאה מחשבון ראשי:

המסוף

  1. נכנסים לדף Data domains במסוף Google Cloud .

    אל "דומיינים של נתונים"

  2. לוחצים על שם הדומיין כדי לעבור לדף פרטי הדומיין.

  3. בסרגל העליון, לוחצים על הרשאות.

  4. בחלונית Permissions, מאתרים את חשבון המשתמש שרוצים לבטל את התפקיד שלו.

  5. לוחצים על סמל המחיקה לצד התפקיד שרוצים להסיר.

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

REST

כדי לבטל גישה לדומיין נתונים באמצעות API בארכיטקטורת REST, מאחזרים את המדיניות הקיימת באמצעות ה-method‏ projects.locations.dataDomains.getIamPolicy, מסירים את התפקיד או את הישות המורשית מהרשימה bindings ומגדירים את המדיניות המעודכנת באמצעות ה-method‏ projects.locations.dataDomains.setIamPolicy:

  1. טעינת מדיניות ה-IAM הנוכחית:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
    • ‫LOCATION_ID: האזור שבו קיים דומיין הנתונים. לדוגמה, us-central1.
    • ‫DOMAIN_ID: המזהה הייחודי של תחום הנתונים.

    ה-method של ה-HTTP וכתובת ה-URL:

    POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID:getIamPolicy

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.

  2. מגדירים את המדיניות המעודכנת:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
    • ‫LOCATION_ID: האזור שבו קיים דומיין הנתונים. לדוגמה, us-central1.
    • ‫DOMAIN_ID: המזהה הייחודי של תחום הנתונים.
    • ‫ROLE: התפקיד שרוצים להקצות למשתמש בדומיין.

    ה-method של ה-HTTP וכתובת ה-URL:

    POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID:setIamPolicy

    תוכן בקשת JSON:

    {
      "policy": {
        "bindings": [
          {
            "role": "ROLE",
            "members": [
              "user:example-user@google.com",
              "group:finance-consumers@google.com"
            ]
          }
        ]
      }
    }
    

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.

המאמרים הבאים