Zugriff auf Container Registry mit Hilfe von vertrauenswürdigen Profilen
Sie können vertrauenswürdige Profile verwenden, um verschiedenen IBM Cloud® Identitäten Zugriff auf IBM Cloud Container Registry Ressourcen in Ihrem Konto zu gewähren. Erteilen Sie föderierten Benutzern automatisch Zugriff auf Ihr Konto unter Bedingungen, die auf SAML-Attributen aus Ihrem Unternehmensverzeichnis basieren.
Ein Benutzer muss nicht Mitglied des Kontos sein, um ein vertrauenswürdiges Profil anzunehmen. Ein Benutzer kann das Profil verwenden, wenn der Identitätsanbieter des Benutzers ( IdP ) mit einer in den Vertrauensbedingungen verwendeten IdP übereinstimmt.
Wenn Sie ein vertrauenswürdiges Profil erstellen, können Sie mit den folgenden Entitätstypen Vertrauensbedingungen aufbauen: föderierte Benutzer und Dienst-IDs. Nachdem Sie das vertrauenswürdige Profil erstellt haben, können Sie weitere Bedingungen hinzufügen, um mehrere Entitätstypen im selben Profil zu kombinieren.
Weitere Informationen zu vertrauenswürdigen Profilen finden Sie unter Vertrauenswürdige Profile für Verbundbenutzer und Workloads.
Zugriff auf Namensräume in der Automatisierung mithilfe eines vertrauenswürdigen Profils
Sie können Service-ID-API-Schlüssel verwenden, um das Pushen und Pullen von Container-Images zu und von Namespaces zu automatisieren, auf die das vertrauenswürdige Profil Zugriff hat.
API-Schlüssel für Service-IDs können wie folgt eingesetzt werden:
- Für IBM Cloud Kubernetes Service- oder Red Hat OpenShift on IBM Cloud-Cluster.
- Für Kubernetes- und Red Hat® OpenShift®-Cluster außerhalb von IBM Cloud.
- Docker befehlszeilenschnittstelle (CLI) und andere Clients.
Ein vertrauenswürdiges Profil erstellen
Ein vertrauenswürdiges Profil muss in demselben Konto erstellt werden wie die Registrierungsressourcen, auf die Sie zugreifen möchten. Eine Service-ID in einem separaten Konto kann dann zu diesem vertrauenswürdigen Profil hinzugefügt werden, um Vertrauen herzustellen. Siehe "Vertrauensaufbau mit Service-IDs mithilfe der CLI ". Notieren Sie sich die vertrauenswürdige Profil-ID, da sie als Benutzername für die Anmeldung verwendet wird.
API-Schlüssel für Service-IDs manuell erstellen
Erstellen Sie einen API-Schlüssel für Service-IDs, um sich bei der Registry anzumelden.
Um einen Dienst-ID-API-Schlüssel zu erstellen, siehe Verwalten von Dienst-ID-API-Schlüsseln und ibmcloud iam service-api-key-create.
Client-Software für die Authentifizierung bei der Automatisierung verwenden
Verwenden Sie einen API-Schlüssel für die Anmeldung bei der Registry mithilfe allgemeiner Clients.
Clients benötigen einen API-Schlüssel, einen Benutzernamen und eine Domäne. Ersetzen Sie API_KEY durch Ihren API-Schlüssel, PROFILE_ID durch die vertrauenswürdige Profil-ID und REGISTRY_DOMAIN durch die
Domäne des Registers, in dem Ihre Namespaces eingerichtet sind.
| Bereich | Region, die früher bekannt war als | REGISTRY_DOMAIN |
|---|---|---|
global |
Nicht zutreffend | icr.io |
au-syd |
ap-south |
au.icr.io |
br-sao |
Nicht zutreffend | br.icr.io |
ca-mon |
Nicht zutreffend | ca2.icr.io |
ca-tor |
Nicht zutreffend | ca.icr.io |
eu-de |
eu-central |
de.icr.io |
eu-es |
Nicht zutreffend | es.icr.io |
eu-gb |
uk-south |
uk.icr.io |
in-che |
Nicht zutreffend | in.icr.io |
in-mum |
Nicht zutreffend | in2.icr.io |
jp-osa |
Nicht zutreffend | jp2.icr.io |
jp-tok |
ap-north |
jp.icr.io |
us-south |
Nicht zutreffend | us.icr.io |
Weitere Informationen zur Verwendung von IBM Cloud Container Registry in einer Continuous Delivery-Pipeline finden Sie unter Private Image-Registry verwenden.
Beispiele für die automatische Authentifizierung mit der Registry werden für die folgenden Clients bereitgestellt:
Wenn Sie die Meldung 400 Bad Request erhalten, ist die Kombination aus Benutzername und Passwort ungültig.
Verwendung von Buildah zur Authentifizierung bei der Registrierung mit Hilfe von vertrauenswürdigen Profilen
Sie können eine Authentifizierung bei der Registry mithilfe von Buildah durchführen und damit die Ausführung von Push- und Pull-Operationen für Images in der Registry ermöglichen.
Verwenden Sie den API-Schlüssel, die Profil-ID und die Domäne, um sich bei der Registrierung anzumelden, indem Sie den folgenden Befehl Buildah ausführen und PROFILE_ID durch die vertrauenswürdige Profil-ID, API_KEY durch den API-Schlüssel und REGISTRY_DOMAIN durch die Domäne ersetzen:
buildah login -u PROFILE_ID -p API_KEY REGISTRY_DOMAIN
Verwendung von Docker zur Authentifizierung bei der Registrierung mit Hilfe von vertrauenswürdigen Profilen
Sie können eine Authentifizierung bei der Registry mithilfe von Docker durchführen und damit die Ausführung von Push- und Pull-Operationen für Images in der Registry ermöglichen.
Verwenden Sie den API-Schlüssel und die Domäne, um sich bei der Registrierung anzumelden, indem Sie den folgenden Befehl Docker ausführen. Ersetzen Sie PROFILE_ID durch
die vertrauenswürdige Profil-ID, API_KEY durch den API-Schlüssel und REGISTRY_DOMAIN durch die Domäne:
docker login -u PROFILE_ID -p API_KEY REGISTRY_DOMAIN
Verwendung von Podman zur Authentifizierung bei der Registrierung mit Hilfe von vertrauenswürdigen Profilen
Sie können eine Authentifizierung bei der Registry mithilfe von Podman durchführen und damit die Ausführung von Push- und Pull-Operationen für Images in der Registry ermöglichen.
Verwenden Sie den API-Schlüssel und die Domäne, um sich bei der Registrierung anzumelden, indem Sie den folgenden Befehl Podman ausführen. Ersetzen Sie PROFILE_ID durch
die vertrauenswürdige Profil-ID, API_KEY durch den API-Schlüssel und REGISTRY_DOMAIN durch die Domäne:
podman login -u PROFILE_ID -p API_KEY REGISTRY_DOMAIN
Verwendung von Skopeo zur Authentifizierung bei der Registrierung mit Hilfe von vertrauenswürdigen Profilen
Sie können eine Authentifizierung bei der Registry mithilfe von Skopeo durchführen und damit die Ausführung von Push- und Pull-Operationen für Images in der Registry ermöglichen.
Sie können zum Beispiel den folgenden Skopeo-Befehl verwenden, um ein Image aus Docker Hub zu extrahieren und mit einer Push-Operation in Ihren Namensbereich zu übertragen. Ersetzen Sie REGISTRY_DOMAIN durch den Namen Ihrer
Domain, NAMESPACE durch Ihren Namensraum, PROFILE_ID durch die vertrauenswürdige Profil-ID und API_KEY durch Ihren API-Schlüssel:
skopeo --insecure-policy --override-os linux copy docker://busybox:latest docker://REGISTRY_DOMAIN/NAMESPACE/busybox:latest --dest-creds PROFILE_ID:API_KEY