Affichage de l’erreur « x509 : certificat signé par une autorité inconnue » lors de l’analyse de l’image du Registre dans Prisma Cloud
13615
Created On 04/25/22 09:28 AM - Last Modified 03/02/23 03:59 AM
Symptom
- Erreur suivante lors de l’analyse d’une image du Registre :
Failed to pull image xxxxxxxreg/xxxxxxx:v1.0.0, error Error initializing source docker://registry.xxxxx/xxxxx/xxxxxxx:v1.0.0: error pinging docker registry registry.xxxxx: Get "https://urldefense.com/v3/__https://registry.xxxxx/v2/__;!!Gt_FR42WkD9csi9Y!NYhH91g2nYoQOfa3jNTZVtUdvAwu-vt30mQ2XXiY-cvy0sjkmol_xx8S-U0uKSRnm_zIxg$ ": x509: certificate signed by unknown authority
Environment
- Prisma Cloud Compute Enterprise Edition
- Prisma Cloud Calcul auto-hébergé
- Runtime conteneurisé
- CRI-O
Cause
- Le chemin d’accès du certificat n’a pas été découvert par Prisma Cloud Compute.
- Lorsque vous utilisez Containerd Runtime, le chemin d’accès par défaut pour le certificat de Registre est /etc/containerd.
- Prisma Cloud Compute n’a pas encore été en mesure de découvrir le certificat de registre sous /etc/containerd.
- Jusqu’à ce que 22.01.xxx Prisma Cloud Compute ne prenne en charge que /etc/containers/certs.d/$REGISTRY_NAME/ ou /etc/docker/certs.d/$REGISTRY_NAME/
Resolution
- Créez un répertoire sur le nœud Defender comme indiqué ci-dessous :
/etc/containers/certs.d/$REGISTRY_NAME/ or /etc/docker/certs.d/$REGISTRY_NAME/
- Remarque: à partir de Kepler (22.06+), un dossier supplémentaire est pris en charge:
/etc/containerd/certs.d/$REGISTRY_NAME/
- Placez le certificat dans le dossier $REGISTRY_NAME .
- Le nom du certificat n'a pas d'importance, tant que le certificat est présent dans le dossier du Registre.
- Pour Container Defender, modifiez le fichier yaml du démon du conteneur pour monter le dossier. Voici l'exemple :
- Commande:
kubectl edit ds -n twistlock twistlock-defender-ds
- Sous « volumeMounts: », ajoutez :
- name: registry-scan mountPath: /etc/docker/certs.d - name: registry-scan2 mountPath: /etc/containers/certs.d - name: registry-scan3 mountPath: /etc/containerd/certs.d
- Sous « volumes: », ajouter:
- name: registry-scan hostPath: path: /etc/docker/certs.d type: '' - name: registry-scan2 hostPath: path: /etc/containers/certs.d type: '' - name: registry-scan3 hostPath: path: /etc/containerd/certs.d type: ''
- Commande:
NOTE : À partir de maintenant, les étapes ci-dessus sont la seule solution applicable disponible pour ce problème.
Additional Information
Configuration de l’analyse du Registre