← Cloudflare One / cloudflare-one / access-controls / policies
Časté zásady
Následující zásady Cloudflare Access se běžně používají k zabezpečení aplikací.
Viz Stránka zásad Access pro úplný seznam dostupných akcí, typů pravidel a selektorů. Informace o vytváření a správě zásad najdete v Spravovat zásady Access.
Povolit zaměstnance podle e-mailové domény
Nejzákladnější zásada Access uděluje přístup komukoli, kdo se ověří pomocí e-mailové adresy patřící vaší organizaci. Toto je dobrý výchozí bod, pokud poprvé zabezpečujete aplikaci pomocí Access a chcete ji omezit na zaměstnance používající vaši firemní poskytovatel identity.
| Akce | Typ pravidla | Selektor | Hodnota |
|---|---|---|---|
| Allow | Include | E-maily končící na | @example.com |
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
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/policies" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Allow employees by email domain",
"decision": "allow",
"include": [
{
"email_domain": {
"domain": "example.com"
}
}
]
}'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
Nakonfigurujte cloudflare_zero_trust_access_policy ↗ prostředek:
resource "cloudflare_zero_trust_access_policy" "allow_employees_by_email_domain" {
account_id = var.cloudflare_account_id
name = "Allow employees by email domain"
decision = "allow"
include = [{
email_domain = {
domain = "example.com"
}
}]
}Do pravidla Include můžete přidat více e-mailových domén, pokud vaše organizace používá více než jednu doménu (například @example.com a @example.co.uk).
Povolit zaměstnance z konkrétních zemí
Organizace působící v konkrétních regionech nebo organizace, které musí splňovat požadavky na rezidenci dat, mohou omezit přístup k aplikaci na uživatele ze schválených zemí. Tato zásada se hodí, pokud chcete omezit, odkud se mohou zaměstnanci připojovat, a zároveň chcete povolit výjimky pro jednotlivé uživatele, například pro vedoucí pracovníky na cestách.
Protože pravidla Require používají logiku AND, nelze do jednoho pravidla Require přidat více zemí najednou: vyžadovalo by to, aby se uživatel nacházel ve všech zemích současně. Místo toho nejprve vytvořte skupina pravidel který uvádí schválené země:
| Typ pravidla | Selektor | Hodnota |
|---|---|---|
| Include | Země | United States, Portugal |
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Access: Organizations, Identity Providers, and Groups Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/groups" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Approved countries",
"include": [
{
"geo": {
"country_code": "US"
}
},
{
"geo": {
"country_code": "PT"
}
}
]
}'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
Nakonfigurujte cloudflare_zero_trust_access_group ↗ prostředek:
resource "cloudflare_zero_trust_access_group" "approved_countries" {
account_id = var.cloudflare_account_id
name = "Approved countries"
include = [
{
geo = {
country_code = "US"
}
},
{
geo = {
country_code = "PT"
}
},
]
}Poté v zásadě Access odkažte na skupinu pravidel:
| Akce | Typ pravidla | Selektor | Hodnota |
|---|---|---|---|
| Allow | Include | E-maily končící na | @example.com |
| Require | Skupina pravidel | Approved countries |
|
| Vyloučit | [email protected], [email protected] |
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
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/policies" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Allow employees from specific countries",
"decision": "allow",
"include": [
{
"email_domain": {
"domain": "example.com"
}
}
],
"require": [
{
"group": {
"id": "<APPROVED_COUNTRIES_GROUP_ID>"
}
}
],
"exclude": [
{
"email": {
"email": "[email protected]"
}
},
{
"email": {
"email": "[email protected]"
}
}
]
}'Nahraďte <APPROVED_COUNTRIES_GROUP_ID> hodnotou id vrácené při vytvoření skupiny pravidel výše. Chcete-li vyhledat existující skupiny, použijte List Access groups koncový bod.
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
Nakonfigurujte cloudflare_zero_trust_access_policy ↗ prostředek:
resource "cloudflare_zero_trust_access_policy" "allow_employees_from_specific_countries" {
account_id = var.cloudflare_account_id
name = "Allow employees from specific countries"
decision = "allow"
include = [{
email_domain = {
domain = "example.com"
}
}]
require = [{
group = {
id = cloudflare_zero_trust_access_group.approved_countries.id
}
}]
exclude = [
{
email = {
email = "[email protected]"
}
},
{
email = {
email = "[email protected]"
}
},
]
} cloudflare_zero_trust_access_group.approved_countries odkaz ukazuje na cloudflare_zero_trust_access_group ↗ prostředek vytvořený výše.
Vyžadovat stav zařízení u citlivých aplikací
U aplikací obsahujících citlivá data můžete ověřit, že se uživatelé připojují ze spravovaných zařízení splňujících bezpečnostní standard vaší organizace. Následující příklad kombinuje ověření identity s kontroly stavu zařízení zajistit, že zařízení používá podporovanou Verze OS a je připojeno prostřednictvím Cloudflare One Client, což je vynucováno Vyžadovat kontrolu Gateway.
| Akce | Typ pravidla | Selektor | Hodnota |
|---|---|---|---|
| Allow | Include | Okta Groups | Full-Time Employees |
| Require | Gateway | Gateway |
|
| Require | Verze OS | Latest version of Windows |
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
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/policies" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Require device posture for sensitive apps",
"decision": "allow",
"include": [
{
"okta": {
"name": "Full-Time Employees",
"identity_provider_id": "<OKTA_IDP_ID>"
}
}
],
"require": [
{
"device_posture": {
"integration_uid": "<GATEWAY_CHECK_ID>"
}
},
{
"device_posture": {
"integration_uid": "<OS_VERSION_CHECK_ID>"
}
}
]
}'Nahraďte okta pravidlo s příslušné pravidlo pro vašeho poskytovatele identity. Chcete-li získat ID svého poskytovatele identity, použijte List Access identity providers endpoint. Chcete-li získat UID integrace pro kontroly stavu zařízení, použijte Seznam kontrol stavu zařízení koncový bod.
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
Nakonfigurujte cloudflare_zero_trust_access_policy ↗ prostředek:
resource "cloudflare_zero_trust_access_policy" "require_device_posture" {
account_id = var.cloudflare_account_id
name = "Require device posture for sensitive apps"
decision = "allow"
include = [{
okta = {
name = "Full-Time Employees"
identity_provider_id = cloudflare_zero_trust_access_identity_provider.okta.id
}
}]
require = [
{
device_posture = {
integration_uid = cloudflare_zero_trust_device_posture_rule.gateway_check.id
}
},
{
device_posture = {
integration_uid = cloudflare_zero_trust_device_posture_rule.os_version_check.id
}
},
]
}- Nahraďte
oktapravidlo s příslušnýmcloudflare_zero_trust_access_identity_provider↗ prostředek pro vašeho poskytovatele identity. Konfiguraci prostředku poskytovatele identity najdete v Poskytovatelé identity. - Chcete-li nakonfigurovat
cloudflare_zero_trust_device_posture_rule↗ prostředky uvedené výše, viz Kontroly stavu zařízení.
Chcete-li tyto požadavky na zařízení znovu použít napříč více aplikacemi, vytvořte skupina pravidel s názvem „Corporate device requirements“, která obsahuje kontroly stavu zařízení. Tuto skupinu pravidel pak můžete odkázat v poli Require libovolné zásady.
Vyžadovat MFA u vysoce zabezpečených aplikací
U aplikací, které zpracovávají finanční data, produkční infrastrukturu nebo jiné vysoce cenné prostředky, můžete uživatelům uložit povinnost ověřit se kromě přihlašovacích údajů od poskytovatele identity také pomocí vícefaktorového ověřování (MFA). Díky tomu samotné kompromitované heslo k získání přístupu nestačí.
Access podporuje dva přístupy k vynucování MFA:
MFA založené na poskytovateli identity
Pokud váš poskytovatel identity hlásí metodu ověření použitou při přihlášení, můžete přidat Metoda ověřování selektor a vyžadujte konkrétní metodu MFA, například hardwarový bezpečnostní klíč.
| Akce | Typ pravidla | Selektor | Hodnota |
|---|---|---|---|
| Allow | Include | Okta Groups | Employees |
| Require | Metoda ověřování | Security key |
|
| Require | Gateway | (povoleno) |
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
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/policies" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Require MFA for high-security apps",
"decision": "allow",
"include": [
{
"okta": {
"name": "Employees",
"identity_provider_id": "<OKTA_IDP_ID>"
}
}
],
"require": [
{
"auth_method": {
"auth_method": "swk"
}
},
{
"device_posture": {
"integration_uid": "<GATEWAY_CHECK_ID>"
}
}
]
}' auth_method hodnota používá RFC 8176 ↗ referenční hodnoty metody ověřování. Například swk představuje softwarově zabezpečený klíč (bezpečnostní klíč). Nahraďte okta pravidlo s příslušné pravidlo pro vašeho poskytovatele identity. Chcete-li získat ID svého poskytovatele identity, použijte List Access identity providers endpoint. Chcete-li získat <GATEWAY_CHECK_ID>, použijte Seznam kontrol stavu zařízení koncový bod.
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
Nakonfigurujte cloudflare_zero_trust_access_policy ↗ prostředek:
resource "cloudflare_zero_trust_access_policy" "require_mfa" {
account_id = var.cloudflare_account_id
name = "Require MFA for high-security apps"
decision = "allow"
include = [{
okta = {
name = "Employees"
identity_provider_id = cloudflare_zero_trust_access_identity_provider.okta.id
}
}]
require = [
{
auth_method = {
auth_method = "swk"
}
},
{
device_posture = {
integration_uid = cloudflare_zero_trust_device_posture_rule.gateway_check.id
}
},
]
} auth_method hodnota používá RFC 8176 ↗ referenční hodnoty metody ověřování. Například swk představuje softwarově zabezpečený klíč (bezpečnostní klíč).
- Nahraďte
oktapravidlo s příslušnýmcloudflare_zero_trust_access_identity_provider↗ prostředek pro vašeho poskytovatele identity. Konfiguraci prostředku poskytovatele identity najdete v Poskytovatelé identity. - Chcete-li nakonfigurovat
cloudflare_zero_trust_device_posture_rule↗ prostředek uvedený výše, viz Kontroly stavu zařízení.
Independent MFA
Pokud chcete vynucovat MFA přímo v Access bez spoléhání na IdP, můžete použít independent MFA. Nezávislé MFA se nekonfiguruje pomocí selektorů zásad. Místo toho nejprve zapnutí nezávislého MFA na úrovni organizace a poté ji povolit pro konkrétní aplikace nebo zásady v panelu nastavení. Access vyzve uživatele k zadání druhého faktoru (například bezpečnostního klíče, autentizační aplikace nebo biometrie) poté, co se ověří u vašeho IdP.
Podrobnosti o obou přístupech najdete v Vynuťte MFA.
Povolit přístup dodavatelům pomocí ověřování e-mailem
Když spolupracujete s externími dodavateli nebo partnery, kteří nejsou součástí vašeho firemního poskytovatele identity, můžete jim udělit přístup pomocí jednorázový PIN (OTP). OTP odešle na e-mailovou adresu dodavatele krátce platný kód, díky kterému se může ověřit bez nutnosti mít účet ve vašem IdP.
| Akce | Typ pravidla | Selektor | Hodnota |
|---|---|---|---|
| Allow | Include | E-maily končící na | @contractor-a.com, @contractor-b.com |
| Require | Metody přihlášení | One-time PIN |
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
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/policies" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Allow contractor access with OTP",
"decision": "allow",
"include": [
{
"email_domain": {
"domain": "contractor-a.com"
}
},
{
"email_domain": {
"domain": "contractor-b.com"
}
}
],
"require": [
{
"login_method": {
"id": "<OTP_IDENTITY_PROVIDER_ID>"
}
}
]
}'Chcete-li získat ID svého poskytovatele identity OTP, použijte List Access identity providers koncový bod.
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
Nakonfigurujte cloudflare_zero_trust_access_policy ↗ prostředek:
resource "cloudflare_zero_trust_access_policy" "allow_contractor_access_with_otp" {
account_id = var.cloudflare_account_id
name = "Allow contractor access with OTP"
decision = "allow"
include = [
{
email_domain = {
domain = "contractor-a.com"
}
},
{
email_domain = {
domain = "contractor-b.com"
}
},
]
require = [{
login_method = {
id = cloudflare_zero_trust_access_identity_provider.otp.id
}
}]
}Chcete-li nakonfigurovat cloudflare_zero_trust_access_identity_provider ↗ prostředek pro OTP (nakonfigurovaný pomocí type = "onetimepin"), viz Jednorázový PIN.
Izolovat přístup dodavatelů k interním aplikacím
Pokud dodavatelé nebo jiní externí uživatelé potřebují zobrazovat interní aplikace, ale nemají mít možnost stahovat, kopírovat nebo přenášet data do svých nespravovaných zařízení, můžete aplikaci zpřístupnit v vzdálený prohlížeč. Externím uživatelům to poskytuje viditelnost do aplikace pouze pro čtení, přičemž citlivá data neopustí vaše prostředí.
| Akce | Typ pravidla | Selektor | Hodnota |
|---|---|---|---|
| Allow | Include | E-maily končící na | @contractor-a.com, @contractor-b.com |
Další nastavení: Zapnutí Izolovat aplikaci.
Nejprve ve svém účtu povolte Clientless Web Isolation, pokud jste tak ještě neučinili:
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/configuration" \
--request PATCH \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"settings": {
"browser_isolation": {
"url_browser_isolation_enabled": true
}
}
}'Poté vytvořte zásadu Access s isolation_required nastaveno na true:
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
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/policies" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Isolate contractor access",
"decision": "allow",
"include": [
{
"email_domain": {
"domain": "contractor-a.com"
}
},
{
"email_domain": {
"domain": "contractor-b.com"
}
}
],
"isolation_required": true
}'Nejprve nakonfigurujte cloudflare_zero_trust_gateway_settings ↗ prostředek pro povolení Clientless Web Isolation ve vašem účtu, pokud jste tak ještě neučinili:
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:
Zero Trust Write
resource "cloudflare_zero_trust_gateway_settings" "gateway_settings" {
account_id = var.cloudflare_account_id
settings = {
browser_isolation = {
url_browser_isolation_enabled = true
}
}
}Poté nakonfigurujte cloudflare_zero_trust_access_policy ↗ prostředek s isolation_required nastaveno na true:
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
resource "cloudflare_zero_trust_access_policy" "isolate_contractor_access" {
account_id = var.cloudflare_account_id
name = "Isolate contractor access"
decision = "allow"
isolation_required = true
include = [
{
email_domain = {
domain = "contractor-a.com"
}
},
{
email_domain = {
domain = "contractor-b.com"
}
},
]
}Chcete-li omezit, co mohou uživatelé dělat uvnitř izolované relace, vytvořte doprovodnou Zásada Gateway HTTP která odpovídá provozu směřujícímu na doménu aplikace. Nastavte akci na Isolate a zakažte interaktivní ovládací prvky v nastavení zásady.
Příklad zásady Gateway HTTP
| Selektor | Operátor | Hodnota | Akce |
|---|---|---|---|
| Doména | v | wiki.example.com |
Isolate |
Nastavení zásady:
| Nastavení | Hodnota |
|---|---|
| Copy | Nepovolit |
| Vložit | Nepovolit |
| Klávesnice | Nepovolit |
| Stahování souborů | Nepovolit |
| Nahrávání souborů | Nepovolit |
| Tisk | Nepovolit |
Další informace najdete v tématu Izolovat samostatně hostovanou aplikaci.
Blokovat požadavky z vysoce rizikových zemí
Pokud vaše organizace omezuje přístup z určitých zemí kvůli interním zásadám nebo regulačním požadavkům, jako je Sankce OFAC ↗ nebo předpisy ITAR ↗, můžete vytvořit zásadu Block, která odepře přístup z těchto regionů. Přidání firemního allowlistu IP adres jako pravidla Exclude zajistí, že zaměstnanci připojující se z důvěryhodných kancelářských sítí nebudou neúmyslně blokováni.
| Akce | Typ pravidla | Selektor | Hodnota |
|---|---|---|---|
| Block | Include | Země | Russian Federation |
| Vyloučit | Seznam IP adres | Corporate IP allowlist |
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
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/policies" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Block requests from high-risk countries",
"decision": "deny",
"include": [
{
"geo": {
"country_code": "RU"
}
}
],
"exclude": [
{
"ip_list": {
"id": "<CORPORATE_IP_ALLOWLIST_ID>"
}
}
]
}'Chcete-li získat ID svého seznamu IP adres, použijte Seznam seznamů Zero Trust koncový bod.
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
Nakonfigurujte cloudflare_zero_trust_access_policy ↗ prostředek:
resource "cloudflare_zero_trust_access_policy" "block_high_risk_countries" {
account_id = var.cloudflare_account_id
name = "Block requests from high-risk countries"
decision = "deny"
include = [{
geo = {
country_code = "RU"
}
}]
exclude = [{
ip_list = {
id = cloudflare_zero_trust_list.corporate_ip_allowlist.id
}
}]
}Chcete-li nakonfigurovat cloudflare_zero_trust_list ↗ prostředek uvedený výše (nakonfigurovaný pomocí type = "IP"), viz Seznamy.
Zásady blokování se nejlépe používají společně s Zásady povolení a vytvořte výjimky. Protože Access ve výchozím nastavení odepírá všechny požadavky, uživatelé, kteří neodpovídají zásadě Block, jsou i nadále odepřeni, pokud neodpovídají zásadě Allow.
Vyloučit vysoce rizikové uživatele
Pokud vaše organizace používá Cloudflare User Risk Scores k označování uživatelů s anomálním chováním, můžete vyloučit vysoce rizikové uživatele z přístupu k citlivým aplikacím. To slouží jako dynamické zabezpečení, které automaticky omezí přístup, jakmile chování uživatele vyvolá změnu úrovně rizika, aniž by byl nutný manuální zásah.
| Akce | Typ pravidla | Selektor | Hodnota |
|---|---|---|---|
| Allow | Include | E-maily končící na | @example.com |
| Vyloučit | Rizikové skóre uživatele | Vysoká |
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
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/policies" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Exclude high-risk users",
"decision": "allow",
"include": [
{
"email_domain": {
"domain": "example.com"
}
}
],
"exclude": [
{
"user_risk_score": {
"user_risk_score": [
"high"
]
}
}
]
}'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
Nakonfigurujte cloudflare_zero_trust_access_policy ↗ prostředek:
resource "cloudflare_zero_trust_access_policy" "exclude_high_risk_users" {
account_id = var.cloudflare_account_id
name = "Exclude high-risk users"
decision = "allow"
include = [{
email_domain = {
domain = "example.com"
}
}]
exclude = [{
user_risk_score = {
user_risk_score = ["high"]
}
}]
}V tomto příkladu je uživatel s vysokým rizikovým hodnocením vyloučen i v případě, že odpovídá pravidlu Include. Informace o tom, jak se počítají risk scores a jak nakonfigurovat risk behaviors, najdete v Rizikové skóre uživatele.
Ověřte službu pomocí tokenu služby
Automatizované služby, jako jsou pipeline CI/CD, monitorovací systémy a backendová rozhraní API, potřebují přistupovat k chráněným aplikacím bez interaktivního přihlášení. Zásady Service Auth umožňují komunikaci typu stroj-stroj ověřováním požadavků, které obsahují platné token služby hlavičky. Pro vyšší zabezpečení můžete token omezit na požadavky z konkrétních rozsahů IP adres, čímž zajistíte, že jej bude možné použít pouze ze známé infrastruktury.
| Akce | Typ pravidla | Selektor | Hodnota |
|---|---|---|---|
| Service Auth | Include | Service Token | My service token |
| Require | IP rozsahy | 192.0.2.0/24 |
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
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/policies" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Authenticate service with service token",
"decision": "non_identity",
"include": [
{
"service_token": {
"token_id": "<SERVICE_TOKEN_ID>"
}
}
],
"require": [
{
"ip": {
"ip": "192.0.2.0/24"
}
}
]
}'Chcete-li získat ID svého service tokenu, použijte Seznam 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: Apps and Policies Write
Nakonfigurujte cloudflare_zero_trust_access_policy ↗ prostředek:
resource "cloudflare_zero_trust_access_policy" "authenticate_service_with_token" {
account_id = var.cloudflare_account_id
name = "Authenticate service with service token"
decision = "non_identity"
include = [{
service_token = {
token_id = cloudflare_zero_trust_access_service_token.my_service_token.id
}
}]
require = [{
ip = {
ip = "192.0.2.0/24"
}
}]
}Chcete-li nakonfigurovat cloudflare_zero_trust_access_service_token ↗ prostředek uvedený výše, viz Service tokens.
Ověřte službu pomocí vzájemného TLS
Pro prostředí, která vyžadují ověřování založené na certifikátech, můžete použít vzájemné TLS (mTLS) k ověření, že připojující se klient předkládá platný certifikát s očekávanou identitou. mTLS se hodí pro ověřování automatizovaných systémů a zařízení IoT, která nepoužívají poskytovatele identity, nebo jako doplňkový ověřovací faktor pro členy týmu, kteří se přihlašují také přes IdP.
Chcete-li omezit přístup na konkrétního klienta, použijte Obecný název selektor a porovnejte identitu v klientském certifikátu:
| Akce | Typ pravidla | Selektor | Hodnota |
|---|---|---|---|
| Service Auth | Include | Obecný název | John Doe |
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
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/policies" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Authenticate service with mTLS",
"decision": "non_identity",
"include": [
{
"common_name": {
"common_name": "John Doe"
}
}
]
}'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
Nakonfigurujte cloudflare_zero_trust_access_policy ↗ prostředek:
resource "cloudflare_zero_trust_access_policy" "authenticate_service_with_mtls" {
account_id = var.cloudflare_account_id
name = "Authenticate service with mTLS"
decision = "non_identity"
include = [{
common_name = {
common_name = "John Doe"
}
}]
}Chcete-li povolit libovolného klienta, který předloží platný certifikát podepsaný vaší certifikační autoritou (CA), použijte Platný certifikát selektor. Tento selektor se hodí, pokud důvěřujete všem certifikátům vydaným vaší CA a nepotřebujete kontrolovat konkrétní Common Name.
| Akce | Typ pravidla | Selektor |
|---|---|---|
| Service Auth | Include | Platný certifikát |
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
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/policies" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Authenticate service with valid certificate",
"decision": "non_identity",
"include": [
{
"certificate": {}
}
]
}'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
Nakonfigurujte cloudflare_zero_trust_access_policy ↗ prostředek:
resource "cloudflare_zero_trust_access_policy" "authenticate_service_with_valid_certificate" {
account_id = var.cloudflare_account_id
name = "Authenticate service with valid certificate"
decision = "non_identity"
include = [{
certificate = {}
}]
}Vyžadovat odůvodnění účelu u citlivých aplikací
U aplikací, jako jsou nástroje pro správu databází, produkční konzole nebo HR systémy, můžete uživatelům uložit povinnost při každém přístupu k aplikaci uvést písemné zdůvodnění. Vzniká tak auditní stopa, která bezpečnostním týmům pomáhá pochopit, proč byl přístup vyžádán. Obrazovka s odůvodněním se zobrazí po ověření uživatele a předtím, než se dostane k aplikaci. Další informace najdete v Vyžadovat odůvodnění účelu.
| Akce | Typ pravidla | Selektor | Hodnota |
|---|---|---|---|
| Allow | Include | Okta Groups | IT Administrators |
| Require | Gateway | Gateway |
|
| Require | Verze OS | Latest version of Windows |
Další nastavení: Zapnutí Zdůvodnění účelu.
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
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/policies" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Require purpose justification for sensitive apps",
"decision": "allow",
"include": [
{
"okta": {
"name": "IT Administrators",
"identity_provider_id": "<OKTA_IDP_ID>"
}
}
],
"require": [
{
"device_posture": {
"integration_uid": "<GATEWAY_CHECK_ID>"
}
},
{
"device_posture": {
"integration_uid": "<WINDOWS_VERSION_CHECK_ID>"
}
}
],
"purpose_justification_required": true,
"purpose_justification_prompt": "Please enter a justification for accessing this application."
}'Nahraďte okta pravidlo s příslušné pravidlo pro vašeho poskytovatele identity. Chcete-li získat ID svého poskytovatele identity, použijte List Access identity providers endpoint. Chcete-li získat UID integrace pro kontroly stavu zařízení, použijte Seznam kontrol stavu zařízení koncový bod.
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
Nakonfigurujte cloudflare_zero_trust_access_policy ↗ prostředek:
resource "cloudflare_zero_trust_access_policy" "require_purpose_justification" {
account_id = var.cloudflare_account_id
name = "Require purpose justification for sensitive apps"
decision = "allow"
purpose_justification_required = true
purpose_justification_prompt = "Please enter a justification for accessing this application."
include = [{
okta = {
name = "IT Administrators"
identity_provider_id = cloudflare_zero_trust_access_identity_provider.okta.id
}
}]
require = [
{
device_posture = {
integration_uid = cloudflare_zero_trust_device_posture_rule.gateway_check.id
}
},
{
device_posture = {
integration_uid = cloudflare_zero_trust_device_posture_rule.windows_version.id
}
},
]
}- Nahraďte
oktapravidlo s příslušnýmcloudflare_zero_trust_access_identity_provider↗ prostředek pro vašeho poskytovatele identity. Konfiguraci prostředku poskytovatele identity najdete v Poskytovatelé identity. - Chcete-li nakonfigurovat
cloudflare_zero_trust_device_posture_rule↗ prostředky uvedené výše, viz Kontroly stavu zařízení.
Odůvodnění účelu můžete kombinovat s dočasné ověření a vyžadujte navíc schválení od určeného recenzenta před udělením přístupu.
Obejít veřejný endpoint
Některé aplikace mají endpointy, které musí být veřejně dostupné, například OAuth callback URL, příjemce webhooků nebo cesty pro health check. Můžete vytvořit zásadu Bypass omezenou na konkrétní cesta k aplikaci zakázat vynucování Access pouze pro daný endpoint. Pokud je například vaše aplikace app.example.com, můžete vytvořit samostatnou aplikaci Access pro app.example.com/oauth/callback a aplikujte následující zásadu Bypass:
| Akce | Typ pravidla | Selektor | Hodnota |
|---|---|---|---|
| Bypass | Include | Všichni | Everyone |
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
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/policies" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Bypass public endpoint",
"decision": "bypass",
"include": [
{
"everyone": {}
}
]
}'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
Nakonfigurujte cloudflare_zero_trust_access_policy ↗ prostředek:
resource "cloudflare_zero_trust_access_policy" "bypass_public_endpoint" {
account_id = var.cloudflare_account_id
name = "Bypass public endpoint"
decision = "bypass"
include = [{
everyone = {}
}]
}