OAuth クライアントの確認

特定の機密性の高い OAuth スコープをリクエストする Google OAuth クライアントは、Google による検証の対象となります。

スクリプト プロジェクトの OAuth クライアントを検証していない場合、ドメイン外のユーザーがスクリプトを承認しようとすると、未確認のアプリの画面が表示されます。未確認の承認フローにより、これらのユーザーは未確認のアプリを承認して使用できます。ただし、リスクを理解していることを確認する必要があります。未確認アプリユーザーの合計数にも上限があります。

詳しくは以下の記事をご覧ください。

 

未確認のアプリ画面
図 1: 未確認のアプリ画面
未確認アプリの承認フロー
図 2: 未確認アプリの承認フロー

 

この変更は、Google OAuth ウェブ クライアント(すべての Apps Script プロジェクトで使用されるクライアントを含む)に適用されます。Google でアプリを検証することで、未確認のアプリ画面を認証フローから削除し、アプリが悪意がないとユーザーに確信させることができます。

未確認アプリ

アドオン、ウェブアプリ、その他のデプロイ(Apps Script API を使用するアプリなど)では、検証が必要になる場合があります。

適用対象判断

アプリが機密性の高い OAuth スコープを使用している場合、認証フローの中に未確認のアプリの画面が表示されることがあります。その存在(およびその結果として生じる未確認アプリの承認フロー)は、アプリの公開元アカウントと、アプリの使用を試行しているアカウントによって異なります。たとえば、特定の Google Workspace 組織で公開されたアプリは、アプリが確認されていない場合でも、そのドメイン内のアカウントに対する未確認のアプリ承認フローは発生しません。

次の表は、未確認アプリの承認フローが発生する状況を示しています。

クライアントが確認されました パブリッシャーはお客様 A の Google Workspace アカウントである スクリプトはお客様 A の共有ドライブにある Gmail アカウントである
ユーザーはお客様 A の Google Workspace アカウント 通常の認証フロー 通常の認証フロー 通常の認証フロー 未確認の承認フロー
ユーザーはお客様 A ではない Google Workspace アカウントである 通常の認証フロー 未確認の承認フロー 未確認の承認フロー 未確認の承認フロー
ユーザーは Gmail アカウントである1 通常の認証フロー 未確認の承認フロー 未確認の承認フロー 未確認の承認フロー

1任意の Gmail アカウント(アプリの公開に使用するアカウントを含む)。

ユーザー数の上限

未確認アプリのフローを介してアプリを承認できるユーザーの数は、不正使用の可能性を制限するため制限されています。詳しくは、OAuth アプリケーション ユーザーの上限をご覧ください。

オーナー確認をリクエストしています

アプリが使用する OAuth クライアントと、関連する Cloud Platform(GCP)プロジェクトの検証をリクエストできます。アプリの確認が完了すると、ユーザーには未確認のアプリ画面が表示されなくなります。また、アプリはユーザー上限の対象ではなくなります。

要件

検証用に OAuth クライアントを送信するには、次の要件を満たす必要があります。

  1. ドメイン上のウェブサイトを所有している必要があります。アプリは、アプリとそのプライバシー ポリシーについて説明したページを一般公開する必要があります。また、サイトの所有権を Google に確認する必要もあります。

  2. スクリプト プロジェクトで使用する Google Cloud プロジェクトは、編集権限がある標準の Google Cloud プロジェクトである必要があります。スクリプトがデフォルトの Google Cloud プロジェクトを使用している場合は、標準の Google Cloud プロジェクトに切り替える必要があります。

また、次の必須アセットも必要です。

  • アプリケーション名。アプリの名前。同意画面に表示されます。他の場所でアプリで使用されている名前(公開中のアプリの Google Workspace Marketplace のリスティングなど)と一致している必要があります。
  • アプリケーションのロゴ。同意画面で使用するアプリのロゴ JPEG、PNG、BMP 画像。ファイルサイズは 1 MB 以下である必要があります。
  • サポートメール。これは、ユーザーがアプリのサポートが必要な場合に連絡できる同意画面に表示されるメールアドレスです。自分のメールアドレス、または自分が所有または管理する Google グループを指定できます。
  • スコープ。アプリが使用するすべてのスコープのリスト。Apps Script エディタでスコープを表示できます。
  • 承認済みドメイン。これは、アプリに関する情報を含むドメインのリストです。アプリのリンク(必要なプライバシー ポリシー ページなど)はすべて、承認済みドメインでホストする必要があります。
  • アプリケーションのホームページ URL。アプリを説明するホームページの場所。この場所は承認済みドメインでホストされている必要があります。
  • アプリケーションのプライバシー ポリシーの URL。アプリのプライバシー ポリシーを説明するページの場所。このビジネス情報は、承認済みドメインでホストされている必要があります。

上記の必須アセットに加えて、必要に応じて、アプリの利用規約を説明するページを指すアプリケーションの利用規約の URL を指定することもできます。指定する場合、このロケーションは承認済みドメイン内に存在する必要があります。

歩数

  1. まだ行っていない場合は、スクリプト プロジェクトのプライバシー ポリシーやその他の情報をホストするために使用するすべての承認済みドメインの所有権を確認します。ドメインの確認済み所有者は、スクリプト プロジェクトの編集者または所有者である必要があります。
  2. Apps Script プロジェクトで、概要アイコン をクリックします。[プロジェクトの OAuth スコープ] で、スクリプト プロジェクトで使用するスコープをコピーします。
  3. 収集したテキスト アセットと URL アセットを使用して、アプリケーションの Google Cloud プロジェクトの OAuth 同意画面に入力します。

    1. アプリの情報(プライバシー ポリシーなど)がホストされている承認済みドメインを一覧表示します。
    2. アプリケーション スコープを追加するには、[Add or Remove Scopes] をクリックします。表示されるダイアログで、Google Cloud コンソールで有効にした API(拡張サービスなど)のスコープを自動検出しようとします。対応するチェックボックスをオンにすると、このリストからスコープを選択できます。

      この自動検出されるリストに、Apps Script の組み込みサービスで使用されるスコープが含まれているとは限りません。これらのスコープは、[手動スコープを追加] に入力する必要があります。

      完了したら、[更新] をクリックします。

  4. 必要な情報をすべて入力したら、[保存] をクリックします。

  5. [確認に送信] をクリックして確認リクエストを開始します。

通常、オーナー確認のリクエストには 24 ~ 72 時間以内に返信が届きます。[確認ステータス] は、OAuth 同意画面のフォームの上部で確認できます。OAuth クライアントの検証が完了すると、アプリは検証されます。