← Cloudflare One / cloudflare-one / integrations / identity-providers
Federace IdP
Díky federaci IdP mohou organizace s více účty Cloudflare používat napříč účty jednu konfiguraci poskytovatele identity (IdP). Místo toho, abyste stejný IdP (například Okta nebo Entra ID) nastavovali zvlášť v každém účtu, ho nakonfigurujete jednou ve zdrojovém účtu a sdílíte ho s ostatními účty vaší organizace.
Každý účet příjemce získá připojení IdP pouze pro čtení, které směruje ověření zpět do zdrojového účtu prostřednictvím mostu: skryté aplikace ve zdrojovém účtu, jež zprostředkovává přihlášení mezi účty. Koncoví uživatelé se přihlašují pomocí svých stávajících přihlašovacích údajů IdP a zásady Access daného účtu vyhodnocují výslednou identitu stejně jako při jakémkoli jiném přihlášení přes IdP.
Jak to funguje
Nastavení federace IdP probíhá ve dvou krocích:
- Vytvořte federační grant. Grant umožňuje sdílet IdP mezi účty. Vytvoření grantu zároveň založí skrytou aplikaci bridge ve zdrojovém účtu.
- Sdílejte grant. Distribuujte grant konkrétním účtům nebo celé své organizaci. Každému přijímajícímu účtu se automaticky vytvoří připojení IdP jen pro čtení, které směřuje na bridge.
Když se uživatel v přijímajícím účtu ověří, požadavek se přes bridge přesměruje na zdrojový IdP. Zdrojový IdP provede ověření a výsledné nároky na identitu se předají zpět zásadám Access přijímajícího účtu.
Předpoklady
- Musíte mít oprávnění upravovat zdrojový IdP ve zdrojovém účtu.
- Musíte být členem Organizace Cloudflare.
- Zdrojový účet musí patřit do Cloudflare Organization.
Sdílení IdP
Dashboard slučuje vytvoření a sdílení grantu do jednoho postupu. Pokud pro daný IdP již federační grant existuje, použije se znovu, jinak se automaticky vytvoří nový.
- V Cloudflare dashboard ↗, přejděte na Zero Trust > Integrace > Poskytovatelé identity.
- Najděte IdP, kterého chcete sdílet, a vyberte nabídku se třemi tečkami.
- Vyberte Sdílet.
- Vyberte účty příjemců, se kterými chcete IdP sdílet.
- Zkontrolujte konfiguraci sdílení a vyberte Potvrdit.
IdP se automaticky sdílí s vybranými účty. Každý přijímající účet obdrží připojení IdP pouze pro čtení, které odkazuje na bridge ve zdrojovém účtu.
Sdílení poskytovatele identity (IdP) přes API probíhá ve dvou krocích: nejprve vytvoříte federační grant a poté ho sdílíte s konkrétními účty nebo s celou organizací.
1. Vytvořte federační grant
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/idp_federation_grants" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"idp_id": "<IDP_UUID>"
}'Odpověď obsahuje grant id, což použijete v dalším kroku. Chcete-li v účtu zobrazit seznam všech federation grants:
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/idp_federation_grants" \
--request GET \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"2. Sdílejte grant
Grant můžete sdílet s konkrétními účty nebo s celou svou Organizací Cloudflare. V recipients array cílte na každého příjemce pomocí jednoho z následujících polí:
recipient_account_id: Sdílí IdP s jedním účtem. Opakujte toto pole pro každý účet, který chcete přidat.organization_id: Sdílí IdP se všemi účty ve vaší organizaci Cloudflare.
Vyplňte pouze jedno z těchto polí na příjemce. Pokud neuvedete žádné z nich, grant se ve výchozím nastavení sdílí s celou vaší organizací.
Chcete-li sdílet grant s jedním nebo více konkrétními účty:
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/shares" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Identity provider: OpenID Connect",
"recipients": [
{
"recipient_account_id": "<RECIPIENT_ACCOUNT_ID>"
}
],
"resources": [
{
"resource_account_id": "<SOURCE_ACCOUNT_ID>",
"resource_id": "<GRANT_ID>",
"resource_type": "idp-federation-grant",
"meta": {}
}
]
}'Chcete-li sdílet grant se všemi účty ve své organizaci, nahraďte recipients array s vaším Organization ID:
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/shares" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Identity provider: OpenID Connect",
"recipients": [
{
"organization_id": "<ORGANIZATION_ID>"
}
],
"resources": [
{
"resource_account_id": "<SOURCE_ACCOUNT_ID>",
"resource_id": "<GRANT_ID>",
"resource_type": "idp-federation-grant",
"meta": {}
}
]
}'Každý účet příjemce je automaticky vybaven připojením IdP pouze pro čtení, které odkazuje na most. Pokud sdílíte s Organization, připojení obdrží každý účet v dané Organization.
Zastavit sdílení IdP
Chcete-li přestat sdílet IdP, odstraňte grant federace i samotné sdílení.
Dashboard řeší odstranění grantu i sdílení v rámci jednoho postupu.
- V Cloudflare dashboard ↗, přejděte na Zero Trust > Integrace > Poskytovatelé identity.
- Najděte sdíleného IdP a vyberte nabídku se třemi tečkami.
- Vyberte Zrušit sdílení.
- Potvrďte akci.
Zrušení federace IdP přes API probíhá ve dvou krocích. Odstranění grantu ukončí sdílení a odebere IdP s přístupem pouze pro čtení z účtů příjemců. Záznam o sdílení pak můžete volitelně vyčistit.
1. Odstraňte federační grant
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/idp_federation_grants/$GRANT_ID" \
--request DELETE \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"2. (Volitelné) Odstraňte sdílení
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/shares/$SHARE_ID" \
--request DELETE \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"Omezení
- Účet může jako zdroj federovat nejvýše jeden IdP.
- Zdrojový IdP nelze odstranit, dokud je s ním spojen grant federace. Nejprve odstraňte grant.