アプリは、ゼロタッチ登録顧客 API の呼び出しを承認する OAuthを使用しますこのドキュメントでは、Compute Engine インスタンスで 企業向けモバイル管理(EMM)プロバイダや企業の IT デベロッパーに使用されています。 このドキュメントを読むと、 アプリのユーザーにアカウントの要件を説明します。
認可のクイックスタート
- ゼロタッチ登録 API を使用して Google Cloud Platform プロジェクトをセットアップする OAuth クライアント シークレットがある場合は、このウィザードを実行します。
- Java、.NET、または Python。Google の API クライアント ライブラリを使用して、 対応しています。
概要
- 1 人以上の IT 管理者が、ゼロタッチ登録の顧客アカウントのユーザーです。
- IT 管理者は Google アカウントを使用して自身を認証します。
- API リクエストは、ユーザーの代わりに API リクエストを承認する OAuth2 トークンを IT 管理者。
顧客アカウント
組織の構成、デバイス、(IT 管理者)ユーザーは、 顧客アカウント。お客様のアカウントはグループに似ていますが、 できます。組織が最初に顧客を設定するとき、販売パートナーは ゼロタッチ登録用のデバイスを購入するIT 管理者が組織内の他のユーザーを管理する ゼロタッチ登録ポータルを使用して、組織での
この API では、数値のお客様 ID を使用してアカウントが識別されます。お客様 ID を渡す URL パスの一部として使用できます。アプリは、ユーザーの認証情報を お客様 ID が必要です。
以下の例は、サポートしているユーザーのアカウントを取得する方法を示しています。 API 呼び出しを承認します。
Java
AndroidProvisioningPartner.Customers.List accountRequest = service.customers().list(); accountRequest.setPageSize(100); CustomerListCustomersResponse accountResponse = accountRequest.execute(); List<Company> customers = accountResponse.getCustomers(); if (customers == null || customers.isEmpty()) { // No accounts found for the user. Confirm the Google Account // that authorizes the request can access the zero-touch portal. System.out.println("No zero-touch enrollment account found."); } else { // Print the customers in this page. for (Company customer : customers) { System.out.format("%s\tcustomers/%d\n", customer.getCompanyName(), customer.getCompanyId()); } }
.NET
CustomersResource.ListRequest accountRequest = service.Customers.List(); accountRequest.PageSize = 100; CustomerListCustomersResponse accountResponse = accountRequest.Execute(); IList<Company> customers = accountResponse.Customers ?? new List<Company>(); if (customers.Count == 0) { // No accounts found for the user. Confirm the Google Account // that authorizes the request can access the zero-touch portal. Console.WriteLine("No zero-touch enrollment account found."); } foreach (Company customer in customers) { Console.WriteLine("{0}\tcustomers/{1}", customer.CompanyName, customer.CompanyId); }
Python
response = service.customers().list(pageSize=100).execute() if 'customers' not in response: # No accounts found for the user. Confirm the Google Account # that authorizes the request can access the zero-touch portal. print('No zero-touch enrollment account found.') response['customers'] = [] for customer in response['customers']: print('{0}\tcustomers/{1}'.format( customer['companyName'], customer['companyId']))
アプリではアカウント結果ページを操作する必要があります。これは、 上記の例では、最初の 100 アカウントのみが出力されます。方法については、 ページングされた結果。
組織には通常 1 つの顧客アカウントがあるが、それより大規模な組織では
部門ごとに異なる顧客アカウントを使用する場合がありますIT 管理者は
複数の顧客アカウントに属している場合、アプリで
新しい顧客アカウントの使用を検討してください。アプリでは、
companyName
値。
ユーザー
IT 管理者は、アプリがユーザーに代わって送信する API リクエストを承認します。宛先 API リクエストを承認するには、アプリのユーザーが次のことを行う必要があります。
- Google アカウントとメールアドレスを関連付けます。
- 同じメールアドレスを使用してお客様のアカウントに参加します。
- ゼロタッチ登録のお客様の利用規約(ToS)に同意します。
アプリのユーザー設定をサポートするには、 のご利用を開始し、Google アカウントを関連付ける 独自のドキュメントに記載できます
ユーザー管理
IT 管理者は、顧客アカウントのユーザーをゼロタッチで管理できます 登録ポータルお客様のアカウントのユーザーには、 オーナーまたは管理者。どちらのロールも Customer API への同じアクセス権を持ちますが、 オーナーは他のユーザーを管理できます。
利用規約への同意
アプリのユーザーが API 呼び出しを承認する前に、ユーザーは最新の
利用規約これは、IT 管理者が初めてゼロタッチ登録を使用する場合や、
利用規約を更新します。ユーザーが最新の利用規約に同意していない場合、API は
HTTP 403 Forbidden
ステータス コード。レスポンスの本文には
TosError
。
ユーザーが署名すると、最新の利用規約への同意を求めるメッセージがポータルから自動的に表示されます できます。アプリに組み込む可能性のあるおすすめのアプローチについては、 サービスをご覧ください。
アプリに承認を追加する
アプリが顧客の API に送信するすべてのリクエストには、承認を含める必要があります あります。このトークンは Google でアプリケーションを識別するためにも使用されます。これは、 アクセスする場合、データの所有者から承認を得る必要があります。 分析できますお客様のアプリは、OAuth 2.0 プロトコルをご覧ください。
手順
Java、.NET、 Python アプリ。別の言語を使用している場合は、次の 2 つの言語に従ってください。 認証を設定する手順は次のとおりです。 。
認証について詳しくは、OAuth 2.0 を使用した Google へのアクセス API。
認可スコープ
API 承認スコープを使用する
アプリ内のhttps://www.googleapis.com/auth/androidworkzerotouchemm
でリクエスト
OAuth 2.0 アクセス トークン。
スコープ パラメータは、アクセスするリソースとオペレーションのセットを 呼び出しが許可されます。アクセス トークンは、一連のオペレーションに対してのみ有効です。 トークン リクエストのスコープで説明されているリソースが含まれます。この API は メソッドとリソースでは、1 つのゼロタッチ登録スコープを ご覧ください。
Google API で使用されるゼロタッチ登録のスコープの例 Java、.NET、 Python。Google API スコープの使用方法について詳しくは、 OAuth 2.0 to Access Google API
API キーのベスト プラクティス
アプリケーションで API キーを利用するときは、キーの安全確保に努めてください。認証情報が公開されると、アカウントが不正に使用され、 お使いのアカウントに予期しない請求が発生する可能性があります。保持 次のベスト プラクティスに従ってください。
- API キーをコードに直接埋め込まない
- コードに埋め込まれた API キーが、誤って たとえば、送信したコードをコードから削除し忘れた場合などに、 共有します。API キーは、アプリケーションに埋め込むのではなく、 アプリケーションのソース外のファイル内でも、 表示されます。
- アプリケーションのソースツリー内のファイルに API キーを保存しない
- API キーをファイルに保存する場合は、ファイルをアプリケーションの キーがソースコード コントロールに含まれないようにするソースツリー ありません公開されているソースコードを使用する場合は特に、この点が重要になります。 使用することもできます。
- API キーの使用を、IP アドレス、参照 URL、 モバイルアプリやウェブアプリから
- アクセスを許可する IP アドレス、参照 URL、モバイルアプリを制限することで、 API キーが不正使用された場合の影響を軽減できます。Google Chat では Google API Console から、各キーを使用できるホストとアプリを指定する [認証情報] ページを開き、新しい API を作成する キーを必要な設定に置き換えるか、API の設定を編集する ] キーを押します。
- 不要な API キーを削除する
- 攻撃を受ける可能性を最小限に抑えるため、管理していない API キーはすべて削除してください。 必要があります。
- API キーを定期的に再生成する
- Google API Console から API キーを再生成するには、 認証情報ページ。API キーを選択して、[再生成] をクリックする を組み合わせます。その後、新しく生成された できます。古い鍵は、生成後 24 時間は機能します。 交換します。
- コードを一般公開する前にレビューする
- コードに API キーやその他の非公開の情報が含まれていないことを確認する 確認する必要があります。