登录
  • 人们都希望被别人需要 却往往事与愿违
  • 一个人如果30岁以前没有相信过共产主义, 他缺乏良心; 如果到30岁以后还相信共产主义, 他没有头脑@克列蒙梭 (法国政治家)

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

Cloudflare Benny小土豆 7512次浏览 1943字 2个评论
文章目录[显示]
这篇文章在 2023年04月23日11:35:01 更新了哦~

什么是App Launcher

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

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

添加新登录验证方式

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

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

下面就以配置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

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

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

 

下面会弹出一个小的框框

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

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

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

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

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

配置验证

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

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

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

点开Zero Trust – Settings – App Launcher – Manage

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

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

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

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

  • include:类似逻辑OR操作符,用户只要满足条件之一就可以
  • require:类似逻辑AND操作符,用户要满足所有的条件
  • exclude:类似逻辑NOT,排除条件

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

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

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

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

返回 team url就可以登录了。

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

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

Access Group

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

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

Cloudflare Zero Trust App Launcher、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
喜欢 (1)
分享:-)
关于作者:
If you have any further questions, feel free to contact me in English or Chinese.
发表我的评论(代码和日志请使用Pastebin或Gist)
取消评论

                     

去你妹的实名制!

  • 昵称 (必填)
  • 邮箱 (必填,不要邮件提醒可以随便写)
  • 网址 (选填)
(2)个小伙伴在吐槽
  1. 开头「所以App launcher」是「所谓App launcher」?
    cw2023-04-22 09:25 回复
    • 暴露了我用拼音输入法😆
      --本评论由Telegram Bot回复~❤️
      Benny小土豆2023-04-22 09:28 回复