הגדרת Devices API

בדף הזה מוסבר איך להגדיר את Cloud Identity Devices API. אתם יכולים להשתמש ב-Devices API כדי להקצות משאבים באופן פרוגרמטי – למשל, לנהל קבוצות Google – בשם האדמין.

הפעלת ה-API והגדרת פרטי כניסה

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Identity API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Cloud Identity API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

הגדרת גישת API באמצעות חשבון שירות עם הענקת גישה ברמת הדומיין

בקטע הזה מוסבר איך ליצור חשבון שירות ולהשתמש בו כדי לגשת למשאבי Google Workspace. אי אפשר לבצע אימות ישירות ל-Devices API באמצעות חשבון שירות, ולכן צריך להשתמש בשיטה הזו.

יצירת חשבון שירות והגדרת הענקת גישה ברמת הדומיין

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

  1. כדי ליצור חשבון שירות:

    1. במסוף Google Cloud , נכנסים לדף IAM service accounts:

      כניסה לדף Service accounts

    2. לוחצים על יצירת חשבון שירות.

    3. בקטע פרטי חשבון השירות, מקלידים שם, מזהה ותיאור לחשבון השירות ולוחצים על יצירה והמשך.

    4. אופציונלי: בקטע Grant this service account access to project (הענקת גישה לחשבון השירות הזה לפרויקט), בוחרים את תפקידי ה-IAM שרוצים להקצות לחשבון השירות.

    5. לוחצים על Continue.

    6. אופציונלי: בקטע Grant users access to this service account, מוסיפים את המשתמשים או הקבוצות שמורשים להשתמש בחשבון השירות ולנהל אותו.

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

  2. כדי לאפשר לחשבון השירות לגשת ל-Devices API באמצעות הענקת גישה ברמת הדומיין, פועלים לפי ההוראות שבקטע הגדרת הענקת גישה ברמת הדומיין לחשבון השירות.

  3. כדי ליצור ולהוריד מפתח של חשבון שירות, מבצעים את הפעולות הבאות.

    1. לוחצים על כתובת האימייל של חשבון השירות שיצרתם.
    2. לוחצים על הכרטיסייה Keys.
    3. בתפריט הנפתח Add key, בוחרים באפשרות Create new key.
    4. לוחצים על יצירה.

      נוצר קובץ הרשאות בפורמט JSON, שמכיל זוג חדש של מפתחות ציבוריים ופרטיים, והוא מורד למחשב שלכם. הקובץ מכיל את העותק היחיד של המפתחות. באחריותכם לאחסן אותו בצורה מאובטחת. אם איבדתם את זוג המפתחות, תצטרכו ליצור זוג חדש.

בדיקת רשומות ביומן

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

הפעלת פרטי כניסה

כשמאתחלים את פרטי הכניסה בקוד, מציינים את כתובת האימייל שחשבון השירות פועל בשמה על ידי קריאה ל-with_subject() בפרטי הכניסה. לדוגמה:

Python

credentials = service_account.Credentials.from_service_account_file(
  'SERVICE_ACCOUNT_CREDENTIAL_FILE',
  scopes=SCOPES).with_subject(USER
)

מחליפים את מה שכתוב בשדות הבאים:

  • SERVICE_ACCOUNT_CREDENTIAL_FILE: קובץ המפתח של חשבון השירות שיצרתם קודם במסמך הזה
  • USER: המשתמש שחשבון השירות מתחזה לו

יצירת מופע של לקוח

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

Python

from google.oauth2 import service_account
import googleapiclient.discovery

SCOPES = ['https://www.googleapis.com/auth/cloud-identity.devices']

def create_service():
  credentials = service_account.Credentials.from_service_account_file(
    'SERVICE_ACCOUNT_CREDENTIAL_FILE',
    scopes=SCOPES
  )

  delegated_credentials = credentials.with_subject('USER')

  service_name = 'cloudidentity'
  api_version = 'v1'
  service = googleapiclient.discovery.build(
    service_name,
    api_version,
    credentials=delegated_credentials)

  return service

מחליפים את מה שכתוב בשדות הבאים:

  • SERVICE_ACCOUNT_CREDENTIAL_FILE: קובץ המפתח של חשבון השירות שיצרתם קודם במסמך הזה
  • USER: המשתמש שחשבון השירות מתחזה לו

עכשיו אפשר להתחיל לבצע קריאות ל-Devices API.

כדי לבצע אימות כמשתמש קצה, מחליפים את האובייקט credential מחשבון השירות באובייקט credential שאפשר לקבל באמצעות קבלת אסימוני OAuth 2.0.

התקנה של ספריית הלקוח של Python

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

  pip install --upgrade google-api-python-client google-auth \
    google-auth-oauthlib google-auth-httplib2

מידע נוסף על הגדרת סביבת הפיתוח בשפת Python מופיע במדריך להגדרת סביבת הפיתוח בשפת Python.