# 机密参考

在 GitHub Actions 中查找有关机密的技术信息。

## 命名您的密钥

> \[!TIP]
> 为帮助确保 GitHub 在日志中正确编写密码，请勿将结构化数据用作密码的值。

以下规则适用于密钥名称：

* 只能包含字母数字字符（`[a-z]`、`[A-Z]`、`[0-9]`）或下划线 (`_`)。 不允许空格。
* 不得以 `GITHUB_` 前缀开头。
* 不能以数字开头。
* 引用时不区分大小写。 无论输入格式如何，GitHub 始终以大写形式存储机密名称。
* 在创建的仓库、组织或企业中必须是唯一的。

如果具有相同名称的机密存在于多个级别，则级别最低的机密优先。 例如，如果组织级别密码的名称与仓库级别的密码相同，则仓库级别的密码优先。 同样，如果组织、存储库和环境都具有同名的机密，则环境级机密优先。

## 秘密的限制

最多可以存储 1,000 个组织机密、100 个存储库机密和 100 个环境机密。

在仓库中创建的工作流程可以访问以下数量的密钥：

* 所有100个仓库密钥。
* 如果分配仓库访问超过 100 个组织密钥，则工作流程只能使用前 100 个组织密钥（按密钥名称字母顺序排序）。
* 所有 100 个环境机密。

密码大小限于 48 KB。 若要存储更大的机密，请参阅“[在 GitHub Actions 中使用机密](/zh/actions/how-tos/security-for-github-actions/security-guides/using-secrets-in-github-actions#storing-large-secrets)”。

## 当 GitHub Actions 读取机密时

当工作流程运行排队时读取组织和仓库机密，在引用环境的作业开始时读取环境机密。

## 自动屏蔽的机密

GitHub 会自动从工作流日志中修订以下敏感信息。

> \[!NOTE] 如果希望自动修订其他类型的敏感信息，请在我们的[社区讨论](https://github.com/orgs/community/discussions?discussions_q=is%3Aopen+label%3AActions)中联系我们。

* 32 字节和 64 字节 Azure 密钥
* Azure AD 客户端应用密码
* Azure 缓存密钥
* Azure 容器注册表密钥
* Azure 函数主机密钥
* Azure 搜索密钥
* 数据库连接字符串
* HTTP 持有者令牌标头
* JWT
* NPM 作者令牌
* NuGet API 密钥
* v1 GitHub 安装令牌
* v2 GitHub 安装令牌（`ghp`、`gho`、`ghu`、`ghs`、`ghr`）
* v2 GitHub PAT

## 安全性

有关使用机密的安全最佳做法，请参阅 [安全使用指南](/zh/actions/reference/secure-use-reference#use-secrets-for-sensitive-information)。