INTEGRITY Dokumentace

Vlastní integrace stavu zařízení

Cloudflare One umožňuje vynucovat u vašich aplikací vlastní posture checks zařízení. To vyžaduje nastavení integrace service-to-service v Cloudflare One Client, která pravidelně volá externí API dle vaší volby, ať už jde o poskytovatele endpointu třetí strany, nebo o vlastní řešení. Při zavolání API obdrží od Cloudflare identifikační údaje zařízení a má vrátit hodnotu mezi 0 na 100. Poté můžete nastavit kontrolu stavu zařízení, která určí, zda se vrácená hodnota počítá jako splněno nebo nesplněno; můžete například povolit přístup uživateli pouze v případě, že hodnota stavu jeho zařízení je vyšší než 60.

sequenceDiagram
    participant Cloudflare One Client
		participant Cloudflare Access
    participant External API
    Cloudflare One Client->>Cloudflare Access: Client ID and Secret
		Cloudflare Access->>External API: Application token
		Cloudflare One Client->>External API: JSON with user and device identity
    External API-->>Cloudflare One Client: JSON with 0-100 result

Požadavky na externí API

Integrace s vlastním poskytovatelem služby funguje s jakoukoli API službou, která splňuje následující specifikace. Příklad API pro vlastní integraci kontroly stavu zařízení najdete v Ukázkový kód pro Cloudflare Workers.

Ověřování

Cloudflare One Client se ověřuje vůči externímu API prostřednictvím Cloudflare Access. Externí API by mělo ověřit token aplikace vydaný Cloudflare Access, aby byly zamítnuty všechny požadavky, které Access obejdou (například kvůli špatné konfiguraci sítě).

Data předaná externímu API

Cloudflare předá nakonfigurovanému API endpointu následující parametry. Tato data můžete použít k identifikaci zařízení a přiřazení posture skóre. U některých zařízení nemusí platit všechny identifikační údaje, v takovém případě zůstane pole prázdné. V rámci jednoho požadavku bude odesláno maximálně 1,000 zařízení.

Pole Popis
device_id UUID zařízení přiřazené pomocí Cloudflare One Client
email E-mailová adresa použitá k ověření Cloudflare One Client
serial_number Sériové číslo zařízení
mac_address MAC adresa zařízení
virtual_ipv4 Virtuální IPv4 adresa zařízení
hostname Název zařízení

Příklad těla požadavku:

{
  "devices": {
    [
      {
        "device_id": "9ece5fab-7398-488a-a575-e25a9a3dec07",
        "email": "[email protected]",
        "serial_number": "jdR44P3d",
        "mac_address": "74:1d:3e:23:e0:fe",
        "virtual_ipv4": "100.96.0.10",
        "hostname": "string",
      },
      {...},
      {...}
    ]
  }
}

Očekávaná odpověď z externího API

Pro každý Cloudflare device_id, očekává se, že služba API vrátí skóre stavu a volitelně ID zařízení třetí strany.

Pole Popis
s2s_id ID zařízení třetí strany (prázdný řetězec, pokud není k dispozici)
score Celočíselná hodnota mezi 0 - 100

Příklad těla odpovědi:

{
  "result": {
    "9ece5fab-7398-488a-a575-e25a9a3dec07": {
      "s2s_id": "",
      "score": 10
    },
    "device_id2": {...},
    "device_id3": {...}
  }
}

Nastavení vlastních kontrol stavu zařízení

1. Vytvořit service token

Cloudflare One Client se vůči externímu API bezpečně ověřuje pomocí Access Client ID a Access Client Secret. Pokud ještě Access Client ID a Access Client Secret nemáte, vytvořit nový token služby.

2. Vytvořte aplikaci Access

Dále zabezpečte externí API pomocí Cloudflare Access, aby se klient Cloudflare One Client mohl ověřit pomocí tokenu služby. Přidání API endpointu do Access:

  1. Vytvořit Self-hosted aplikaci pro váš endpoint API.

  2. Přidejte do aplikace následující zásadu Access. Ujistěte se, že Akce je nastaveno na Service Auth (ne Allow).

    Akce Typ pravidla Selektor Hodnota
    Service Auth Include Service Token <TOKEN-NAME>

3. Přidejte integraci poskytovatele služeb

Chcete-li vytvořit vlastní integraci mezi službami:

  1. V Cloudflare dashboard, přejděte na Zero Trust > Integrace > Poskytovatelé služeb.
  2. Vyberte Přidat nové.
  3. Vyberte Vlastní poskytovatel služeb.
  4. Zadejte libovolný název poskytovatele. Tento název se bude v celém dashboardu používat k označení tohoto připojení.
  1. V ID klienta Access a client secret Access, zadejte token služby Access použitý k ověření vůči vašemu externímu API.
  2. V Rest API URL, zadejte externí endpoint API, který Cloudflare použije k dotazování na informace o stavu zařízení (například https://api.example.com). Další informace najdete v Požadavky na externí API.
  3. V Frekvence dotazování, vyberte, jak často má Cloudflare One dotazovat externí API na informace.
  4. Vyberte Otestovat a uložit. Test ověřuje, zda se Cloudflare dokáže ověřit vůči adrese URL API pomocí zadaných přihlašovacích údajů Access.

Dále nakonfigurovat kontrolu stavu zařízení určit, zda dané skóre stavu zařízení odpovídá výsledku vyhovuje nebo nevyhovuje.

4. Nakonfigurujte kontrolu stavu zařízení

  1. V Cloudflare dashboard, přejděte na Zero Trust > Znovupoužitelné komponenty > Kontroly stavu > Kontroly poskytovatelů služeb.
  2. Vyberte Přidejte kontrolu.
  3. Vyberte poskytovatele Custom service provider.
  4. Zadejte libovolný název kontroly stavu zařízení.
  5. Nakonfigurujte atributy potřebné, aby zařízení prošlo kontrolou stavu.
  6. Vyberte Save.
  7. Chcete-li provést test, přejděte na Insight > Protokoly > Protokoly stavu a ověřte, že kontrola stavu poskytovatele služeb vrací očekávané výsledky.

Nyní můžete tuto kontrolu stavu použít v zásada stavu zařízení.

Atributy stavu zařízení

Selektor Popis Hodnota
Skóre Skóre stavu vrácené externím API 0 na 100