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

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

増分 OAuth を使用する

増分認証を使用すると、アプリの起動に必要なスコープのみを最初にリクエストし、新しい権限が必要になったときに、追加のスコープをリクエストできます。アプリのコンテキストは、リクエストの理由をユーザーに通知します。

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

Google Classroom アドオンを構築する際は、アプリに必要な OAuth スコープの完全なリストを提供するという Google Workspace Marketplace のガイダンスに沿う必要があります。これは、管理者がドメイン ユーザーに同意を求めるスコープを把握するために必要です。

すべてのアプリが OAuth で確認されていることを確認する

Google API にアクセスするすべてのアプリは、Google の API サービスのユーザーデータ ポリシーで指定されているとおりに、自身の身元と意図を正確に表していることを確認する必要があります。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 を処理する

Google Cloud プロジェクトには複数の OAuth クライアント ID がある場合があり、ドメイン管理者がアクセスを複数回構成する必要がある場合があります。

OAuth クライアント ID の正確性を確認する

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

CSV アップロード

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

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

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

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

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

OAuth エラー

これらの新しい管理者向け設定では、2 つのエラー メッセージが導入されています。

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

18 歳未満のユーザー

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