土豆不好吃

Cloudflare Zero Trust App Launcher、Access Group及添加新的登录验证方式

文章目录[显示]

什么是App Launcher

所谓App launcher,就是当用户登录之后,会显示一些应用,可以直接点击跳转过去。再也不用单独收藏每一个链接啦,只要收藏这个 App Launcher即可。长这样

添加新登录验证方式

通常来讲,我们是通过邮件的方式来进行验证的。非常简单,但是有时邮件可能会发送失败,比如说被Gmail拦截。那么有没有办法添加新的验证方式呢?答案当然是有的啦。Cloudflare继承了非常多的登录方式,如下图所示,甚至有一个通用的SAML:

下面就以配置GitHub登录来说,Google等同理基本没太大差别。

创建GitHub App

打开GitHub,进入Settings – Developer Settings – OAuth Apps,新建一个app

创建之后,复制 Client ID,然后点击Generate a new client secret 复制secret的值

创建GitHub Organization

创建一个GitHub Organization,后续做验证的时候要用这个。

配置Zero Trust

回到Cloudflare Zero Trust,选择Settings – Authentication – Login Methods,右侧有一个Add new,然后选择GitHub

填入刚刚复制的ID和secret,点击保存

 

下面会弹出一个小的框框

点击finish setup或者复制链接到新窗口打开,在org中给我们新创建的org授权,点击Grant,然后authorize

此时回到Login Methods 就可以看到已经添加成功啦,点击 Test按钮可以看下Cloudflare从GitHub的API拿到的数据

配置验证

此时如果你打开 team url,比如 https://bennythink.cloudflareaccess.com/ 在Login就已经能看到GitHub了。

当然这还没完,不能所有人都能通过GitHub OAuth进入App Launcher呀!因此我们还需要进一步配置

点开Zero Trust – Settings – App Launcher – Manage

首先确认一下Authentication页面已经选中了GitHub,默认应该是所有认证方式都可以,当然你也可以自定义

然后在Rules中,新建或者编辑已有规则,我们会发现有三种可以选择的模式: include、require和exclude


添加require规则的时候要注意,是要满足所有条件才可以授权。比如我的require规则添加了两条,分别是County=China & Country=US,那么没人可以通过,因为IP只能在一个国家而不是两个国家。

这里我们的需求是,用户要么通过 dmesg.app 的邮箱验证,要么在新创建的那个Organization里,所以新添加一个include,Selector选择GitHub Organization,organization name写创建的name

如果我们的需求是,用户在org里,并且邮箱为 xxx@xxx.com,那么就要一个include 邮箱规则,一个require GitHub organization规则。

返回 team url就可以登录了。

注意:配置 App Launcher的权限,并不等于拥有应用的权限,应用的权限是独立的

举个例子,我之前创建的redis,只能邮箱进行验证,并且放到了launcher之中,那么在App Launcher这里我通过GitHub OAuth后,并看不到那个redis。想要看到对应的应用,那只能去编辑对应应用的规则。

Access Group

把一样的规则配置多次就显得很蠢,这个时候就要用Access Group。

Access – Access Group,设置名称和配置和前面一样

在其他地方,添加策略的时候选择这个Group就可以了。甚至在WARP的Device enrollment permissions中也可以这样搞!

参考文档

https://developers.cloudflare.com/cloudflare-one/policies/access/

 


文章版权归原作者所有丨本站默认采用CC-BY-NC-SA 4.0协议进行授权|
转载必须包含本声明,并以超链接形式注明原作者和本文原始地址:
https://dmesg.app/zero-trust-login-method.html
退出移动版