Skip to main content

管理 GitHub Codespaces 的账户专属的机密

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

关于 GitHub Codespaces

的机密

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

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

数据可重复使用.代码空间.启动时的秘密 %}

命名密钥

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

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

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

机密的限制

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

密码大小限于 48 KB。

添加密钥

  1. 在 GitHub 任意页面的右上角,单击你的个人资料照片,然后单击“ Settings”。1. 在边栏的“Code, planning, and automation”部分中,单击 “Codespaces”

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

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

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

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

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

  6. 单击添加密钥

编辑密码

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

  1. 在 GitHub 任意页面的右上角,单击你的个人资料照片,然后单击“ Settings”。1. 在边栏的“Code, planning, and automation”部分中,单击 “Codespaces”

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

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

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

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

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

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

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

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

  7. 单击“保存更改”。

删除秘密

  1. 在 GitHub 任意页面的右上角,单击你的个人资料照片,然后单击“ Settings”。1. 在边栏的“Code, planning, and automation”部分中,单击 “Codespaces”
  2. 在“Codespaces 机密”下,要删除的机密右侧,单击“删除”。****
  3. 阅读警告,然后单击“确定”。

使用机密

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

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

生成 codespace 并运行后,可以使用开发环境机密。 例如,机密可用于:

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

在以下情况下,不能使用开发环境机密:

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

其他阅读材料

  •         [AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/managing-development-environment-secrets-for-your-repository-or-organization)
    
  •         [AUTOTITLE](/codespaces/developing-in-a-codespace/creating-a-codespace-for-a-repository#recommended-secrets)
    
  •         [AUTOTITLE](/codespaces/setting-your-user-preferences)
    
  •         [AUTOTITLE](/codespaces/customizing-your-codespace)