Skip to main content

管理 codespace 的机密

您可以在代码空间中存储要通过环境变量访问的敏感信息(如令牌)。

关于 GitHub Codespaces

的机密

你可以向要在 codespace 中使用的机密添加到你的个人帐户。 例如,可能希望将以下敏感信息作为机密进行存储和访问:

您可以选择哪些仓库应有权访问每个密码。 然后,您可以在为有权访问密码的仓库创建的任何代码空间中使用该密码。 若要与通过模板创建的 codespace 共享机密,需要将 codespace 发布到 GitHub 上的存储库,然后授予该存储库对该机密的访问权限。

一旦创建了密码,便可以在创建新的代码空间或重新启动代码空间时使用它。 如果已在 GitHub.com 上创建了机密,并且想要在当前正在运行的 codespace 中使用它,请停止 codespace,然后重启它。 有关停止 codespace 的信息,请参阅“在 GitHub Codespaces 中使用 Visual Studio Code 命令面板”。

命名密钥

以下规则适用于密码名称:

  • 密钥名称只能包含字母数字字符([a-z][A-Z][0-9])或下划线 (_)。 不允许空格。
  • 机密名称不得以 GITHUB_ 前缀开头。
  • 密码名称不能以数字开头。
  • 机密名称不区分大小写。
  • 密码名称在所创建的级别上必须是唯一的。 例如,在仓库级别创建的密钥必须在该仓库中具有唯一的名称。

如果具有相同名称的机密存在于多个级别,则级别最低的机密优先。 例如,如果组织级别密码的名称与仓库级别的密码相同,则仓库级别的密码优先。

密码的限制

最多可以为 GitHub Codespaces 存储 100 个密码。

密码大小限于 48 KB。

添加密码

  1. 在任何页面的右上角,单击个人资料照片,然后单击“设置”。

    Screenshot of a user's account menu on GitHub. The menu item "Settings" is outlined in dark orange.

  2. 在边栏的“代码、规划和自动化”部分中,单击“ Codespaces”。

  3. 在“Codespaces 机密”右侧,单击“新建机密”。

  4. 在“名称”下,输入机密的名称。

  5. 在“Value(值)”下,输入密码的名称。

  6. 选择“Repository access(仓库访问)”下拉菜单,然后单击要访问该机密的仓库。 对每个您想要访问该机密的仓库重复操作。

    “存储库访问”下拉菜单的屏幕截图。 下拉菜单中列出了两个存储库。

  7. 单击“添加机密”。

编辑密码

您可以更新现有密码的值,也可以更改哪些仓库可以访问密码。

  1. 在任何页面的右上角,单击个人资料照片,然后单击“设置”。

    Screenshot of a user's account menu on GitHub. The menu item "Settings" is outlined in dark orange.

  2. 在边栏的“代码、规划和自动化”部分中,单击“ Codespaces”。

  3. 在“Codespaces 机密”下,要编辑的机密右侧,单击“更新”。****

  4. 在“值”下,单击“输入新值”链接。****

    “Codespaces”/“更新机密”页面的屏幕截图。 “输入新值”链接以深橙色边框突出显示。

  5. 在“Value(值)”下,输入密码的名称。

  6. 选择“Repository access(仓库访问)”下拉菜单,然后单击要访问该机密的仓库。 对每个您想要访问该机密的仓库重复操作。

    “存储库访问”下拉菜单的屏幕截图。 下拉菜单中列出了两个存储库。

  7. (可选)要删除密码对仓库的访问权限,请取消选择仓库。

    显示包含两个存储库的列表的屏幕截图。 每个存储库都有一个选定的复选框。

  8. 单击“保存更改”。

删除密码

  1. 在任何页面的右上角,单击个人资料照片,然后单击“设置”。

    Screenshot of a user's account menu on GitHub. The menu item "Settings" is outlined in dark orange.

  2. 在边栏的“代码、规划和自动化”部分中,单击“ Codespaces”。

  3. 在“Codespaces 机密”下,要删除的机密右侧,单击“删除”。****

  4. 阅读警告,然后单击“确定”。

使用机密

机密作为环境变量导出到用户的终端会话中。

VS Code 中终端的屏幕截图。 命令“echo $EXAMPLE_API_KEY”已返回“aBCdeFG1234567”。

Codespace 生成并运行后,可以在 Codespace 中使用机密。 例如,机密可用于:

  • 从集成终端或 ssh 会话启动应用程序时。
  • 在 Codespace 开始运行后运行的开发容器生命周期脚本中。 有关开发容器生命周期脚本的详细信息,请参阅开发容器网站上的相关文档:规范

codespace 机密不可用于以下情况:

  • codespace 生成时(即,在 Dockerfile 或自定义入口点内)。
  • 在开发容器功能内。 有关详细信息,请参阅开发容器网站上的开发容器规范中的 features 属性。

延伸阅读