关于 GitHub Codespaces
的机密
你可以将开发环境机密添加到要在 codespace 中使用的个人帐户。 例如,可能希望将以下敏感信息作为机密进行存储和访问:
- 云服务的访问令牌
- 服务主体
- 订阅标识符
- 专用映像注册表的凭据(有关详细信息,请参阅 允许 codespace 访问专用注册表)
您可以选择哪些仓库应有权访问每个密码。 然后,您可以在为有权访问密码的仓库创建的任何代码空间中使用该密码。 若要与通过模板创建的 codespace 共享机密,需要将 codespace 发布到 GitHub 上的存储库,然后授予该存储库对该机密的访问权限。
一旦创建了密码,便可以在创建新的代码空间或重新启动代码空间时使用它。 如果已在 GitHub 上创建了机密,并且想要在当前正在运行的 codespace 中使用它,请停止 codespace,然后重启它。 有关停止 codespace 的信息,请参阅“在 GitHub Codespaces 中使用 Visual Studio Code 命令面板”。
命名密钥
以下规则适用于密码名称:
- 密钥名称只能包含字母数字字符(
[a-z]
、[A-Z]
、[0-9]
)或下划线 (_
)。 不允许空格。 - 机密名称不得以
GITHUB_
前缀开头。 - 密码名称不能以数字开头。
- 机密名称不区分大小写。
- 密码名称在所创建的级别上必须是唯一的。 例如,在仓库级别创建的密钥必须在该仓库中具有唯一的名称。
如果具有相同名称的机密存在于多个级别,则级别最低的机密优先。 例如,如果组织级别密码的名称与仓库级别的密码相同,则仓库级别的密码优先。
密码的限制
最多可以为 GitHub Codespaces 存储 100 个密码。
密码大小限于 48 KB。
添加密码
-
在 GitHub 任意页面的右上角,单击个人资料照片,然后单击 “设置”****。
-
在边栏的“代码、规划和自动化”部分中,单击“ Codespaces”。
-
在“Codespaces 机密”右侧,单击“新建机密”。
-
在“名称”下,输入机密的名称。
-
在“Value(值)”下,输入密码的名称。
-
选择“Repository access(仓库访问)”下拉菜单,然后单击要访问该机密的仓库。 对每个您想要访问该机密的仓库重复操作。
-
单击“添加机密”。
编辑密码
您可以更新现有密码的值,也可以更改哪些仓库可以访问密码。
-
在 GitHub 任意页面的右上角,单击个人资料照片,然后单击 “设置”****。
-
在边栏的“代码、规划和自动化”部分中,单击“ Codespaces”。
-
在“Codespaces 机密”下,要编辑的机密右侧,单击“更新”。****
-
在“值”下,单击“输入新值”链接。****
-
在“Value(值)”下,输入密码的名称。
-
选择“Repository access(仓库访问)”下拉菜单,然后单击要访问该机密的仓库。 对每个您想要访问该机密的仓库重复操作。
-
(可选)要删除密码对仓库的访问权限,请取消选择仓库。
-
单击“保存更改”。
删除密码
- 在 GitHub 任意页面的右上角,单击个人资料照片,然后单击 “设置”****。
- 在边栏的“代码、规划和自动化”部分中,单击“ Codespaces”。
- 在“Codespaces 机密”下,要删除的机密右侧,单击“删除”。****
- 阅读警告,然后单击“确定”。
使用机密
开发环境机密作为环境变量导出到用户的终端会话中。
生成 codespace 并运行后,可以使用开发环境机密。 例如,机密可用于:
- 从集成终端或 ssh 会话启动应用程序时。
- 在 Codespace 开始运行后运行的开发容器生命周期脚本中。 有关开发容器生命周期脚本的详细信息,请参阅开发容器网站上的相关文档:规范。
在以下情况下,不能使用开发环境机密:
- codespace 生成时(即,在 Dockerfile 或自定义入口点内)。
- 在开发容器功能内。 有关详细信息,请参阅开发容器网站上的开发容器规范中的
features
属性。