Skip to main content

管理代码空间的加密密码

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

关于 GitHub Codespaces 的加密机密

你可以将要在 codespace 中使用的加密密码添加到你的个人帐户。 例如,您可能想要存储和访问以下敏感信息作为加密密码。

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

Once you have created a secret, it will be available when you create a new codespace or restart the codespace. To use a secret that you've just created in a current codespace, you will need to stop the codespace and resume it. For information about stopping the codespace, see "Using the Visual Studio Code Command Palette in GitHub Codespaces."

命名密钥

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

  • 密钥名称只能包含字母数字字符([a-z][A-Z][0-9])或下划线 (_)。 不允许空格。

  • 机密名称不得以 GITHUB_ 前缀开头。

  • 密码名称不能以数字开头。

  • 机密名称不区分大小写。

  • 密码名称在所创建的级别上必须是唯一的。 例如,在仓库级别创建的密钥必须在该仓库中具有唯一的名称。

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

密码的限制

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

密码大小限于 64 KB。

添加密码

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

    用户栏中的 Settings 图标 1. 在边栏的“代码、规划和自动化”部分中,单击“ Codespaces”。

  2. 在“Codespaces 机密”右侧,单击“新建机密”。 “新建机密”按钮

  3. 在“Name(名称)”下,输入密码的名称。 “名称”文本框 1. 在“Value(值)”下,输入密码的名称。 “值”文本框 1. 选择“Repository access(仓库访问)”下拉菜单,然后单击要访问该机密的仓库。 对每个您想要访问该机密的仓库重复操作。 “存储库访问”下拉菜单

  4. 单击“添加机密”。

编辑密码

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

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

    用户栏中的 Settings 图标 1. 在边栏的“代码、规划和自动化”部分中,单击“ Codespaces”。

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

  3. 在“值”下,单击“输入新值”。 “输入新值”链接 1. 在“Value(值)”下,输入密码的名称。 “值”文本框 1. 选择“Repository access(仓库访问)”下拉菜单,然后单击要访问该机密的仓库。 对每个您想要访问该机密的仓库重复操作。 “存储库访问”下拉菜单

  4. (可选)要删除密码对仓库的访问权限,请取消选择仓库。 用于删除对存储库的访问权限的复选框

  5. 单击“保存更改”。

删除密码

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

    用户栏中的 Settings 图标 1. 在边栏的“代码、规划和自动化”部分中,单击“ Codespaces”。

  2. 在“Codespaces 机密”下,在要删除的机密的右侧,单击“删除”。 “删除”按钮

  3. 阅读警告,然后单击“确定”。 确认删除机密

使用机密

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

在终端显示导出机密的值

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

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

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

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

延伸阅读