アプリが外部ユーザータイプを対象としている場合は、Google Workspace 組織によって管理されている Google アカウントを含む、可能な限り幅広い Google アカウントのユーザーを対象にすることをおすすめします。
Google Workspace 管理者は、API アクセス制御を使用して、お客様が所有するアプリケーション、サードパーティ製アプリケーション、サービス アカウントに対して、Google Workspace API へのアクセスを有効化または制限できます。この機能を使用すると、Google Workspace 管理者は組織が信頼する OAuth クライアント ID へのアクセスのみを制限できるため、サードパーティ製アプリから Google サービスへのアクセスに伴うリスクを軽減できます。
Google アカウントのユーザーに幅広くリーチし、信頼を醸成するため、次のことをおすすめします。
- Google による確認を受けるためにアプリを送信します。該当する場合は、ブランドの確認と、機密性の高いスコープと制限付きスコープの確認のためにアプリを提出する必要があります。Google Workspace 管理者はアプリの確認ステータスを確認できます。Google が確認したアプリは、未確認または不明なステータスのアプリよりも信頼性が高いと判断される可能性があります。
- Google Workspace 管理者は、アプリの OAuth クライアント ID に、制限付きサービスとその中のハイリスクなスコープへのアクセス権を付与できます。アプリの OAuth クライアント ID をヘルプ ドキュメントに含めると、Google Workspace 管理者と組織内のアプリの担当者に、アプリへのアクセス権を付与するために必要な情報を提供できます。また、アプリが組織のデータにアクセスする前に必要な構成変更についても理解を深めることができます。
- OAuth の同意画面ページを構成する際に指定したユーザー サポートのメールアドレスを定期的にモニタリングします。Google Workspace 管理者は、アプリのアクセス権を確認する際にこのメールアドレスを確認できます。また、質問や懸念事項がある場合は、このメールアドレスに連絡する可能性があります。
Google Workspace 管理者による制御がトークンの有効性に与える影響
Google Workspace 管理者は、OAuth トークンの有効性と有効期間に間接的に影響するいくつかの制御を実装できます。
- Google Cloud セッション制御: Google Workspace 管理者は、Google Cloud サービス(Google Cloud コンソール、gcloud CLI など)のセッション継続時間を設定できます。この設定は、Google Cloud スコープに関するユーザーの認可が必要なアプリケーション(サードパーティ製アプリを含む)に適用されます。このセッション長を超えると、これらの Google Cloud スコープに関連付けられた更新トークンが無効になる可能性があります。詳細については、Google Cloud サービスのセッション継続時間を設定するをご覧ください。
- Google サービスの一般的なセッション管理: 管理者は、ウェブ版 Gmail などのサービスのウェブ セッション継続時間を管理することもできます。これにより、セッションの有効期限が切れると、ユーザーは Google ウェブ インターフェースに再度ログインする必要があります。ただし、このコントロールは通常、スコープが Google Cloud 関連の特定のスコープでない限り、API データ(Gmail、ドライブ、カレンダー API など)にアクセスするためにサードパーティ アプリケーションに付与された OAuth 更新トークンを無効にしません。詳細については、Google サービスのセッション継続時間を設定するをご覧ください。
- アプリのアクセス制御: 管理者は、アプリをブロックしたり、特定のサービスへのアクセスを制限したり、アクセスを完全に取り消したりできます。アクセスを取り消すと、関連する更新トークンが無効になります。
- ドメイン全体の委任(DWD): DWD はトークンの有効期間を変更しませんが、管理者がアプリを事前承認し、ユーザーの同意をバイパスして、組織のデータへのアプリのアクセスを直接管理できるようにします。
プロジェクトを組織に関連付ける
Google Workspace ユーザーの場合は、デベロッパー プロジェクトを Google Workspace または Cloud Identity アカウント内の組織リソース内に作成することを強くおすすめします。これにより、個々のデベロッパー アカウントに関連付けることなく、重要な通知、アクセス制御、プロジェクトのライフサイクル管理などのエンタープライズ管理機能を使用できます。そうしないと、将来的に新しい所有者に譲渡することが難しくなる(または不可能になる)可能性があります。
デベロッパー プロジェクトを設定する際は、組織内に作成するか、既存のプロジェクトを組織に移行します。