Devices API の設定
このページでは、Cloud Identity Devices API の設定方法について説明します。
API の有効化と認証情報の設定
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Identity API.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the Project > Owner role to the service account.
To grant the role, find the Select a role list, then select Project > Owner.
- Click Continue.
-
Click Done to finish creating the service account.
Do not close your browser window. You will use it in the next step.
-
-
Create a service account key:
- In the Google Cloud console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, and then click Create new key.
- Click Create. A JSON key file is downloaded to your computer.
- Click Close.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Identity API.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the Project > Owner role to the service account.
To grant the role, find the Select a role list, then select Project > Owner.
- Click Continue.
-
Click Done to finish creating the service account.
Do not close your browser window. You will use it in the next step.
-
-
Create a service account key:
- In the Google Cloud console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, and then click Create new key.
- Click Create. A JSON key file is downloaded to your computer.
- Click Close.
ドメイン全体の委任をもつサービス アカウントとして認証する
自身が ID グループの管理者である場合や、Google グループを管理できるようドメイン全体の権限を持つアカウントを作成したい場合は、サービス アカウントとして認証し、サービス にドメイン全体の権限を付与します。
ドメイン全体の委任の設定について詳しくは、ドメイン全体の委任を使用して API アクセスを制御するをご覧ください。
サービス アカウントとして認証を行う方法について詳しくは、サーバー間アプリケーションに OAuth 2.0 を使用するをご覧ください。コード内で認証情報を初期化する場合は、認証情報に対して with_subject()
を呼び出すためにサービス アカウントに使用するメールアドレスを指定します。次に例を示します。
Python
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE, scopes=SCOPES).with_subject(delegated_email)
クライアントのインスタンス化
サービス アカウントの認証情報を使用してクライアントをインスタンス化する方法を、次の例に示します。代わりにエンドユーザーとして認証を受けるには、サービス アカウントの credential
オブジェクトを、前のセクションのウェブサーバー アプリケーションに OAuth 2.0 を使用するで取得した credential
に置き換えます。
Python
from google.oauth2 import service_account
import googleapiclient.discovery
SCOPES = ['https://www.googleapis.com/auth/cloud-identity.devices']
SERVICE_ACCOUNT_FILE = '/path/to/service-account-file.json'
def create_service():
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
delegated_credentials = credentials.with_subject('user@example.org')
service_name = 'cloudidentity'
api_version = 'v1'
service = googleapiclient.discovery.build(
service_name,
api_version,
credentials=credentials)
return service
これで、Devices API を呼び出せるようになりました。
Python クライアント ライブラリをインストールする
Python クライアント ライブラリをインストールするには、次のコマンドを実行します。
pip install --upgrade google-api-python-client google-auth \
google-auth-oauthlib google-auth-httplib2
Python 開発環境の設定の詳細については、Python 開発環境設定ガイドをご覧ください。