在 GitHub 上创建 Personal Access Token(PAT) 时,权限设置非常重要。正确的权限设置可以确保 Token 能够访问所需的资源,同时避免授予过多权限带来的安全风险。以下是详细的权限设置说明:
1. 进入 Token 创建页面
-
登录 GitHub 账户。
-
点击右上角的头像,选择 Settings(设置)。
-
在左侧菜单中,找到并点击 Developer settings(开发者设置)。
-
点击 Personal access tokens(个人访问令牌)。
-
点击 Generate new token(生成新令牌)。
2. 设置 Token 权限
在创建 Token 时,GitHub 会要求你选择权限范围。以下是常见的权限选项及其用途:
仓库相关权限
-
repo:
-
完全控制私有和公共仓库(包括代码、问题、拉取请求等)。
-
适用于需要访问仓库内容的场景。
-
-
repo:status :
-
仅访问仓库的提交状态。
-
-
repo_deployment:
-
访问部署状态。
-
-
public_repo:
-
仅访问公共仓库(不适用于私有仓库)。
-
工作流相关权限
-
workflow:
-
控制 GitHub Actions 工作流。
-
适用于需要操作 CI/CD 管道的场景。
-
用户相关权限
-
user:
-
访问用户信息(如邮箱、个人资料等)。
-
-
user:email :
-
仅访问用户的邮箱地址。
-
-
user:follow :
-
关注或取消关注其他用户。
-
其他权限
-
admin:org :
-
完全控制组织及其设置。
-
-
admin:public_key :
-
管理 SSH 密钥。
-
-
gist:
-
创建和管理 Gist。
-
-
notifications:
-
访问通知。
-
-
project:
-
管理项目板。
-
-
delete_repo:
-
删除仓库。
-
3. 选择权限
-
根据你的需求勾选相应的权限。
-
例如:
-
如果只需要访问私有仓库的代码,勾选
repo
。 -
如果需要操作 GitHub Actions,勾选
workflow
。
-
-
最小权限原则:只授予 Token 所需的最小权限,以降低安全风险。
4. 设置 Token 过期时间
-
选择 Token 的过期时间:
-
可以选择 No expiration(永不过期),但出于安全考虑,建议设置一个较短的过期时间(如 30 天或 90 天)。
-
5. 生成 Token
-
填写 Token 的名称(用于标识用途,如 "My CLI Token")。
-
点击 Generate token(生成令牌)。
-
立即复制并保存 Token,因为关闭页面后将无法再次查看 Token。
6. 使用 Token
-
在使用 Git 命令行或 API 时,可以用 Token 代替密码。
-
例如:
-
克隆私有仓库:
bash
复制
git clone https://github.com/username/repo.git
在提示输入用户名时,输入你的 GitHub 用户名;在提示输入密码时,粘贴 Token。
-
使用 API 时,在请求头中添加 Token:
bash
复制
curl -H "Authorization: token ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" https://api.github.com/user
-
7. 管理 Token
-
在 Personal access tokens 页面,可以查看、编辑或删除已生成的 Token。
-
如果 Token 泄露或不再需要,建议立即删除。
注意事项
-
Token 的安全性:
-
Token 相当于密码,不要分享给他人。
-
不要在公共代码或配置文件中硬编码 Token。
-
-
权限最小化:
-
只授予 Token 所需的最小权限,以降低安全风险。
-
-
定期更新:
-
定期检查并更新 Token,删除不再使用的 Token。
-
总结
-
在 GitHub 的 Settings → Developer settings → Personal access tokens 中创建 Token。
-
根据需求选择权限,并遵循最小权限原则。
-
生成 Token 后立即保存,并在使用 Git 或 API 时替代密码。
PS: