跳至主要内容

管理你针对 GitHub Codespaces 的特定帐户机密

你可以存储敏感信息(如令牌),以便通过环境变量在 Codespaces 中访问这些信息。

关于 GitHub Codespaces 的机密

你可以将开发环境机密添加到你的个人帐户中,以便在 Codespaces 中使用。例如,你可能希望将以下敏感信息存储和访问为机密

你可以选择哪些存储库应该有权访问每个机密。然后,你可以在为有权访问该机密的存储库创建的任何 Codespace 中使用该机密。要与从模板创建的 Codespace 共享机密,你需要将 Codespace 发布到 GitHub 上的存储库,然后授予该存储库访问该机密的权限。

创建机密后,当你创建新的 Codespace 或重新启动 Codespace 时,该机密将可用。如果你已在 GitHub.com 上创建了机密,并且希望在当前运行的 Codespace 中使用它,请停止 Codespace,然后重新启动它。有关停止 Codespace 的信息,请参阅“在 GitHub Codespaces 中使用 Visual Studio Code 命令面板”。

命名机密

以下规则适用于机密名称

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

如果在多个级别上存在同名机密,则最低级别的机密优先。例如,如果组织级机密与存储库级机密同名,则存储库级机密优先。

机密限制

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

密钥大小限制为 48 KB。

添加密钥

  1. 在 GitHub 上任何页面的右上角,单击您的个人资料图片,然后单击设置

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

  3. 在“Codespaces 密钥”的右侧,单击新建密钥

  4. 在“名称”下,键入您的密钥的名称。

  5. 在“值”下,键入您的密钥的值。

  6. 选择“存储库访问权限”下拉菜单,然后单击您希望有权访问该密钥的存储库。对您希望有权访问该密钥的每个存储库重复此操作。

    Screenshot of the "Repository access" dropdown menu. Two repositories are listed in the dropdown menu.

  7. 单击添加密钥

编辑密钥

您可以更新现有密钥的值,并且可以更改哪些存储库可以访问密钥。

  1. 在 GitHub 上任何页面的右上角,单击您的个人资料图片,然后单击设置

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

  3. 在“Codespaces 密钥”下,在您要编辑的密钥的右侧,单击更新

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

    Screenshot of the "Codespaces / Update secret" page. The "enter a new value" link is highlighted with a dark orange outline.

  5. 在“值”下,键入您的密钥的值。

  6. 选择“存储库访问权限”下拉菜单,然后单击您希望有权访问该密钥的存储库。对您希望有权访问该密钥的每个存储库重复此操作。

    Screenshot of the "Repository access" dropdown menu. Two repositories are listed in the dropdown menu.

  7. 或者,要删除密钥对存储库的访问权限,请取消选择该存储库。

    Screenshot showing a list of two repositories. Each has a selected checkbox.

  8. 单击保存更改

删除密钥

  1. 在 GitHub 上任何页面的右上角,单击您的个人资料图片,然后单击设置
  2. 在侧边栏的“代码、规划和自动化”部分,单击 Codespaces
  3. 在“Codespaces 密钥”下,在您要删除的密钥的右侧,单击删除
  4. 阅读警告,然后单击确定

使用机密

开发环境机密以环境变量的形式导出到用户的终端会话中。

Screenshot of the Terminal in VS Code. The command "echo $EXAMPLE_API_KEY" has returned "aBCdeFG1234567."

在 Codespace 构建并运行后,可以使用开发环境机密。例如,机密可用于

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

开发环境机密无法用于

  • 在 Codespace 构建期间(即在 Dockerfile 或自定义入口点中)。
  • 在开发容器功能中。有关更多信息,请参阅 Development Containers 网站上 开发容器规范 中的 features 属性。

延伸阅读