Google Workspace for Education のサードパーティ製アプリのアクセス制御の強化に関するデベロッパー向けベスト プラクティス

Google は、ユーザーが Google Workspace for Education アカウントを使用してログインするときに、Google Workspace for Education 管理者が組織の Google データにサードパーティ製アプリからアクセスする方法を簡単に制御できるようにする、アプリのアクセス制御設定を導入しました。サードパーティ アプリのデベロッパーによる対応は必要ありませんが、他のデベロッパーが参考にしたおすすめの方法を以下に示します。

増分 OAuth を使用する

増分承認を使用して、最初はアプリの起動に必要なスコープのみをリクエストし、その後新しい権限が必要になったときに追加のスコープをリクエストできます。アプリ コンテキストにより、ユーザーへのリクエストの理由が特定されます。

ログイン時に、アプリはログイン スコープ プロファイルや、アプリの動作に必要なその他の初期スコープなど、基本スコープをリクエストします。その後、ユーザーが追加のスコープを必要とするアクションを実行しようとすると、アプリは追加のスコープをリクエストし、ユーザーは同意画面で新しいスコープのみを承認します。

Google Classroom アドオンを作成する場合は、Google Workspace Marketplace のガイダンスに沿って、アプリに必要な OAuth スコープの完全なリストを提供してください。これは、ドメイン ユーザーがどのスコープに同意するかを管理者が把握するために必要です。

すべてのアプリが OAuth 確認済みであることを確認する

Google API にアクセスするすべてのアプリは、Google の API サービスのユーザーデータに関するポリシーで指定されているとおり、アプリが ID とインテントを正確に表していることを確認する必要があります。Google API を使用するアプリを複数管理している場合は、各アプリが検証されていることを確認してください。管理者は、確認済みのブランドに関連付けられたすべての OAuth クライアント ID を閲覧できます。管理者が誤った OAuth クライアント ID を構成しないように、テスト環境と本番環境に別々の Google Cloud プロジェクトを使用し、使用されていない OAuth クライアント ID をすべて削除します。

OAuth API 検証は、機密性の高いスコープや制限付きスコープをリクエストするアプリが安全かつコンプライアンスに保たれていることを保証するために Google Cloud Platform が使用するプロセスです。検証プロセスは、Google Cloud のユーザーとデータを不正アクセスから保護するのに役立ちます。

機密性の高いスコープまたは制限付きスコープをリクエストするアプリは、Google API サービスのユーザーデータ ポリシーに準拠する必要があります。このポリシーは、アプリがユーザーデータを保護し、ユーザーが承認した目的にのみデータを使用することを義務付けています。また、Google Cloud のセキュリティ要件を満たしていることを確認するために、独立したセキュリティ評価を受ける必要がある場合もあります。

OAuth API の検証プロセスは、完了するまでに数週間かかることがあります。アプリを確認したら、必要な機密性の高いスコープや制限付きスコープをリクエストできます。

詳しくは、OAuth API の確認に関するよくある質問をご覧ください。

複数の OAuth クライアント ID を処理する

1 つの Google Cloud プロジェクトに複数の OAuth クライアント ID があり、ドメイン管理者がアクセスを何度か構成しなければならない場合があります。

OAuth クライアント ID が正確であることを確認する

Google OAuth との統合に使用されている OAuth クライアント ID については、開発チームにご確認ください。テストと本番環境に 2 つの異なる Google Cloud プロジェクトを使用して、管理者がどの OAuth クライアント ID を構成するかを把握できるようにします。非推奨または古いクライアント ID を本番環境のプロジェクトから削除します。

CSV アップロード

複数のクライアント ID がある場合は、管理者がすべてのアプリを簡単に構成できるように、CSV 一括アップロード オプションを利用することをおすすめします。

フィールドは次のとおりです。

項目 必須 メモ
アプリ名 省略可 アプリの名前を入力します。CSV ファイルのアプリ名を変更しても、管理コンソールでは更新されません。
種類 はい ウェブ アプリケーションAndroid または iOS のいずれか。
ID ウェブアプリの場合は、そのアプリケーションに発行された OAuth クライアント ID を入力します。

Android アプリと iOS アプリの場合は、OAuth クライアント ID、またはアプリが Google Play または Apple App Store で使用するパッケージ ID またはバンドル ID を入力します。
組織部門 お客様が記入すること。

ドメイン全体にアプリのアクセス設定を適用するには、スラッシュ(「/」)を入力します。特定の組織部門にアクセス設定を適用するには、組織部門ごとにスプレッドシートに行を追加し、アプリ名、タイプ、ID を繰り返します。(例: /org_unit_1/sub_unit_1)。
アクセス はい trustedblockedlimited のいずれかです。

OAuth エラー

新しい管理者向けの設定により、2 つのエラー メッセージが導入されました。

  • Error 400: access_not_configure - アプリが構成されていないため、OAuth 接続が拒否されたときに受信されました。
  • Error 400: admin_policy_enforced - 管理者がアプリケーションをブロックしたため、OAuth 接続が拒否された場合に発生します。

18 歳未満として指定されているユーザー

管理者は、18 歳未満として指定されたユーザーに対して、未設定のサードパーティ製アプリへのアクセスを管理できます。「アクセスをブロック: 機関の管理者がアプリ名を確認する必要があります」というエラーが表示された場合は、エラー メッセージからアクセスをリクエストする必要があります。これにより、管理者がサードパーティ製アプリを確認できます。管理者は、サードパーティ アプリを許可するかブロックするかを決定できます。