本文介绍如何将根证书添加到 Azure Kubernetes 服务 (AKS) 的 Azure Linux 容器主机中,使容器主机能够信任除基础映像中包含的由 Microsoft 拥有的最少一组证书颁发机构 (CA) 之外的其他证书颁发机构。
有关适用于 AKS 的 Azure Linux 容器主机映像认证的详细信息,请参阅 GitHub 文档。
默认证书和信任
默认情况下,适用于 AKS 的 Azure Linux 容器主机映像包含一组最基本的根证书,用于信任某些 Microsoft 资源,例如 packages.microsoft.com。 并不是所有 Microsoft 证书都会自动包含在映像中,这与最低特权原则一致,这样做提供了灵活性,让用户能够只选择需要的根证书,还可以自定义映像。
ca-certificates-base 映像已预安装在容器主机映像中,其中包含一小部分 Microsoft 拥有的 CA 的证书。 它由来自 Microsoft 根 CA 和中间 CA 的证书组成。 使用此包,容器主机可信任一组最少的服务器,所有这些服务器都经过了验证,并拥有由 Microsoft 颁发的证书。
ca-certificates 包含 Microsoft 通过 Microsoft 受信任根计划信任的根 CA。
目录 /etc/pki/ca-trust/source/ 包含 PEM 文件格式的 CA 证书和信任设置。 此处的信任设置会以较高优先级处理(高于在 /usr/share/pki/ca-trust-source/ 中找到的信任设置)。
添加 PEM 或 DER 文件格式的证书
可以将单个证书或多个证书添加到适用于 AKS 的 Azure Linux 容器主机映像中。 若要将简单的 PEM 或 DER 文件格式的证书添加到系统上受信任的 CA 列表中,请执行以下步骤:
- 将证书保存到
etc/pki/ca-trust/source/anchors/。 - 运行
update-ca-trust,以合并 CA 证书和关联的信任。
添加采用扩展的 BEGIN TRUSTED 文件格式的证书
如果证书采用扩展的 BEGIN TRUSTED 文件格式(可能包含不信任信任标志或 TLS 以外的用法的信任标志),请执行以下步骤:
- 将证书保存到
etc/pki/ca-trust/source/。 - 运行
update-ca-trust,以合并 CA 证书和关联的信任。