存储库的配置状态指示其与已应用 security configuration的关系的当前状态。 这种关系可能会随时间而变化,例如,当存储库管理员重写设置、管理员启用强制或附件失败时。 有关配置和存储库交互方式的详细信息,请参阅 关于批量启用安全功能。
可以在组织的设置页上的 security configurations 存储库表中查看配置状态,或使用 REST API 检索它们。 有关详细信息,请参阅 使用存储库表筛选组织中的存储库 和 配置。
配置状态参考
下表描述了所有配置状态、导致每个状态的原因、每个状态在组织设置存储库表中的显示方式以及建议的操作。
在存储库表中,“配置状态”筛选器支持“附加”、“已删除”、“失败”、“强制”和“企业删除”。 状态为 detached “无配置”的存储库显示为“无配置”,不能按 UI 中的配置状态进行筛选。 但是,在列出组织级配置的存储库时,REST API status 的参数会接受 detached 。
| 状态 | 说明 | 原因 | 用户界面显示 | 建议的操作 |
|---|---|---|---|---|
attached | 当前正在应用该配置。 存储库从配置继承所有设置。 | 组织或企业管理员将配置应用到存储库。 | 配置名称(例如,“我的配置”) | 无需采取任何行动。 |
attaching | 正在应用配置。 这是一个暂时性状态。 | 组织或企业管理员刚刚应用了配置。 | ||
| 正在应用 CONFIGURATION-NAME | 等待操作完成。 如果状态没有变化,请检查是否存在附加失败。 | |||
updating | 正在存储库上更新配置。 | 组织或企业管理员更改了配置中的设置。 | ||
| 更新 CONFIGURATION-NAME | 等待更新完成。 | |||
enforced | 该配置正在被主动应用并强制执行。 存储库管理员无法更改配置控制的功能的启用状态。 | 组织或企业管理员在配置上启用了强制实施。 | ||
| 已强制执行 CONFIGURATION-NAME | 无需采取任何行动。 有关详细信息,请参阅“安全配置的强制执行”。 | |||
removed | 存储库级设置已更改,该设置与配置冲突。 配置仍与存储库关联,但存储库不再继承所有设置。 | 存储库管理员更改了未强制配置的安全设置。 | ||
| 已删除 CONFIGURATION-NAME | 若要还原预期设置,请重新应用存储库的“Advanced Security”页中的配置。 若要防止将来的替代,请考虑启用强制。 | |||
removed_by_enterprise | 企业级配置更改导致与存储库设置发生冲突。 | 企业管理员更改了与应用于存储库的组织级别配置冲突的设置。 | ||
| 已删除 CONFIGURATION-NAME | 与企业管理员协调以解决冲突。 在组织或企业级别重新应用配置。 | |||
failed | 无法将配置附加到存储库。 | 现有存储库设置与配置之间的冲突导致无法附加。 | ||
| 失败原因 | 在存储库表中按 config-status:failed 进行筛选,然后按照相应存储库的修复指南进行操作。 有关详细信息,请参阅“诊断安全配置问题”。 | |||
detached | 未应用任何配置。 存储库的安全设置是单独管理的。 | 组织管理员解除了该配置的关联,或者该存储库从未关联到任何配置。 | 无需配置 | 如果希望存储库继承集中管理的设置,请应用配置。 有关详细信息,请参阅“删除自定义安全配置”。 |
理解 removed 与 detached
这些状态反映不同的情况:
removed:存储库管理员更改了与未强制配置冲突的安全设置。 配置仍与存储库相关联,但存储库不再计入组织的该配置的覆盖范围指标。 重新应用配置可还原关系。detached:配置与存储库完全断开连接。 存储库的现有安全设置保持不变,但没有配置对其进行管理。 若要还原集中管理的设置,请应用新的配置。
若要防止存储库达到 removed 状态,请对配置启用强制。 有关详细信息,请参阅“安全配置的强制执行”。
使用审核日志跟踪配置状态更改
每当配置状态发生更改时,组织的审核日志记录 repository_security_configuration 事件。 可以使用筛选器搜索这些事件 action:repository_security_configuration 。 有关详细信息,请参阅 组织的审核日志事件 和 搜索企业的审核日志。