OAuth クライアントの確認

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

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

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

 

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

 

この変更は、すべての Apps Script プロジェクトで使用される Google OAuth ウェブ クライアントに適用されます。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. アプリケーション スコープを追加するには、[スコープを追加または削除] をクリックします。表示されたダイアログで、Google Cloud コンソールで有効にした API のスコープを自動検出します(高度なサービスなど)。このリストからスコープを選択するには、対応するチェックボックスをオンにします。

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

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

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

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

ほとんどの確認リクエストは 24 ~ 72 時間以内に回答が届きます。確認ステータスは、OAuth 同意画面のフォームの上部で確認できます。OAuth クライアントの確認が完了すると、アプリの確認が完了します。