INTEGRITY Dokumentace

Service tokens

Automatizovaným systémům můžete poskytnout service tokeny k ověření vůči vašim zásadám Cloudflare One. Cloudflare Access vygeneruje service tokeny složené z Client ID a Client Secret. Automatizované systémy nebo aplikace pak mohou tyto hodnoty použít k přístupu k aplikaci chráněné pomocí Access.

Tato část se zabývá tím, jak vytvořit, otočit, obnovit, deaktivovat a odvolat token služby.

Vytvořit service token

  1. V Cloudflare dashboard, přejděte na Zero Trust > Řízení přístupu > Přihlašovací údaje služby > Service Tokens.

  2. Vyberte Create Service Token.

  3. Pojmenujte token služby. Název vám umožní snadno identifikovat události související s tokenem v protokolech a token jednotlivě zneplatnit.

  4. Vyberte Doba platnosti Service Token. Tím se nastavuje datum vypršení platnosti tokenu.

  5. Vyberte Vygenerovat token. Zobrazí se vygenerované Client ID a Client Secret pro service token, spolu s příslušnými hlavičkami požadavků.

  6. Zkopírujte Client Secret.

  1. Vytvořte POST požadavek na Access Service Tokens koncový bod:

    Požadovaná oprávnění API tokenu

    Alespoň jeden z následujících oprávnění tokenu je povinné:
    • Access: Service Tokens Write
    Vytvořit service token
    curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/service_tokens" \
    	--request POST \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"name": "CI/CD token",
    		"duration": "8760h"
    	}'
  2. Zkopírujte client_id a client_secret hodnoty vrácené v odpovědi.

    Odpověď
    "result": {
    	"client_id": "88bf3b6d86161464f6509f7219099e57.access",
    	"client_secret": "bdd31cbc4dec990953e39163fbbb194c93313ca9f0a6e420346af9d326b1d2a5",
    	"created_at": "2025-09-25T22:26:26Z",
    	"expires_at": "2026-09-25T22:26:26Z",
    	"id": "3537a672-e4d8-4d89-aab9-26cb622918a1",
    	"name": "CI/CD token",
    	"updated_at": "2025-09-25T22:26:26Z",
    	"duration": "8760h",
    	"client_secret_version": 1
    }
  1. Přidejte následující oprávnění do svého cloudflare_api_token:

    • Access: Service Tokens Write
  2. Nakonfigurujte cloudflare_zero_trust_access_service_token prostředek:

    resource "cloudflare_zero_trust_access_service_token" "example_service_token" {
    	account_id = var.cloudflare_account_id
    	name       = "Example service token"
    	duration  = "8760h"
    
    	lifecycle {
    		create_before_destroy = true
    	}
    }
  3. Získejte Client ID a Client Secret tokenu služby:

    Příklad: výstup do CLI

    1. Výstup Client ID a Client Secret do souboru stavu Terraformu:
      output "example_service_token_client_id" {
      	value     = cloudflare_zero_trust_access_service_token.example_service_token.client_id
      }
      
      output "example_service_token_client_secret" {
      	value     = cloudflare_zero_trust_access_service_token.example_service_token.client_secret
      	sensitive = true
      }
    2. Použijte konfiguraci:
      terraform apply
    3. Přečtěte si Client ID a Client Secret:
      terraform output -raw example_service_token_client_id
      terraform output -raw example_service_token_client_secret

    Příklad: uložení do HashiCorp Vault

    	resource "vault_generic_secret" "example_service_token" {
    		path         = "kv/cloudflare/example_service_token"
    
    		data_json = jsonencode({
    			"CLIENT_ID"     = cloudflare_access_service_token.example_service_token.client_id
    			"CLIENT_SECRET" = cloudflare_access_service_token.example_service_token.client_secret
    		})
    	}

Nyní můžete nakonfigurovat své aplikace Access a oprávnění k registraci zařízení a přijměte tento service token. Nezapomeňte nastavit akci zásady na Service Auth; jinak Access vyzve k přihlášení u poskytovatele identity.

formát Client Secret

Od 26. srpna 2026 používají nové Client Secrets u service tokenů formát cfast_[40 alphanumeric characters][8-character checksum]. Prefix a kontrolní součet usnadňují nástrojům pro skenování přihlašovacích údajů identifikaci tajných klíčů.

Stávající Client Secrets používají 64znakový hexadecimální formát. Tyto tajné klíče nadále fungují a nevyžadují rotaci. Oba formáty používají stejné Client ID a stejné ověřovací hlavičky.

Připojte svou službu k Access

Požadavek

Chcete-li se ověřit k aplikaci Access pomocí service tokenu, přidejte následující do hlaviček libovolného požadavku HTTP:

CF-Access-Client-Id: <CLIENT_ID>

CF-Access-Client-Secret: <CLIENT_SECRET>

Například,

curl -H "CF-Access-Client-Id: <CLIENT_ID>" -H "CF-Access-Client-Secret: <CLIENT_SECRET>" https://app.example.com

Ověření pomocí jediné hlavičky

Aplikaci Access typu self-hosted můžete nakonfigurovat tak, aby přijímala Service Token v jediné HTTP hlavičce, jako alternativu k CF-Access-Client-Id a CF-Access-Client-Secret dvojici hlaviček. To se hodí pro ověřování SaaS služeb, které v požadavku podporují odeslání pouze jedné vlastní hlavičky (například Authorization hlavičky).

Chcete-li se ověřit pomocí jediné hlavičky:

  1. Získejte stávající konfiguraci aplikace Access:

    Požadovaná oprávnění API tokenu

    Alespoň jeden z následujících oprávnění tokenu je povinné:
    • Access: Apps and Policies Write
    • Access: Apps and Policies Read
    Získání aplikace Access
    curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/apps/$APP_ID" \
    	--request GET \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"
  2. Vytvořte PUT požadavek s názvem hlavičky, kterou chcete použít pro ověřování pomocí service token. Aby nedošlo k přepsání stávající konfigurace, PUT tělo požadavku by mělo obsahovat všechna pole vrácená předchozím GET požadavek.

    Požadovaná oprávnění API tokenu

    Alespoň jeden z následujících oprávnění tokenu je povinné:
    • Access: Apps and Policies Write
    Aktualizace aplikace Access
    curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/apps/$APP_ID" \
    	--request PUT \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"domain": "app.example.com",
    		"type": "self_hosted",
    		"read_service_tokens_from_header": "Authorization"
    	}'
  3. Přidejte hlavičku do libovolného požadavku HTTP. Například,

    curl -H "Authorization: {\"cf-access-client-id\": \"<CLIENT_ID>\", \"cf-access-client-secret\": \"<CLIENT_SECRET>\"}" https://app.example.com

Otočení tajných klíčů tokenů služby

Otočte tajný klíč tokenu služby, pokud máte podezření na jeho vyzrazení, nebo v rámci pravidelné rotace přihlašovacích údajů. Client ID zůstává stejné, Access ale vygeneruje nový Client Secret.

Můžete nastavit přechodné období, během kterého fungují oba tajné klíče. Tuto dobu využijte k aktualizaci svých služeb, než Access zruší platnost předchozího tajného klíče.

  1. V Cloudflare dashboard, přejděte na Zero Trust > Řízení přístupu > Přihlašovací údaje služby > Service Tokens.

    Přejděte na  ↗
  2. Najděte token a vyberte tři tečky > Otočení tajného klíče.

  3. V Ponechat aktuální secret platný po dobu, zvolte, kdy má Access odvolat aktuální secret. Dostupné ochranné lhůty se pohybují od jedné hodiny do 30 dnů. Chcete-li jej odvolat při rotaci, vyberte Odvolat okamžitě.

  4. Vyberte Otočit.

  5. Zkopírujte nový Client Secret a aktualizujte své služby, než skončí ochranná lhůta.

Vytvořte POST požadavek na Otočte token služby endpoint. Nastavte previous_client_secret_expires_at na časové razítko RFC 3339, kdy má předchozí tajný klíč vypršet:

Otočte token služby
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/service_tokens/$SERVICE_TOKEN_ID/rotate" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"previous_client_secret_expires_at": "2030-01-01T00:00:00Z"
	}'

Chcete-li okamžitě zneplatnit předchozí tajný klíč, vynechte previous_client_secret_expires_at z požadavku.

Obnovte service tokeny

Platnost service tokenů vyprší podle doby platnosti tokenu, kterou jste zvolili při jeho vytvoření.

  1. V Cloudflare dashboard, přejděte na Zero Trust > Řízení přístupu > Přihlašovací údaje služby > Service Tokens.
  2. Najděte token, který chcete obnovit.
  3. Chcete-li prodloužit životnost tokenu o jeden rok, vyberte Obnovit.
  4. Chcete-li prodloužit životnost tokenu o více než rok:
    1. Vyberte Úprava.
    2. Zvolte nový Doba platnosti Service Token.
    3. Vyberte Save. Datum vypršení platnosti se prodlouží o zvolenou dobu.

Chcete-li prodloužit životnost tokenu o jeden rok, proveďte POST požadavek na Obnovení tokenu služby koncový bod:

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
  • Access: Service Tokens Write
Obnovení tokenu služby
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/service_tokens/$SERVICE_TOKEN_ID/refresh" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"

Chcete-li prodloužit životnost tokenu o vlastní dobu, proveďte PUT požadavek na Aktualizujte service token endpoint s novým duration:

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
  • Access: Service Tokens Write
Aktualizujte service token
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/service_tokens/$SERVICE_TOKEN_ID" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"duration": "17520h"
	}'

Chcete-li obnovit platnost service tokenu, aktualizujte duration atribut na cloudflare_zero_trust_access_service_token prostředek a použijte změnu. Cloudflare nastaví vypršení platnosti znovu vzhledem k času aktualizace.

resource "cloudflare_zero_trust_access_service_token" "example_service_token" {
	account_id = var.cloudflare_account_id
	name       = "Example service token"
	duration   = "17520h"

	lifecycle {
		create_before_destroy = true
	}
}

Zapnutí nebo vypnutí service tokenu

Vypněte service token, abyste dočasně zabránili jeho ověřování. Access token zachová, takže ho můžete později znovu zapnout.

Vypnutí tokenu také znemožní fungování jeho předchozího tajného klíče po dobu aktivní ochranné lhůty rotace.

  1. V Cloudflare dashboard, přejděte na Zero Trust > Řízení přístupu > Přihlašovací údaje služby > Service Tokens.

    Přejděte na  ↗
  2. Najděte token a vyberte tři tečky.

  3. Chcete-li zabránit tomu, aby token dále ověřoval identitu, vyberte Zakázat token > Zakázat.

  4. Chcete-li obnovit ověřování, vyberte Povolte token > Povolit.

Vytvořte PUT požadavek na Aktualizujte service token endpoint. Nastavte enabled na false k vypnutí tokenu:

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
  • Access: Service Tokens Write
Aktualizujte service token
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/service_tokens/$SERVICE_TOKEN_ID" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "<TOKEN_NAME>",
		"enabled": false
	}'

Chcete-li token znovu zapnout, nastavte enabled na true.

Odvolat tokeny služby

Pokud potřebujete přístup zrušit dřív, než tokenu vyprší platnost, token smažte. Služby, které se spoléhají na smazaný servisní token, se pak k vaší aplikaci už nedostanou.

  1. V Cloudflare dashboard, přejděte na Zero Trust > Řízení přístupu > Přihlašovací údaje služby > Service Tokens.
  2. Smazat token, který potřebujete zneplatnit.

Vytvořte DELETE požadavek na Odstraňte token služby koncový bod:

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
  • Access: Service Tokens Write
Odstraňte token služby
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/service_tokens/$SERVICE_TOKEN_ID" \
	--request DELETE \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"

Chcete-li zneplatnit service token, odeberte cloudflare_zero_trust_access_service_token prostředek z konfigurace a spusťte terraform apply, nebo označte prostředek k odstranění:

terraform destroy -target=cloudflare_zero_trust_access_service_token.example_service_token

Nastavte upozornění na vypršení platnosti tokenu

Upozornění lze nastavit tak, aby správce informovalo týden před vypršením platnosti servisního tokenu a umožnilo mu token obnovit.

Upozornění na vypršení platnosti Access Service Token

Pro koho je určeno?

Access zákazníkům, kteří chtějí dostat oznámení, že platnost jejich tokenu služby brzy vyprší.

Další možnosti / filtry

Žádné.

Zahrnuto v

Nákup Access

Co dělat, když upozornění obdržíte?

Prodlužte datum vypršení platnosti tokenu služby. Další podrobnosti najdete v Obnovte svůj service token.

Chcete-li nakonfigurovat upozornění na vypršení platnosti service tokenu:

  1. V Cloudflare dashboard, přejděte do Oznámení . Přejděte na Oznámení ↗
  2. Vyberte Přidat.
  3. Vyberte Vypršení platnosti Access Service Token.
  4. Zadejte název upozornění a volitelně popis.
  5. (Volitelné) Přidejte další příjemce oznamovacího e-mailu.
  6. Vyberte Save.

Vaše upozornění bylo nastaveno a je nyní vidět na Oznámení stránce.