blog/source/_posts/【教程】使用 Cloudflare Zero Trust 限制访问.md

97 lines
2.4 KiB
Markdown
Raw Normal View History

2024-02-01 11:45:45 +00:00
---
title: 【教程】使用 Cloudflare Zero Trust 限制访问
date: 2023/1/29 20:04
tags: [cloudflare, access, api]
categories: 技术
permalink: 373.html
index_img: https://i.dawnlab.me/2f2f141df278a55104d74d969487d8e7.png
---
# 简介
## 零信任网络访问ZTNA
用户通过客户端或 Web 浏览器连接到企业资源,无需使用 VPN。当请求通过我们的网络进行路由和加速时它们将被根据 Zero Trust 规则进行评估,这些规则集成了来自身份提供者、设备和其他上下文的信号。
过去RDP 软件、SMB 文件查看器和其他胖客户端程序需要 VPN 来连接到专用网络连接。如今,团队可以通过 Cloudflare 的网络私密地路由任何 TCP 或 UDP 流量,并一次性对流量进行加速、验证和过滤,获得最佳性能和安全性。。
<!-- more -->
说人话就是你可以限制用户需要进行登录后才能访问你的业务
# 添加应用(以 web 应用举例)
你需要首先绑定并且解析此域名,例如 `xxx.example.com`
## [官方文档](https://developers.cloudflare.com/cloudflare-one/applications/configure-apps/self-hosted-apps/)
## 提示
应用类型选择 `Self-hosted`
### 设置 App
`session duration` 建议选择 24 小时,避免过多重定向
#### Subdomain
填入 `xxx`
#### Domain
选择 `example.com`
### 添加策略
名称可随便填写,`Action` 不变选择 `Allow`
#### Include
左边选择 `Emails`,右边填入 Cloudflare 账户邮箱用于登录。
#### Require
左边选择 `Login Methods`,右边选择 `One-time PIN`
# 体验
此时,打开 `xxx.example.com` 将会要求你进行邮件认证,输入 Cloudflare 账户邮箱登录即可。
# 使用程序进行访问
## [官方文档](https://developers.cloudflare.com/cloudflare-one/identity/service-tokens/)
## 提示
### 创建 Service Token
### 关联 Token 到应用
进入应用访问策略配置页面,添加新策略
策略名随意,`Action` 选择 `Service Auth`
#### Include
左边选择 `Service Token`,右边选择刚才建立的 Token。
### 设置请求头
`Client ID``Client Secret` 创建时已提供。
```
CF-Access-Client-Id: <Client ID>
CF-Access-Client-Secret: <Client Secret>
```
```python
from httpx import get
headers = {
"CF-Access-Client-Id": "",
"CF-Access-Client-Secret": "",
}
get("xxx.example.com", headers=headers)
```