← Cloudflare One / cloudflare-one / access-controls / service-credentials
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
-
V Cloudflare dashboard ↗, přejděte na Zero Trust > Řízení přístupu > Přihlašovací údaje služby > Service Tokens.
-
Vyberte Create Service Token.
-
Pojmenujte token služby. Název vám umožní snadno identifikovat události související s tokenem v protokolech a token jednotlivě zneplatnit.
-
Vyberte Doba platnosti Service Token. Tím se nastavuje datum vypršení platnosti tokenu.
-
Vyberte Vygenerovat token. Zobrazí se vygenerované Client ID a Client Secret pro service token, spolu s příslušnými hlavičkami požadavků.
-
Zkopírujte Client Secret.
-
Vytvořte
POSTpožadavek na Access Service Tokens koncový bod:
Alespoň jeden z následujících oprávnění tokenu je povinné:Požadovaná oprávnění API tokenu
Access: Service Tokens Write
Vytvořit service tokencurl "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" }' -
Zkopírujte
client_idaclient_secrethodnoty 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 }
-
Přidejte následující oprávnění do svého
cloudflare_api_token↗:Access: Service Tokens Write
-
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 } } -
Získejte Client ID a Client Secret tokenu služby:
Příklad: výstup do CLI
- 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 } - Použijte konfiguraci:
terraform apply - Přečtěte si Client ID a Client Secret:
terraform output -raw example_service_token_client_idterraform 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 }) } - Výstup Client ID a Client Secret do souboru stavu Terraformu:
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.comOvěř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:
-
Získejte stávající konfiguraci aplikace Access:
Alespoň jeden z následujících oprávnění tokenu je povinné:Požadovaná oprávnění API tokenu
Access: Apps and Policies WriteAccess: Apps and Policies Read
Získání aplikace Accesscurl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/apps/$APP_ID" \ --request GET \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" -
Vytvořte
PUTpož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,PUTtělo požadavku by mělo obsahovat všechna pole vrácená předchozímGETpožadavek.
Alespoň jeden z následujících oprávnění tokenu je povinné:Požadovaná oprávnění API tokenu
Access: Apps and Policies Write
Aktualizace aplikace Accesscurl "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" }' -
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.
-
V Cloudflare dashboard ↗, přejděte na Zero Trust > Řízení přístupu > Přihlašovací údaje služby > Service Tokens.
Přejděte na ↗ -
Najděte token a vyberte tři tečky > Otočení tajného klíče.
-
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ě.
-
Vyberte Otočit.
-
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:
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í.
- V Cloudflare dashboard ↗, přejděte na Zero Trust > Řízení přístupu > Přihlašovací údaje služby > Service Tokens.
- Najděte token, který chcete obnovit.
- Chcete-li prodloužit životnost tokenu o jeden rok, vyberte Obnovit.
- Chcete-li prodloužit životnost tokenu o více než rok:
- Vyberte Úprava.
- Zvolte nový Doba platnosti Service Token.
- 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
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
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.
-
V Cloudflare dashboard ↗, přejděte na Zero Trust > Řízení přístupu > Přihlašovací údaje služby > Service Tokens.
Přejděte na ↗ -
Najděte token a vyberte tři tečky.
-
Chcete-li zabránit tomu, aby token dále ověřoval identitu, vyberte Zakázat token > Zakázat.
-
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
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.
- V Cloudflare dashboard ↗, přejděte na Zero Trust > Řízení přístupu > Přihlašovací údaje služby > Service Tokens.
- 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
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_tokenNastavte 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 vNá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:
- V Cloudflare dashboard ↗, přejděte do Oznámení . Přejděte na Oznámení ↗
- Vyberte Přidat.
- Vyberte Vypršení platnosti Access Service Token.
- Zadejte název upozornění a volitelně popis.
- (Volitelné) Přidejte další příjemce oznamovacího e-mailu.
- Vyberte Save.
Vaše upozornění bylo nastaveno a je nyní vidět na Oznámení stránce.