← Cloudflare Secrets Store / secrets-store / integrations
Integrace Workers
Cloudflare Secrets Store je zabezpečené centralizované úložiště, ve kterém se ukládají a spravují tajemství na úrovni účtu. Tajemství jsou bezpečně šifrována a uložena ve všech datových centrech Cloudflare.
Postup níže ukazuje, jak použít hodnoty z úložiště tajemství vašeho účtu s Cloudflare Workers.
Než začnete
-
Pokud pomocí dashboardu, ujistěte se, že již máte aplikaci Workers. Viz Začínáme s Workers pro pokyny.
-
Měli byste mít také vytvořené úložiště v části Secrets Store na Dashboardu. První úložiště ve vašem účtu se vytvoří automaticky, jakmile uživatel s role Super Administrator nebo Secrets Store Admin s ním interaguje.
- Pokud ve vašem účtu ještě žádné úložiště neexistuje a máte potřebná oprávnění, můžete použít Příkaz Wrangler
secrets-store store create <name> --remotek vytvoření vašeho prvního úložiště.
- Pokud ve vašem účtu ještě žádné úložiště neexistuje a máte potřebná oprávnění, můžete použít Příkaz Wrangler
1. Nastavte tajemství účtu v Secrets Store
Chcete-li vytvořit tajemství, postupujte podle kroků níže. Musíte mít role Super Administrator nebo role Secrets Store Admin ve vašem účtu Cloudflare.
Použijte Příkaz Wrangler secrets-store secret create.
Chcete-li použít následující příklad, nahraďte ID úložiště a název tajemství skutečnými hodnotami. ID úložiště najdete a zkopírujete na Karta Secrets Store ↗ na dashboardu, nebo použijte wrangler secrets-store store list.
Název tajemství nesmí obsahovat mezery.
npx wrangler secrets-store secret create <STORE_ID> --name MY_SECRET_NAME --scopes workers --remote✓ Enter a secret value: › ***
🔐 Creating secret... (Name: MY_SECRET_NAME, Value: REDACTED, Scopes: workers, Comment: undefined)
✓ Select an account: › My account
✅ Created secret! (ID: 13bc7498c6374a4e9d13be091c3c65f1)-
V dashboardu Cloudflare přejděte na Secrets Store stránce.
Přejděte na Secrets Store ↗ -
Vyberte Create secret.
-
Vyplňte povinná pole a zvolte Workers jako Rozsah oprávnění. Jakmile je tajemství uloženo, jeho hodnota již nebude možné zobrazit.
-
(Volitelné) Vyberte Add additional secret k vytvoření více tajemství najednou.
-
Vyberte Save a potvrďte.
ID úložiště najdete a zkopírujete na Karta Secrets Store ↗ na dashboardu, nebo použijte Příkaz Wrangler. Také se ujistěte, že vaše tajemství name neobsahuje mezery.
Viz Secrets Store API pro úplnou dokumentaci API.
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Secrets Store Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/secrets_store/stores/$STORE_ID/secrets" \
--request POST \
--header "X-Auth-Email: $CLOUDFLARE_EMAIL" \
--header "X-Auth-Key: $CLOUDFLARE_API_KEY" \
--json '[
{
"name": "<MY_SECRET_NAME>",
"value": "<SECRET_VALUE>",
"scopes": [
"workers"
],
"comment": ""
},
{
"name": "<MY_SECRET_NAME_2>",
"value": "<SECRET_VALUE>",
"scopes": [
"workers"
],
"comment": ""
}
]'Viz spravovat tajemství účtu pro další možnosti.
2. Přiřaďte tajemství účtu k vašemu Workeru
Bindings umožňují vašemu Workeru interagovat s prostředky ve vašem účtu Cloudflare.
Chcete-li navázat tajemství účtu na váš Worker, musíte mít jednu z následujících role ve vašem účtu Cloudflare:
- Super Administrator
- Secrets Store Deployer
Pomocí nástroje Wrangler
- Přidejte binding Secrets Store k vašemu Konfigurační soubor Wrangler:
binding: popisný název vašeho bindingu. Použije se v aplikaci Workers, když přístup k vašemu tajemství naenvobjekt.store_id: odpovídající ID Secrets Store, ve kterém bylo vaše tajemství účtu vytvořeno.secret_name: jedinečný název tajemství, definovaný při vytvoření tajemství účtu.
{
"main": "./src/index.js",
"secrets_store_secrets": [
{
"binding": "<BINDING_VARIABLE>",
"store_id": "<STORE_ID>",
"secret_name": "<MY_SECRET_NAME>"
}
]
}main = "./src/index.js"
[[secrets_store_secrets]]
binding = "<BINDING_VARIABLE>"
store_id = "<STORE_ID>"
secret_name = "<MY_SECRET_NAME>"Přes dashboard
-
V Cloudflare dashboardu přejděte na Workers & Pages.
Přejděte na Workers & Pages ↗ -
Vyberte aplikaci Workers.
-
Přejděte na Nastavení > Bindings a vyberte Přidat.
-
Na Přidat binding k prostředku v postranním panelu vyberte Secrets Store.
-
Vyplňte povinná pole:
- Název proměnné: název bindingu. Použije se k tomu, aby váš Worker mohl přistupovat k tajemství (krok 3 níže).
- Název tajemství: vyberte ze seznamu dostupných tajemství účtu vytvořených v krok 1.
- (Volitelné, pouze pro administrátory) Pokud tajemství, které potřebujete, ještě neexistuje, vyberte Create secret. Tím se přidá tajemství na úrovni účtu stejným způsobem, jako kdybyste vytvořili ho v Secrets Store.
-
Vyberte Nasadit k nasazení vašeho bindingu. Při nasazení máte dvě možnosti:
- Nasadit: Binding okamžitě nasaďte pro 100 % vašeho publika.
- Uložit verzi: Uložte verzi bindingu, kterou budete moci nasadit později.
3. Přistupte k tajemství na env objekt
Bindings se nacházejí na env objekt. Abyste získali přístup k tajemství, musíte nejprve provést asynchronní volání.
Zavolejte get() na proměnné bindingu
export default {
async fetch(request, env) {
// Example of using the secret safely in an API request
const APIkey = await env.<BINDING_VARIABLE>.get()
const response = await fetch("https://api.example.com/data", {
headers: { "Authorization": `Bearer ${APIKey}` },
});
if (!response.ok) {
return new Response("Failed to fetch data", { status: response.status });
}
const data = await response.json();
return new Response(JSON.stringify(data), {
headers: { "Content-Type": "application/json" },
});
},
};