Sichern der IBM Cloud-Container-Registrierung mit kontextbasierten Einschränkungen
Kontextbasierte Einschränkungen ermöglichen es Kontoinhabern und Administratoren, Zugriffsbeschränkungen für Ressourcen von IBM Cloud® auf der Grundlage des Kontexts von Zugriffsanfragen zu definieren und durchzusetzen. Der Zugriff auf Ressourcen von „ IBM Cloud® Container Registry “ kann durch kontextbasierte Einschränkungen und Richtlinien für die Identitäts- und Zugriffsverwaltung (IAM) kontrolliert werden.
Diese Einschränkungen ergänzen herkömmliche IAM-Richtlinien, die auf Identitäten basieren, und bieten so eine zusätzliche Schutzebene. Im Gegensatz zu IAM-Richtlinien weisen kontextbasierte Einschränkungen keine Zugriffsberechtigung zu. Bei kontextbasierten Einschränkungen wird geprüft, ob eine Zugriffsanforderung aus einem zulässigen Kontext stammt, der von Ihnen konfiguriert wird. Da sowohl der IAM-Zugriff als auch kontextbasierte Einschränkungen den Zugriff regeln, bieten kontextbasierte Einschränkungen Schutz selbst bei kompromittierten oder unsachgemäß verwalteten Anmeldedaten. Weitere Informationen finden Sie unter Mehrschichtige Sicherheit mit kontextbezogenen Einschränkungen.
Ein Benutzer muss über die Administratorrolle im Dienst „ Container Registry “ verfügen, um Regeln erstellen, aktualisieren oder löschen zu können. Ein Benutzer muss außerdem über die Rolle "Editor" oder "Administrator" für kontextbasierte Einschränkungen zum Erstellen, Aktualisieren oder Löschen von Netzzonen verfügen. Ein Benutzer mit der Rolle "Anzeigeberechtigter" für die kontextbasierten Einschränkungen kann einer Regel Netzzonen hinzufügen.
Alle Audit-Ereignisse des Activity Trackers, die generiert werden, stammen von den kontextbezogenen Einschränkungen, nicht von Container Registry. Weitere Informationen finden Sie unter Kontextbasierte Einschränkungen für Monitoring.
Container Registry ist ein Service, der mit kontextbasierten Einschränkungen integriert ist. Weitere Informationen finden Sie unter Mit kontextbasierten Einschränkungen integrierte Services.
Informationen zum Schutz Ihrer Container Registry-Ressourcen mit kontextbasierten Einschränkungen enthält das Lernprogramm Kontextbasierte Einschränkungen zum Schutz Ihrer Ressourcen nutzen.
Integration von Container Registry mit kontextbasierten Einschränkungen
Sie können kontextbasierte Einschränkungen für IBM Cloud Container Registry-Ressourcen oder für bestimmte APIs erstellen. Bei kontextbasierten Einschränkungen können Sie Ressourcen schützen (siehe Bestimmte Ressourcen schützen).
Bestimmte Ressourcen schützen
Wenn Sie kontextbasierte Einschränkungen einrichten, gelten die Einschränkungen für alle Elemente des ausgewählten Service im Konto, sofern Sie keine Untergruppe von Ressourcen auswählen. Container Registry unterstützt die folgende Untergruppe
von Ressourcen: resource type = namespace und resource id = <your_image_namespace>, wobei <your_image_namespace> der Namensbereich Ihres Image ist. Weitere Informationen zu Regeln finden Sie
unter Regeln erstellen.
Wenn Ihr Bild beispielsweise das Format uk.icr.io/<my_project>/<my_image>:latest hat, wobei <my_project> der Name Ihres Projekts und <my_image> der Name des Bildes ist, lauten die
Attributtypen wie in der folgenden Tabelle dargestellt.
| Attributtyp | Operator | Wert |
|---|---|---|
Region |
string equals |
London |
Resource Type |
string equals |
namespace |
Resource Name |
string equals |
<my_project> |
Der Wert Ressourcenname ist ein Namensbereich, wie durch den Befehl ibmcloud cr namespace-list angezeigt.
Einschränkungen
Kontextbasierte Einschränkungen schützen nur die Aktionen, die der IBM Cloud Container Registry-API und der Vulnerability Advisor 4 für die IBM Cloud Container Registry-API zugeordnet sind. Aktionen, die den folgenden Plattform-APIs zugeordnet sind, sind nicht durch kontextbasierte Einschränkungen geschützt. In der API-Dokumentation finden Sie die spezifischen Aktions-IDs.
- APIs für Ressourceninstanz
- Ressourcenschlüssel-APIs
- Ressourcen-Rückforderungen APIs
- IAM-Richtlinien-APIs
- APIs für globale Suche
- Globale Tagging-API zum Anhängen von Tags und globale Tagging-API zum Entfernen von Tags
- APIs für kontextbasierte Einschränkungsregeln
- Secrets Manager-Anwendungsprogrammierschnittstellen
Regeln erstellen
Legen Sie Einschränkungen für Container Registry-Ressourcen fest, indem Sie Regeln erstellen.
Erstellen von Regeln in der IBM Cloud-Konsole
Informationen zum Erstellen von Regeln in der IBM Cloud-Konsole finden Sie unter Regeln erstellen. Wenn Sie aufgefordert werden, einen Service auszuwählen, wählen Sie Container Registry aus. Sie können alle Ressourcen oder bestimmte Ressourcen schützen (siehe Bestimmte Ressourcen schützen).
Die folgenden Attributtypen für bestimmte Ressourcen sind in der IBM Cloud-Konsole verfügbar:
RegionResource TypeResource Name
Erstellen von Regeln mithilfe der CLI
- Um Regeln über die Befehlszeilenschnittstelle (CLI) zu erstellen, installieren Sie das Plug-in für kontextbasierte Einschränkungen CLI.
- Mit dem
ibmcloud cbr rule-create-Befehl können Sie Regeln für kontextbasierte Einschränkungen erstellen. Weitere Informationen finden Sie unter Regeln mithilfe der Befehlszeilenschnittstelle erstellen.
Im folgenden Beispiel wird eine Regel erstellt, die auf den Service Container Registry abzielt und den Zugriff auf Ihren Namensbereich my_namespace nur über das private Netz in us-south zulässt.
ibmcloud cbr rule-create --description 'Only allow access to my_namespace over the private network' --service-name container-registry --context-attributes endpointType=private --resource-attributes resourceType=namespace,resource=my_namespace --region us-south
Regeln mithilfe der API erstellen
Informationen zum Erstellen von Regeln in der API finden Sie in den API-Dokumenten und Regeln mithilfe der API erstellen.
Nachdem Sie eine Regel erstellt haben, kann es bis zu 10 Minuten dauern, bis Sie diese Regel aufgrund des IAM-TTL-Antwortcaching aktualisieren können.
Regionsbasierte Richtlinien für kontextbasierte Einschränkungen einrichten
Für alle Regionen außer global können Sie das Feld "Region" verwenden, wenn Sie eine Regel erstellen. In der Befehlszeilenschnittstelle für us-south verwenden Sie beispielsweise die Option --region us-south.
Da global jedoch eine Geografie und keine Region ist, müssen Sie die Option --region weglassen und geography=global zum Feld --resource-attributes hinzufügen.
Das folgende Beispiel zeigt den Befehl in us-south, wobei DESCRIPTION die Beschreibung, ACCOUNT_ID Ihre IBM Cloud-Konto-ID, NAMESPACE der Namensbereich und NETWORK_ZONE_ID die
Netzzonen-ID ist:
ibmcloud cbr rule-create --description "DESCRIPTION" --resource-attributes "accountId=ACCOUNT_ID,serviceName=container-registry,resourceType=namespace,resource=NAMESPACE" --context-attributes networkZoneId=NETWORK_ZONE_ID --output json --region us-south
Das folgende Beispiel zeigt den Befehl in global, wobei DESCRIPTION die Beschreibung, ACCOUNT_ID Ihre IBM Cloud-Konto-ID, NAMESPACE der Namensbereich und NETWORK_ZONE_ID die Netzzonen-ID
ist:
ibmcloud cbr rule-create --description "DESCRIPTION" --resource-attributes "accountId=ACCOUNT_ID,serviceName=container-registry,resourceType=namespace,resource=NAMESPACE,geography=global" --context-attributes networkZoneId=NETWORK_ZONE_ID