許可リストを使用すると、スクリプトまたはアドオンによるアクセスが事前に承認されている特定の 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
(ワイルドカードは先頭の接頭辞として使用する必要があります)