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