Accéder à Container Registry en utilisant des profils de confiance
Vous pouvez utiliser des profils de confiance pour accorder à différentes identités IBM Cloud® l'accès aux ressources IBM Cloud Container Registry de votre compte. Accordez automatiquement aux utilisateurs fédérés l'accès à votre compte avec des conditions basées sur les attributs SAML de votre annuaire d'entreprise.
Un utilisateur n'est pas tenu d'être membre du compte pour assumer un profil de confiance. Un utilisateur peut utiliser le profil si le fournisseur d'identité de l'utilisateur ( IdP ) correspond à une IdP utilisée dans les conditions de confiance.
Lorsque vous créez initialement un profil de confiance, vous pouvez établir des conditions de confiance avec les types d'entités suivants : utilisateurs fédérés et identifiants de service. Après avoir créé le profil de confiance, vous pouvez ajouter d'autres conditions pour combiner plusieurs types d'entités dans le même profil.
Pour plus d'informations sur les profils de confiance, voir Profils de confiance pour les utilisateurs et charges de travail fédérés.
Accéder aux espaces de noms dans l'automatisation en utilisant un profil de confiance
Vous pouvez utiliser les clés API d'identification de service pour automatiser le chargement et le téléchargement d'images de conteneurs vers et depuis les espaces de noms auxquels le profil de confiance a accès.
Les clés d'API d'ID de service peuvent être utilisées dans les emplacement suivants :
- Clusters IBM Cloud Kubernetes Service ou Red Hat OpenShift on IBM Cloud.
- Kubernetes et les clusters Red Hat® OpenShift® qui ne sont pas sur IBM Cloud.
- Docker l'interface de ligne de commande (CLI) et d'autres clients.
Création d'un profil de confiance
Un profil de confiance doit être créé dans le même compte que les ressources de registre auxquelles vous souhaitez accéder. Un identifiant de service dans un compte distinct peut ensuite être ajouté à ce profil de confiance pour établir la confiance, voir Établir la confiance avec les identifiants de service à l'aide de l'interface de ligne de commande. Notez l'identifiant du profil de confiance car il est utilisé comme nom d'utilisateur pour la connexion.
Création d'une clé d'API d'ID de service manuellement
Créez une clé d'API d'ID de service que vous pouvez utiliser pour vous connecter au registre.
Pour créer une clé API d'identification de service, voir Gestion des clés API d'identification des services et ibmcloud iam service-api-key-create.
Utilisation du logiciel client pour l'authentification dans l'automatisation
Utilisez une clé clé d'interface de programmation (API) pour vous connecter au registre en utilisant des clients communs.
Les clients ont besoin d'une clé API, d'un nom d'utilisateur et d'un domaine. Remplacez API_KEY par votre clé API, PROFILE_ID par l'ID du profil de confiance et REGISTRY_DOMAIN par le domaine du registre
où vos espaces de noms sont configurés.
| Région | Région anciennement connue sous le nom de | REGISTRY_DOMAIN |
|---|---|---|
global |
Non applicable | icr.io |
au-syd |
ap-south |
au.icr.io |
br-sao |
Non applicable | br.icr.io |
ca-mon |
Non applicable | ca2.icr.io |
ca-tor |
Non applicable | ca.icr.io |
eu-de |
eu-central |
de.icr.io |
eu-es |
Non applicable | es.icr.io |
eu-gb |
uk-south |
uk.icr.io |
in-che |
Non applicable | in.icr.io |
in-mum |
Non applicable | in2.icr.io |
jp-osa |
Non applicable | jp2.icr.io |
jp-tok |
ap-north |
jp.icr.io |
us-south |
Non applicable | us.icr.io |
Pour plus d'informations sur l'utilisation de IBM Cloud Container Registry dans un pipeline Continuous Delivery, voir Utilisation d'un registre d'images privées.
Des exemples de procédure d'authentification automatique avec le registre sont fournis pour les clients suivants :
Si vous obtenez un message 400 Bad Request, la combinaison du nom d'utilisateur et du mot de passe n'est pas valide.
Utilisation de Buildah pour s'authentifier auprès du registre en utilisant des profils de confiance
Vous pouvez utiliser Buildah pour vous authentifier auprès du registre de sorte que vous puissiez insérer et extraire des images à partir du registre.
Utilisez la clé API, l'ID de profil et le domaine pour vous connecter au registre en exécutant la commande Buildah suivante, en remplaçant PROFILE_ID par l'ID de profil
de confiance, API_KEY par la clé API et REGISTRY_DOMAIN par le domaine :
buildah login -u PROFILE_ID -p API_KEY REGISTRY_DOMAIN
Utilisation de Docker pour s'authentifier auprès du registre en utilisant des profils de confiance
Vous pouvez utiliser Docker pour l'authentification avec le registre afin d'envoyer et d'extraire les images vers et depuis le registre.
Utilisez la clé API et le domaine pour vous connecter au registre en exécutant la commande Docker suivante, en remplaçant PROFILE_ID par l'ID du profil de confiance,
API_KEY par la clé API et REGISTRY_DOMAIN par le domaine :
docker login -u PROFILE_ID -p API_KEY REGISTRY_DOMAIN
Utilisation de Podman pour s'authentifier auprès du registre en utilisant des profils de confiance
Vous pouvez utiliser Podman pour vous authentifier auprès du registre afin que vous puissiez insérer et extraire des images à partir du registre.
Utilisez la clé API et le domaine pour vous connecter au registre en exécutant la commande Podman suivante, en remplaçant PROFILE_ID par l'ID du profil de confiance,
API_KEY par la clé API et REGISTRY_DOMAIN par le domaine :
podman login -u PROFILE_ID -p API_KEY REGISTRY_DOMAIN
Utilisation de Skopeo pour s'authentifier auprès du registre en utilisant des profils de confiance
Vous pouvez utiliser Skopeo pour vous authentifier auprès du registre de sorte que vous puissiez insérer et extraire des images à partir du registre.
Par exemple, vous pouvez utiliser la commande Skopeo suivante pour extraire une image de Docker Hub et la pousser à votre espace de nom. Remplacez REGISTRY_DOMAIN par le nom de votre domaine,
NAMESPACE par votre espace de noms, PROFILE_ID par l'identifiant du profil de confiance, API_KEY par votre clé API :
skopeo --insecure-policy --override-os linux copy docker://busybox:latest docker://REGISTRY_DOMAIN/NAMESPACE/busybox:latest --dest-creds PROFILE_ID:API_KEY