授权列表在哪里
GitLab 把你授权过的应用保存在一个账号级列表中。打开个人资料设置,依次进入“编辑个人资料”、“访问”、“应用”。这个页面就是你的 OAuth 授权清单:它显示能够代表你执行操作的第三方应用,以及每个应用持有的权限范围(scopes)。
GitLab 在“编辑个人资料 > 访问 > 应用”下列出已授权的应用。来源
这与项目访问令牌(project access tokens)或部署密钥(deploy keys)不是一回事。后者是绑定到仓库或项目的凭据;已授权应用则绑定到你的用户账号,并可能跨越整个账号范围。请分别审计,以免 OAuth 列表干净就让你误以为项目凭据也没问题。
权限范围说明了什么
权限范围(scopes)描述一个应用能触及多远。它们并不都等价,你也不应假设每个应用都是只读的。一个只读取你个人资料的应用,与一个持有广泛 API 访问权限、能够写入或跨账号操作的应用,风险完全不同。
已授权应用可以被撤销;其权限范围可能从读取个人资料到广泛的 API 访问不等。来源
实际要点:做决定前先读权限范围那一行。如果你说不清某个应用为什么需要它持有的访问权限,那就是应该首先质疑的应用。
每个已授权应用的决策表
| 你看到的情况 | 含义 | 建议操作 |
|---|---|---|
| 你认识的应用,权限范围与其用途相符,仍在使用 | 预期内的授权 | 保留;记下权限范围以便日后复查 |
| 你认识但已不再使用的应用 | 过时的授权 | 撤销 |
| 你完全不认识的应用 | 未知授权 | 撤销前先调查;确认是否是同事或集成添加的 |
| 持有你无法解释的广泛 API 权限范围的应用 | 权限过宽 | 撤销或缩减;不要假设它是只读的 |
| 你怀疑已被入侵的应用 | 活跃风险 | 立即撤销,然后审查账号活动 |
自查清单
- 打开“编辑个人资料 > 访问 > 应用”,列出每个已授权应用。
- 对每个应用写一行:它是什么、为什么有访问权限、它的权限范围。
- 撤销任何你无法解释的应用。
- 撤销你不再使用的过时应用。
- 几周后重新检查列表;新的授权可能在你没注意到的提示下出现。
- 把这项审计与项目访问令牌的审查分开进行。
诚实的局限
撤销一个应用会终止它通过该授权进行的未来访问。它不会进入应用自己的系统去删除已经复制、导出或缓存的数据。如果某个应用存储了你的个人资料信息,撤销并不是删除请求。请把撤销视为关上一扇门,而不是打扫房间。
撤销也不会让你的 GitLab 个人资料变为私密。个人资料可见性和应用授权是分开的设置;改变其中一个不会改变另一个。
撤销之后
你的公开数字足迹比一个平台的 OAuth 列表更广。了解哪些用户名(handles)是公开可见的,有助于你决定下一步去哪里查找。TraceSeek 可在 3,000+ 个平台上检查一个用户名,并在 20–30 秒内返回公开匹配结果,首次扫描免费且无需注册。这些匹配结果是线索,不是身份证明,并且该应用不会更改平台设置,也看不到私密信息。如需更广泛的排查,请参阅查找被遗忘的在线账号;关于结果如何呈现,请阅读我们的方法论。
关键事实
- GitLab 在“编辑个人资料 > 访问 > 应用”下列出已授权的应用。
- 已授权应用可以被撤销,其权限范围可能从读取个人资料到广泛的 API 访问不等。
- 撤销已授权应用不会删除该应用已经复制走的数据。
- 已授权应用是账号级授权,与项目访问令牌分开。
- TraceSeek 可在 3,000+ 个平台上检查一个用户名,并在 20–30 秒内返回公开匹配结果。