INTEGRITY Dokumentace

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:

  1. 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.
  2. 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

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ý.

  1. V Cloudflare dashboard, přejděte na Zero Trust > Integrace > Poskytovatelé identity.
  2. Najděte IdP, kterého chcete sdílet, a vyberte nabídku se třemi tečkami.
  3. Vyberte Sdílet.
  4. Vyberte účty příjemců, se kterými chcete IdP sdílet.
  5. 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.

  1. V Cloudflare dashboard, přejděte na Zero Trust > Integrace > Poskytovatelé identity.
  2. Najděte sdíleného IdP a vyberte nabídku se třemi tečkami.
  3. Vyberte Zrušit sdílení.
  4. 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í