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.
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Cloud Identity API を有効にします。
-
サービス アカウントを作成します。
-
Google Cloud コンソールで [サービス アカウントの作成] ページに移動します。
[サービス アカウントの作成] に移動 - プロジェクトを選択します。
-
[サービス アカウント名] フィールドに名前を入力します。Google Cloud コンソールでは、この名前に基づいて [サービス アカウント ID] フィールドに値が設定されます。
[サービス アカウントの説明] フィールドに説明を入力します。例:
Service account for quickstart
- [作成して続行] をクリックします。
-
サービス アカウントに Project > Owner ロールを付与します。
ロールを付与するには、[ロールを選択] リストで [Project > Owner] を選択します。
- [続行] をクリックします。
-
[完了] をクリックして、サービス アカウントの作成を完了します。
ブラウザ ウィンドウは閉じないでください。次のステップでこれを使用します。
-
-
サービス アカウント キーを作成します。
- Google Cloud コンソールで、作成したサービス アカウントのメールアドレスをクリックします。
- [キー] をクリックします。
- [鍵を追加]、[新しい鍵を作成] の順にクリックします。
- [作成] をクリックします。JSON キーファイルがパソコンにダウンロードされます。
- [閉じる] をクリックします。
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Cloud Identity API を有効にします。
-
サービス アカウントを作成します。
-
Google Cloud コンソールで [サービス アカウントの作成] ページに移動します。
[サービス アカウントの作成] に移動 - プロジェクトを選択します。
-
[サービス アカウント名] フィールドに名前を入力します。Google Cloud コンソールでは、この名前に基づいて [サービス アカウント ID] フィールドに値が設定されます。
[サービス アカウントの説明] フィールドに説明を入力します。例:
Service account for quickstart
- [作成して続行] をクリックします。
-
サービス アカウントに Project > Owner ロールを付与します。
ロールを付与するには、[ロールを選択] リストで [Project > Owner] を選択します。
- [続行] をクリックします。
-
[完了] をクリックして、サービス アカウントの作成を完了します。
ブラウザ ウィンドウは閉じないでください。次のステップでこれを使用します。
-
-
サービス アカウント キーを作成します。
- Google Cloud コンソールで、作成したサービス アカウントのメールアドレスをクリックします。
- [キー] をクリックします。
- [鍵を追加]、[新しい鍵を作成] の順にクリックします。
- [作成] をクリックします。JSON キーファイルがパソコンにダウンロードされます。
- [閉じる] をクリックします。
ドメイン全体の委任をもつサービス アカウントとして認証する
自身が 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 開発環境設定ガイドをご覧ください。