ゼロタッチ登録の Reseller API への API 呼び出しには認証が必要です。承認を必須にすると、組織のデータが保護されます。ゼロタッチ登録 API の呼び出しを承認するには、次の作業を行う必要があります。
- API を呼び出すサービス アカウントを作成します。
- JSON キーファイルを保存し、API 呼び出しを承認します。
- API を有効にして、サービス アカウントで利用できるようにします。
- 組織に代わって API 呼び出しを行うには、サービス アカウントをリンクします。
タスクを完了する手順は次のとおりです。
手順 1: サービス アカウントを作成する
サービス アカウントはロボット アカウントとも呼ばれ、ユーザーではなくアプリケーションを表す Google アカウントです。アプリがサービス アカウントに代わって API を呼び出すため、ユーザーが直接関与することはありません。アプリは Google API を使用しているため、Google API Console を使用してアクセスを設定します。
API Console プロジェクトを作成する
アプリ用に新しい API Console プロジェクトとサービス アカウントを作成することをおすすめします。これにより、今後、アクセスの管理、リソースの管理、紛失したキーの修正が容易になります。まず、以下の手順に沿って、Google API Console で新しいプロジェクトを作成します。
- API Console に移動します。
- プロジェクト リストから、[プロジェクトの作成] を選択します。
- アプリを説明する名前と、ゼロタッチ登録を入力します。
- プロジェクト ID を指定するか、デフォルトをそのまま使用します。
- [作成] をクリックします。
詳細については、Google Cloud Platform のドキュメントのコンソールでプロジェクトを管理するをご覧ください。
新しいサービス認証情報を追加
新しい認証情報とサービス アカウントをプロジェクトに追加するには、API Console で次の手順を行います。
- [サービス アカウント] ページを開きます。画面のメッセージに従って、プロジェクトを選択します。
- [ サービス アカウントを作成] をクリックして、サービス アカウントの名前と説明を入力します。デフォルトのサービス アカウント ID を使用することも、別の一意の ID を選択することもできます。入力したら、[作成] をクリックします。
- 以降の [サービス アカウントの権限(オプション)] セクションは必須ではありません。[続行] をクリックします。
- [ユーザーにこのサービス アカウントへのアクセスを許可] 画面で、[キーの作成] セクションまで下にスクロールします。[ キーを作成] をクリックします。
- 表示されたサイドパネルで、キーの形式を選択します。JSON をおすすめします。
- [作成] をクリックします。新しい公開鍵と秘密鍵のペアが生成され、パソコンにダウンロードされます。この鍵は再発行できませんので、安全に保管する方法については、サービス アカウント キーの管理をご覧ください。
- [秘密鍵がパソコンに保存されました] ダイアログで [閉じる] をクリックし、[完了] をクリックしてサービス アカウントの表に戻ります。
サービス アカウントのメールアドレスをコピーして、すぐに使用できるようにします。これは、後でサービス アカウントを組織にリンクするときに必要になります。
ステップ 2: JSON キーファイルを保存する
API Console は、サービス アカウントを使って API 呼び出しの認証を行う、新しい秘密鍵ペアを生成します。秘密鍵は、ダウンロードした JSON 鍵ファイルに含まれています。
鍵は非公開にする必要があるため、アプリのソースコードに含めないでください。 鍵ファイルを紛失した場合は、新しい鍵ペアを生成する必要があります。
鍵ファイルを安全に保存する方法については、API キーを安全に使用するためのベスト プラクティスをご覧ください。
ステップ 3: API を有効にする
アプリでこの API を使用するには、まず API を有効にする必要があります。API を有効にすると、現在の API Console プロジェクトに API が関連付けられ、コンソールにモニタリング ページが追加されます。
API を有効にするには、API Console で次の手順を行います。
- [API とサービス] > [ライブラリ] をクリックします。
- 検索フィールドで Android Device Provisioning Partner API を検索します。
- [Android Device Provisioning Partner API] をクリックします。
- [有効にする] をクリックします。
しばらくすると、API のステータスが [有効] に変わります。[Android Device Provisioning Partner API] が表示されない場合は、組織のゼロタッチ登録にオンボーディングされているかどうかを確認します。ゼロタッチ登録と Google API Console で同じ Google アカウントを使用していることを確認してください。Google プラットフォームのソリューション コンサルタントに、Google アカウントが API にアクセスできるかどうか確認します。
ステップ 4: サービス アカウントをリンクする
サービス アカウントを組織のゼロタッチ登録アカウントにリンクすると、サービス アカウントは組織に代わって API 呼び出しを行うことができます。サービス アカウントをリンクする手順は次のとおりです。
- ゼロタッチ登録ポータルを開きます。ログインが必要となる場合があります。
- [ サービス アカウント] をクリックします。
- [ サービス アカウントをリンク] をクリックします。
- [メールアドレス] を、作成したサービス アカウントのメールアドレスに設定します。
- ゼロタッチ登録アカウントでサービス アカウントを使用するには、[サービス アカウントをリンク] をクリックします。
作成したサービス アカウントのメールアドレスが見つからない場合は、次のいずれかの場所からコピーします。
- Google API Console の [サービス アカウント] ページにあるサービス アカウントのメールアドレス。
- JSON キーファイルの
client_email
プロパティ フィールド。
これで、サービス アカウントが組織の代表として Reseller API を呼び出せるようになりました。
API を試す
スタートガイドの手順に沿って、API アクセスが動作していることをテストします。
認可スコープ
アプリで API 認可スコープ https://www.googleapis.com/auth/androidworkprovisioning
を使用して OAuth 2.0 アクセス トークンをリクエストします。
スコープ パラメータは、アクセス トークンが呼び出しを許可するリソースとオペレーションのセットを制御します。アクセス トークンは、トークン リクエストのスコープに記載されている一連のオペレーションとリソースに対してのみ有効です。この API は、上記のシングルタッチ登録のスコープを持つすべてのメソッドとリソースに対応しています。
Google API クライアント ライブラリで使用されるゼロタッチ登録スコープの例については、スタートガイドをご覧ください。Google API スコープの使用の詳細については、OAuth 2.0 を使用した Google API へのアクセスをご覧ください。