凭据清单可让你深入了解可以访问企业的凭据。 清单是只读的。 根据凭据类型,修正发生在企业、组织、应用程序或用户级别。
关于凭据概述
在“身份验证安全性”页上,“凭据”部分显示这些凭据类型的概述计数:
- Fine-grained personal access tokens
- Personal access tokens (classic)
- OAuth app 访问令牌
- GitHub App 用户访问令牌
- GitHub App 安装访问令牌
- 用户 SSH 密钥
计数包括有效凭据,即尚未过期、未被吊销或未被删除的凭据。 GitHub App 安装访问权限由能够签发令牌的应用安装来代表,而不是由每个短时有效的安装访问令牌来代表。
使用计数来了解每种凭据类型的相对规模。 当某类凭据的计数达到 10,000 时,概述会显示 10k+,而不是显示确切总数。
若要进行凭据级调查,请导出清单。 导出内容还包括可用于访问企业资源的联合身份验证凭据。
查看凭据概述
- 导航到您的企业。 例如,从 GitHub.com 上的 公司 页面。
- 在页面顶部,单击“ 设置”。
- 在“ Settings”下,单击“Authentication security”********。
- 在“凭据”下,查看“概述”部分。
导出凭据清单
CSV 导出包含完整的凭据清单。 导出清单之前,无法筛选清单。 下载文件后,可以按凭据类型、访问状态、所有者、组织或应用程序筛选其列。
- 导航到您的企业。 例如,从 GitHub.com 上的 公司 页面。
- 在页面顶部,单击“ 设置”。
- 在“ Settings”下,单击“Authentication security”********。
- 在“概述”旁边,单击“ 导出 CSV”。
- 等待导出完成。 CSV 会自动下载,并将 GitHub 下载链接发送到通知电子邮件地址。
解读 CSV 导出
CSV 包含凭据和授权组织的每个组合的一行。 如果为多个组织授权凭据,则会在多行中重复其凭据数据。 没有组织授权的凭据只会出现一次,且 organization_id 和 organization 字段均为空。
下表描述了导出中的字段。
| 领域 | Description |
|---|---|
credential_id | 源系统中凭据的标识符。 该标识符仅在与 credential_type 组合时才是唯一的,并且对于 SSH 密钥、GitHub App 安装和联合身份凭据,其值为空。 |
hashed_token | Base64 编码的 SHA-256 哈希,可与审核日志事件中的字段匹配 hashed_token 。 对于fine-grained personal access tokens,此字段为空。 导出内容绝不会包含令牌值。 |
fingerprint | SSH 密钥的 SHA-256 指纹。 对于其他凭据类型,此项为空。 |
item_type | |
credential 表示单个凭据。 | |
token_issuer_ 表示一个 GitHub App 安装,该安装可以颁发访问令牌,而非单个安装访问令牌。 | |
credential_type | 凭据类型,例如classic_pat、、fine_grained_pat、oauth_app_user_、ssh_key或github_app_installation``federated_。 |
display_name | 凭据的显示名称(当可用时)。 |
owner_id | 凭据所有者的标识符。 与 owner_type 一起使用,以解释该标识符。 |
owner | 凭据所有者的登录名或名称。 |
owner_type | 所有者类型: user、 oauth_application或 github_app。 |
application_id | 关联的应用程序的标识符(如果适用)。 |
application | 关联的应用程序的名称(如果适用)。 |
credential_state | 凭据状态,例如active,expired或revoked``deleted。 |
created_at | 创建凭据的日期和时间(可用时)。 |
last_used_at | 上次使用的凭据的日期和时间(如果可用)。 |
expires_at | 凭据过期的日期和时间(如果可用)。 |
expiry_status | 凭据 expires、never 是否过期,或者具有 unknown 到期时间。 |
enterprise_authorized | 该凭据是否已在企业层面获得直接授权。 |
authorization_ | 组织授权总数,如果 true 为 enterprise_authorized,则加一。 |
age_days | 生成清单时凭据的存在时长(整天数) |
past_expiration_ | 在进行评估时,凭据是否超出强制生命周期限制或建议有效期基准。 |
past_expiration_ | |
past_expiration_ 是否基于 enforced_limit 还是 proposed_baseline。 | |
scopes | 令牌的 OAuth 范围,用分号分隔。 |
permissions | |
fine-grained personal access token 或 GitHub App 安装的权限,格式为以分号分隔的 resource:action 对。 | |
repository_selection | 凭据是否可以访问其有权访问的存储库中的 subset、none 或 all。 |
organization_id | 授权该凭据的组织的标识符。 |
organization | 登录到授权该凭据的组织。 |
空单元格表示值不可用或不适用。 时间戳采用 UTC 格式的 ISO 8601 格式。
将凭据与审核日志活动相关联
使用导出将凭据与企业审核日志中的身份验证元数据进行比较。 对于令牌,请比较 credential_id 和 hashed_token,或者复制 hashed_token:"VALUE" 的值并搜索 token_id。 对于 SSH 密钥,请比较 fingerprint 的值。 您不需要原始令牌值。
有关详细信息,请参阅“标识由访问令牌执行的审核日志事件”。
后续步骤
确定需要操作的凭据后,可以撤销 SSO 授权,或者对于具有托管用户的企业,请删除用户密钥和令牌。 这些操作可能会中断整个企业中的用户和自动化。 在继续之前,请参阅 在企业中撤销授权或删除凭据。