Skip to content
Last updated

APIキー IP Allowlist

Treasure Data APIを使用することで、お客様はAPIキーに対する追加のIP Allowlistアクセス制御を利用できます。これにより、APIキーのアクセスを信頼できるIP範囲に制限し、アカウントとキーをより強力に保護できます。

制限スコープ

restriction_scopeパラメータは、IP Allowlistエントリがトラフィックにどのように適用されるかを定義します。

  • all: ブラウザアクセスとAPIキーアクセスの両方を、リストされたIPに制限します。これは、Webコンソールを通じてIP Allowlistを設定した場合のIP Allowlist設定です。API呼び出しを通じても設定できます。

  • api_key_only: APIキーアクセスのみを制限し、ユーザーのブラウザアクセスには影響しません。この設定はAPI呼び出しを通じてのみ設定できます。

このパラメータは、すべてのユーザーに影響するアカウント/ネットワークレベル、および/または個々のユーザーレベルで設定できます。両方の設定が存在する場合、特定のユーザーに対してはユーザーレベルの設定が常にアカウントレベルのIP Allowlistを置き換えます。

優先順位ルール

  1. IP AllowlistエントリでallとAPI_key_onlyの両方が設定されている場合のIPアクセス
restriction_scope = all & restriction_scope = api_key_onlyIPがallとapi_key_onlyの両方に一致IPがallのみに一致IPがapi_key_onlyのみに一致一致するIPなし
ユーザーのブラウザアクセス✅¹
ユーザーのAPIキーアクセス❌²

注意 :

  1. restriction_scope = allには、デフォルトの拒否アクセスルールは存在しません。

  2. restriction_scope = api_key_onlyが設定されている場合、デフォルトの拒否アクセスがトリガーされます。

  1. IP Allowlistエントリでallのみが設定されている場合のIPアクセス
restriction_scope = allIPが一致IPが一致しない
ユーザーのブラウザアクセス
ユーザーのAPIキーアクセス
  1. IP Allowlistエントリでapi_key_onlyのみが設定されている場合のIPアクセス
restriction_scope = api_key_onlyIPが一致IPが一致しない
ユーザーのブラウザアクセス
ユーザーのAPIキーアクセス
  1. IP Allowlist機能が設定されていない場合のユーザーアクセス
restriction_scopeが未設定すべてのアカウントユーザー
ユーザーのブラウザアクセス
ユーザーのAPIキーアクセス

アカウントレベルまたはユーザーレベルのAPIキー IP Allowlistの作成

コンソールでのIP Allowlist設定と同様に、API呼び出しを使用して、すべてのユーザーを対象とするアカウントレベル、または個々のユーザーレベルでAPIキー用のIP Allowlistを設定できます。ユーザー固有のエントリはアカウントレベルのエントリよりも優先されます。

IP AllowlistのAPIエンドポイントは/v4/ip_whitelist_entriesです。 以下は、単一ユーザーに対するAPIキー IP Allowlistエントリを作成する例です。

POST /v4/ip_whitelist_entries
{
  "ip": "192.168.100.0/24",
  "user_id": "test_user_id",
  "restriction_scope": "api_key_only"
}

顧客アカウントのすべてのユーザーにAPIキー IP Allowlistを適用するには、POSTリクエストにaccount_idを含めます:

POST /v4/ip_whitelist_entries

{
  "ip": "192.168.200.0/24",
  "account_id": "test_account_id",
  "restriction_scope": "api_key_only"
}

IP Allowlistエントリの取得

すべてのIP Allowlistエントリを取得するには、/v4/ip_whitelist_entriesにGETリクエストを送信します。レスポンスには各エントリのrestriction_scopeが含まれます。

GET /v4/ip_whitelist_entries

IP Allowlistエントリの更新

既存のIP Allowlistエントリを更新するには、エントリのIDと新しいrestriction_scope値を指定して/v4/ip_whitelist_entries/{id}にPATCHリクエストを送信します。

PATCH /v4/ip_whitelist_entries/{id}

{
  "restriction_scope": "all"
}

IP Allowlistエントリの削除

IP Allowlistエントリを削除するには、エントリのIDを指定して/v4/ip_whitelist_entries/{id}にDELETEリクエストを送信します。

DELETE /v4/ip_whitelist_entries/{id}