許可リストを使用して、スクリプトまたはアドオンによるアクセスを事前に承認する URL を指定します。許可リストはユーザーデータの保護に役立ちます。許可リストを定義すると、スクリプト プロジェクトは許可リストに登録されていない URL にアクセスできません。
このフィールドは、テストデプロイをインストールする場合は省略可能ですが、バージョニングされたデプロイを作成する場合には必須です。
許可リストは、スクリプトまたはアドオンが次のアクションを実行するときに使用します。
- Apps Script の
UrlFetch
サービスを使用して、外部の場所(HTTPS エンドポイントなど)から情報を取得または取得します。取得対象の URL を許可リストに登録するには、マニフェスト ファイルにurlFetchWhitelist
フィールドを追加します。 - ユーザーの操作に応じて URL を開くか表示します(Google 以外の URL を開く、または表示する Google Workspace アドオンに必要です)。URL を許可リストに登録するには、マニフェスト ファイルに
addOns.common.openLinkUrlPrefixes
フィールドを追加します。
許可リストにプレフィックスを追加する
マニフェスト ファイルで(addOns.common.openLinkUrlPrefixes
フィールドまたは urlFetchWhitelist
フィールドを指定して)許可リストを指定する場合は、URL 接頭辞のリストを含める必要があります。マニフェストに追加するプレフィックスは、次の要件を満たしている必要があります。
- 各接頭辞には有効な URL を指定する必要があります。
- 各接頭辞には
http://
ではなくhttps://
を使用する必要があります。 - 各プレフィックスには完全なドメインが必要です。
- 各接頭辞には空でないパスを指定する必要があります。たとえば、
https://www.google.com/
は有効ですが、https://www.google.com
は無効です。 - ワイルドカードを使用して、URL サブドメイン接頭辞を照合できます。
addOns.common.openLinkUrlPrefixes
フィールドに 1 つの*
ワイルドカードを使用してすべてのリンクに一致させることができますが、ユーザーのデータがリスクにさらされる可能性があり、アドオンの審査プロセスが長引く可能性があるため、おすすめしません。ワイルドカードは、アドオン機能で必要な場合にのみ使用してください。
URL が許可リストに登録された接頭辞と一致するかどうかを判断する際は、次のルールが適用されます。
- パスの照合では大文字と小文字が区別されます。
- 接頭辞が URL と同一である場合は一致します。
- URL がプレフィックスと同じか、プレフィックスの子である場合、一致します。
たとえば、接頭辞 https://example.com/foo
は次の URL と一致します。
https://example.com/foo
https://example.com/foo/
https://example.com/foo/bar
https://example.com/foo?bar
https://example.com/foo#bar
ワイルドカードの使用
1 つのワイルドカード文字(*
)を使用して、urlFetchWhitelist
フィールドと addOns.common.openLinkUrlPrefixes
フィールドの両方についてサブドメインと一致させることができます。複数のワイルドカードを使用して複数のサブドメインに一致することはできません。ワイルドカードは、URL の先頭の接頭辞を表す必要があります。
たとえば、接頭辞 https://*.example.com/foo
は次の URL と一致します。
https://subdomain.example.com/foo
https://any.number.of.subdomains.example.com/foo
接頭辞 https://*.example.com/foo
は次の URL とは一致しません。
https://subdomain.example.com/bar
(接尾辞の不一致)https://example.com/foo
(少なくとも 1 つのサブドメインが存在する必要があります)
マニフェストを保存しようとすると、一部のプレフィックス ルールが適用されます。たとえば、保存しようとしたときにマニフェストに次の接頭辞があると、エラーが発生します。
https://*.*.example.com/foo
(複数のワイルドカードは禁止されています)https://subdomain.*.example.com/foo
(ワイルドカードは先頭の接頭辞として使用する必要があります)