許可リストの URL

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