Projektweite Einstellungen konfigurieren
Auf den Seiten mit den Projekteinstellungen in der Konsole können Sie Einstellungen überprüfen und konfigurieren, die für ein bestimmtes Projekt gelten. Hier erfahren Sie, wie Sie mit projektweiten Integrationen arbeiten.
Was sind projektweite Integrationen und warum nutzen sie?
Auf der Seite 'Integrationen' in der Konsole können Sie die projektweiten Einstellungen so konfigurieren, dass alle Benutzer des Projekts bestimmte Aktionen ausführen können. Wenn Sie über ausreichende Berechtigungen verfügen, können Sie von einer einzigen Seite aus Operationen zur Dienstbindung oder den Zugriff auf Bilder in IBM Cloud Container Registry konfigurieren. Wenn Sie nicht über ausreichende Berechtigungen zum Ausführen dieser Aktionen verfügen, können Sie diese Seiten verwenden, um die erforderlichen Berechtigungen zu verstehen.
Wenn Sie projektweite Einstellungen mit der Seite 'Integrationen' definieren, richtet Code Engine automatisch die erforderlichen Berechtigungsnachweise ein, sodass Code Engine Servicebindungsoperationen ausführen oder auf Container Registry zugreifen kann, anstatt eine persönliche Benutzer-ID zu verwenden. Sie können Details zu den Aktionen von Code Engine anzeigen, wenn Sie Servicebindungsoperationen konfigurieren oder den Zugriff auf Container Registrykonfigurieren. Diese Details enthalten Informationen zur Service-ID und ihren Zugriffsrichtlinien, zum API-Schlüssel und zum geheimen Schlüssel.
-
Informationen zum Konfigurieren von Einstellungen für Servicebindungsoperationen finden Sie unter Servicebindungsoperationen konfigurieren.
-
Wenn Sie Einstellungen zur Steuerung des Zugriffs auf die verwaltete Registry von Code Engine auf IBM Cloud Container Registrykonfigurieren möchten, lesen Sie den Abschnitt Projektweiten Zugriff auf Container Registry.
Konfigurieren projektweiter Dienstbindungsvorgänge
Auf der Seite "Integrationen" in der Konsole können Sie Einstellungen für Servicebindungsoperationen konfigurieren, sodass alle Benutzer eines bestimmten Projekts Bindungen erstellen und löschen können, ohne ihren persönlichen Benutzer-IDs alle erforderlichen Berechtigungen zuweisen zu müssen.
In Code Enginewerden Servicebindungsoperationen, die das Erstellen und Löschen von Servicebindungen einschließen, nicht mit der Identität des angemeldeten Benutzers ausgeführt. Stattdessen erstellt Code Engine eine Service-ID, die speziell für Servicebindungsoperationen verwendet wird. Mit ausreichenden Berechtigungen können Sie Service-Binding-Operationen konfigurieren, um diese Service-ID automatisch für Service-Binding-Operationen auf der Seite 'Integrationen' einzurichten. Sie können auch Ihre eigene angepasste Service-ID verwenden, die Sie für Servicebindungsoperationen verwalten.
Welche Zugriffsberechtigungen sind für die Konfiguration von Servicebindungsoperationen erforderlich?
Der Benutzer dieser Integrationsseite muss über die folgenden Cloud Identity and Access Management (IAM)-Zugriffsrichtlinien verfügen, die Ihrem Benutzerkonto zugeordnet sind, um Servicebindungsoperationen erfolgreich zu konfigurieren. Wenn Sie nicht über ausreichende Berechtigungen zum Ausführen dieser Aktionen verfügen, können Sie diese Seite verwenden, um die erforderlichen Berechtigungen zu verstehen.
- Dienst: Alle identitäts- und zugangsfähigen Dienste
- Ressourcen: Wählen Sie aus den Tags Ressourcengruppe, Region oder Zugangsverwaltung.
- Zugang zur Ressourcengruppe:
Viewer - Rollen und Aktionen:
Administrator-Plattformzugriff (kein Servicezugriff erforderlich)
- Dienst: Code Engine
- Ressourcen: Die Ressourcengruppe dieses Code Engine-Projekts
- Zugang zur Ressourcengruppe:
Viewer - Rollen und Aktionen:
Writer-Servicezugriff undOperator-Plattformzugriff
Damit Code Engine automatisch eine Service-ID für Servicebindungsoperationen generieren kann, überprüft Code Engine eine Service-ID mit Operator-Plattformzugriff und Manager-Servicezugriff für alle Services in der
Ressourcengruppe des Projekts Code Engine und richtet sie automatisch ein. Code Engine verwendet diese Service-ID für den Zugriff auf IBM Cloud-Services mit Servicebindungen.
Wenn Sie Ihre eigene angepasste Service-ID verwenden, muss die angepasste Service-ID Operator-Plattformzugriff und Manager-Servicezugriff für alle IBM Cloud-Services oder Serviceinstanzen bereitstellen, die Sie an
Code Engine-Apps oder -Jobs binden möchten.
Wenn diese Service-ID nicht vorhanden ist, versucht Code Engine, diese Service-ID bei jeder Erstellung einer Servicebindung automatisch zu erstellen. Die erfolgreiche Erstellung dieser Service-ID für Servicebindungsoperationen hängt davon ab, ob der Benutzer, der bei Code Engine angemeldet ist, über ausreichende Berechtigungen verfügt. Wenn der geheime Operatorschlüssel nicht erfolgreich erstellt wird, schlägt jeder Versuch, eine Servicebindung zu erstellen, fehl. Weitere Informationen zu Code Engine-Zugriffsanforderungen für Servicebindungsoperationen finden Sie unter Zugriff für Servicebindungen konfigurieren.
Wie ist die Beziehung zwischen der Service-ID und dem geheimen Schlüssel des Operators?
Wenn Sie Service-Binding-Operationen konfigurieren, können Sie Details dazu anzeigen, was Code Engine für Sie tut, einschließlich Informationen zur Service-ID, zum API-Schlüssel und zum geheimen Schlüssel.
In Code Engineist eine Servicebindung die Beziehung zwischen einer Anwendung oder einem Job und einem anderen IBM Cloud-Service.
Code Engine verwendet anstelle der Identität des angemeldeten Benutzers eine Service-ID, um Bindungsoperationen für den Benutzer auszuführen. Die Service-ID erstellt Berechtigungsnachweise für eine bestimmte IBM Cloud-Serviceinstanz. Diese Serviceberechtigungsnachweise werden von Ihren gebundenen Code Engine-Apps und Jobs für die Interaktion mit den Serviceinstanzen verwendet. Der API-Schlüssel für die Service-ID wird im geheimen Operatorschlüssel gespeichert. Die Zugriffsrichtlinien sind die Berechtigungen, die der Service-ID erteilt werden.
Der geheime Operatorschlüssel oder ibmcloud-operator-secret ist ein von Code Engine generierter und verwalteter geheimer Schlüssel, der die Service-ID und einen automatisch generierten API-Schlüssel enthält. Dieser geheime
Schlüssel wird bei Servicebindungsoperationen verwendet und fungiert nicht als Konto des aktuellen Benutzers. Wenn der geheime Operatorschlüssel nicht vorhanden ist, wird er automatisch erstellt, wenn eines der folgenden Szenarios zutrifft.
- Wenn die nächste Servicebindung für das Projekt erstellt wird (über die Konsole oder die Befehlszeilenschnittstelle)
- Wenn Sie Service-Binding-Operationen über die Seite 'Integrationen' konfigurieren.
- Wenn Sie den Befehl
project updateausführen.
Wenn Service-Binding-Operationen konfiguriert sind, gelten die Service-ID und der geheime Operatorschlüssel für Ihr spezifisches Projekt.
Sie können Servicebindungsoperationen konfigurieren und Code Engine automatisch die Service-ID generieren lassen oder Sie können Servicebindungen mit Ihrer eigenen angepassten Service-ID konfigurieren.
Operationen für Servicebindungen mit einer automatisch generierten Code Engine-Service-ID konfigurieren
Sie können Dienstbindungsvorgänge so konfigurieren, dass alle Benutzer im Projekt über die Konsole Code Engine Dienstbindungen zu IBM Cloud Diensten in der ausgewählten Ressourcengruppe erstellen und verwalten können.
- Rufen Sie die Seite Integrationen auf.
- Wählen Sie Ihr Projekt auf der Seite Projekte in der Code Engine-Konsoleaus.
- Klicken Sie auf Projekteinstellungen > Integrationen.
- Klicken Sie auf der Kachel Servicebindungen auf Konfigurieren, um Servicebindungsoperationen für alle Benutzer dieses Projekts zu konfigurieren.
- Geben Sie auf der Seite Dienstbindungsvorgänge konfigurieren die Ressourcengruppe an, die Sie für Dienstbindungsvorgänge verwenden möchten. Sie können eine IBM Cloud® wählen, die das Code Engine enthält, und Code Engine die erforderlichen Anmeldedaten erstellen lassen. Sie können auch eine benutzerdefinierte Service-ID verwenden, die Ihre Service-ID-Anmeldedaten nutzt.
- (Optional) Erweitern Sie den Abschnitt Was Code Engine für Sie tut, um Informationen zu den Code Engine anzuzeigen, die automatisch für Sie erstellt werden, wenn Sie Servicebindungsoperationen konfigurieren. Sie können Informationen zur Service-ID und zu den Zugriffsrichtlinien, die dieser Service-ID zugeordnet sind, zum API-Schlüssel, den Code Engine automatisch generiert, und zum geheimen Operatorschlüssel, der für Servicebindungen verwendet wird, anzeigen.
- Klicken Sie auf Konfigurieren.
- (Optional) Klicken Sie auf Details anzeigen, um Details zur Konfiguration der Servicebindungsoperationen anzuzeigen. Auf dieser Seite können Sie Informationen zur Service-ID, zum API-Schlüssel und zum geheimen Operatorschlüssel anzeigen, die für Servicebindungsoperationen verwendet werden.
Nachdem Sie jetzt Servicebindungsoperationen für die angegebene Ressourcengruppe konfiguriert haben, können alle Benutzer mit Schreib-oder Managerzugriff auf dieses Code Engine-Projekt Servicebindungen erstellen und löschen. Siehe Mit Servicebindungen arbeiten, um IBM Cloud-Services in Code Engine.
Wenn Sie Dienstbindungsvorgänge mit einer automatisch generierten (und verwalteten) Dienst-ID von Code Engine konfigurieren, dürfen Sie die Dienst-ID oder den API-Schlüssel, die als Teil der Konfiguration von Dienstbindungsvorgängen erstellt wurden, nicht manuell aktualisieren oder entfernen. Versuchen Sie auch nicht, den API-Schlüssel zu wechseln, der der Service-ID zugeordnet ist. Rufen Sie stattdessen in der Konsole die Seite Projekteinstellungen > Integrationen auf und entfernen Sie die Konfiguration für Servicebindungsoperationen für Ihr Projekt. Konfigurieren Sie anschließend erneut Servicebindungsoperationen. Diese Aktion löscht die alte Service-ID und den API-Schlüssel und erstellt eine neue Service-ID und einen neuen API-Schlüssel für Servicebindungsoperationen.
Service-Binding-Operationen mit einer angepassten Service-ID konfigurieren
Sie können Dienstbindungsvorgänge so konfigurieren, dass alle Benutzer im Projekt über die Konsole Code Engine Dienstbindungen mit einer benutzerdefinierten Dienst-ID für IBM Cloud Dienste erstellen und verwalten können.
Wenn Sie eine angepasste Service-ID verwenden, bestimmen die zugewiesenen IAM-Richtlinien für die Service-ID die Ressourcengruppen.
- Rufen Sie die Seite Integrationen auf.
- Wählen Sie Ihr Projekt auf der Seite Projekte in der Code Engine-Konsoleaus.
- Klicken Sie auf Projekteinstellungen > Integrationen.
- Klicken Sie auf Konfigurieren in der Kachel Servicebindungen, um Servicebindungsoperationen für alle Benutzer dieses Projekts mit Ihrer angepassten Service-ID zu konfigurieren.
- Wählen Sie auf der Seite Dienstbindungsvorgänge konfigurieren die Option Eine benutzerdefinierte Dienst-ID verwenden.
- Wählen Sie die angepasste Service-ID aus, die verwendet werden soll.
- (Optional) Erweitern Sie den Abschnitt Was Code Engine für Sie tut, um Informationen zu den Code Engine anzuzeigen, die automatisch für Sie erstellt werden, wenn Sie Servicebindungsoperationen konfigurieren. Informationen zum API-Schlüssel anzeigen, den Code Engine automatisch für die Service-ID und den geheimen Operatorschlüssel generiert, die für Servicebindungsoperationen verwendet werden.
- Klicken Sie auf Konfigurieren. Nach der Konfiguration von Servicebindungsoperationen wird die angepasste Service-ID für Servicebindungsoperationen angezeigt.
- (Optional) Klicken Sie auf Details anzeigen, um Details zur Konfiguration der Servicebindungsoperationen anzuzeigen. Auf dieser Seite können Sie Informationen zur Service-ID, zum API-Schlüssel und zum geheimen Operatorschlüssel anzeigen, die für Servicebindungsoperationen verwendet werden.
Nachdem Sie nun Servicebindungsoperationen mit einer angepassten Service-ID mit erforderlichen IAM-Berechtigungen konfiguriert haben, kann jeder Benutzer mit Schreib-oder Managerzugriff auf dieses Code Engine-Projekt Servicebindungen erstellen und löschen. Siehe Mit Servicebindungen arbeiten, um IBM Cloud-Services in Code Engine.
Entfernen von konfigurierten Dienstbindungsvorgängen
Wenn Service-Binding-Operationen konfiguriert sind, können Sie auf der Seite 'Integrationen' auch die Möglichkeit zum Erstellen oder Löschen von Servicebindungen für alle Benutzer des Projekts entfernen. Diese Aktion entfernt den geheimen Operatorschlüssel für Servicebindungsoperationen.
- Rufen Sie die Seite Integrationen auf.
- Wählen Sie Ihr Projekt auf der Seite Projekte in der Code Engine-Konsoleaus.
- Klicken Sie auf Projekteinstellungen > Integrationen.
- Wenn der Status der Service-Binding-Operationen Konfiguriert lautet, klicken Sie auf Konfiguration entfernen, um den geheimen Operatorschlüssel zu entfernen. Sie werden aufgefordert, das Löschen des geheimen Operatorschlüssels zu bestätigen.
Wenn Sie eine Nachricht empfangen, dass Servicebindungsoperationen entfernt werden, lautet der Status für Servicebindungsoperationen Nicht konfiguriert.
Wenn Sie konfigurierte Servicebindungsoperationen von der Seite 'Integrationen' entfernen, bleiben alle vorhandenen Servicebindungen erhalten. Dies bedeutet, dass für vorhandene Servicebindungen, wenn Sie Anwendungen ausführen, neue Anwendungsrevisionen ausführen oder Jobs ausführen, die gebundene App oder der gebundene Job die vorhandenen Servicebindungen und ihre Berechtigungsnachweise verwendet. Es können jedoch keine neuen Servicebindungen ohne ausreichende Berechtigungen erstellt und vorhandene Bindungen nicht gelöscht werden.
Wenn der geheime Operatorschlüssel nicht vorhanden ist, wird er automatisch erstellt, wenn eines der folgenden Szenarios zutrifft.
- Wenn die nächste Servicebindung für das Projekt erstellt wird (über die Konsole oder die Befehlszeilenschnittstelle)
- Wenn Sie Service-Binding-Operationen über die Seite 'Integrationen' konfigurieren.
- Wenn Sie den Befehl
project updateausführen.
Projektweiten Zugriff auf Container Registry konfigurieren
Verwenden Sie die Seite "Integrationen" in der Konsole, um Einstellungen für die Einrichtung und Verwaltung des Registrierungszugriffs auf Bilder in IBM Cloud Container Registry zu konfigurieren, damit alle Benutzer eines bestimmten Code Engine-Projekts Bilder in Container Registry speichern und darauf zugreifen können, ohne manuell Registrierungsgeheimnisse erstellen zu müssen.
Wenn Sie Projektintegrationen verwenden, um Ihren verwalteten Code Engine-Zugriff auf Container Registryzu steuern, verwendet Code Engine nicht die Identität des angemeldeten Benutzers. Stattdessen erstellt Code Engine automatisch einen Registry-Zugriff, der speziell für den Zugriff auf Images in IBM Cloud Container Registryverwendet wird. Mit ausreichenden Berechtigungen können Sie diesen Standardzugriff auf die Registry auf der Basis der einzelnen Standorte (Regionen) konfigurieren. Weitere Informationen zu Container Registry-Regionen finden Sie unter IBM Cloud Container Registry-Regionen.
Welche Zugriffsberechtigungen sind für den verwalteten Zugriff auf IBM Cloud Container Registry erforderlich?
Der Benutzer dieser Integrationsseite muss über die folgenden IBM Cloud® Identity and Access Management-Zugriffsrichtlinien verfügen, die Ihrem Benutzerkonto zugeordnet sind, damit der Registry-Zugriff für alle Benutzer des Projekts erfolgreich konfiguriert werden kann. Wenn Sie nicht über ausreichende Berechtigungen zum Ausführen dieser Aktionen verfügen, können Sie diese Seite verwenden, um die erforderlichen Berechtigungen und Aktionen zu verstehen, die Sie ausführen können.
- Dienst: Container Registry
- Ressourcen: Wählen Sie aus den Tags Ressourcengruppe, Region oder Zugangsverwaltung.
- Zugang zur Ressourcengruppe:
Viewer - Rollen und Aktionen:
AdministratorPlattformzugriff undReader-,Writer-undManager-Servicezugriff
- Dienst: Code Engine
- Ressourcen: Die Ressourcengruppe dieses Code Engine-Projekts
- Zugang zur Ressourcengruppe:
Viewer - Rollen und Aktionen:
Operator-Plattformzugriff undWriter-Servicezugriff
Damit Code Engine automatisch eine Service-ID für den Zugriff auf Bilder in Container Registry an einem bestimmten Standort generiert, richtet Code Engine diese Service-ID mit der Rolle Administrator für den IAM-Identitätsservice
ein, der dieser Service-ID zugeordnet ist. Darüber hinaus erteilt Code Engine die Rolle Manager für den Service IBM Cloud Container Registry, der sich auf die angegebene Position (Region) bezieht. Diese Rollen und Berechtigungen
sind erforderlich, damit Code Engine diese Service-ID für den Zugriff auf Container Registry im Namen des Benutzers des Projekts Code Engine verwenden kann.
Wenn Code Engine diese Dienst-ID mit dem Administrator Plattformzugang und Manager Dienstzugang auf IBM Cloud Container Registry konfiguriert, ist der Zugang nur auf diese Dienst-ID beschränkt.
Weitere Informationen zu den Voraussetzungen für Code Engine für den Zugriff auf Images in einer Containerregistry finden Sie unter Auf Containerregistrys zugreifen.
Wie ist die Beziehung zwischen der Service-ID und dem geheimen Registry-Schlüssel?
Wenn Sie den Standardzugriff auf die Registry für eine bestimmte Position konfigurieren, können Sie Details dazu anzeigen, was Code Engine für Sie tut, einschließlich Informationen zur Service-ID, den zugehörigen Zugriffsrichtlinien, dem API-Schlüssel und dem geheimen Registry-Schlüssel.
Code Engine verwendet eine Service-ID, um den Registry-Zugriff auf Container Registryim Namen des Benutzers zu aktivieren, anstatt die Identität des angemeldeten Benutzers zu verwenden.
Der geheime Registry-Schlüssel ist ein von Code Engine generierter und verwalteter Registry-Schlüssel, der einen automatisch generierten API-Schlüssel für ihn enthält. Dieser geheime Schlüssel wird für den Zugriff auf Images in Container Registryverwendet.
Wenn der Standardregistryzugriff für eine Position (Region) konfiguriert ist, gelten die Service-ID und der geheime Registry-Schlüssel für Ihr spezifisches Projekt.
Zugriff auf Container Registry konfigurieren
Sie können den Registrierungszugriff so konfigurieren, dass alle Benutzer des Projekts über die Konsole Code Engine auf die Bilder in IBM Cloud Container Registry zugreifen und mit ihnen arbeiten können.
- Rufen Sie die Seite Integrationen auf.
- Wählen Sie Ihr Projekt auf der Seite Projekte in der Code Engine-Konsoleaus.
- Klicken Sie auf Projekteinstellungen > Integrationen.
- Klicken Sie in der Kachel Container Registry auf die Zeile für die Position, für die Sie den Registry-Zugriff konfigurieren wollen.
- Auf der Seite Standardregistrierungszugriff konfigurieren können Sie optional den Abschnitt Was Code Engine für Sie tut erweitern, um Informationen darüber anzuzeigen, was Code Engine automatisch für Sie erstellt, wenn Sie den Standardregistrierungszugriff auf einen bestimmten Ort konfigurieren. Zeigen Sie Informationen über die Dienst-ID und die Zugriffsrichtlinien an, die dieser Dienst-ID zugewiesen sind, den API-Schlüssel, den Code Engine automatisch für die Dienst-ID generiert, und das Registrierungsgeheimnis, das für diesen Registrierungszugriff verwendet wird.
- Klicken Sie auf Konfigurieren, um den Standardzugriff auf die Registry für eine bestimmte Position zu konfigurieren.
- In der Tabelle können Sie den Konfigurationsstatus nach Position und den automatisch generierten geheimen Registry-Schlüssel anzeigen.
- (Optional) Weitere Details erhalten Sie, wenn Sie auf das Symbol Aktionen
> Details anzeigen klicken. Sie können Informationen zur Service-ID und den Zugriffsrichtlinien anzeigen, die dieser Service-ID zugeordnet sind, den API-Schlüssel, den Code Engine automatisch für die Service-ID generiert, und den geheimen Registry-Schlüssel, der für den Zugriff auf Container Registrykonfiguriert ist.
Nachdem Sie nun den Standardzugriff auf die Registry für eine bestimmte Position auf Container Registrykonfiguriert haben, kann jeder Benutzer mit Schreib-oder Managerzugriff auf dieses Code Engine-Projekt diesen geheimen Registry-Schlüssel mit seinen Apps, Jobs und Builds verwenden, um auf Images in Container Registryzuzugreifen.
Wenn Sie projektweiten Container Registry-Zugriff über die Seite Integrationen konfigurieren, generiert Code Engine automatisch eine Service-ID, um den Registry-Zugriff auf Container Registryzu aktivieren.
Wenn Sie mit einem von Code Engine automatisch erzeugten (und verwalteten) Registrierungsgeheimnis arbeiten, löschen Sie das Registrierungsgeheimnis nicht manuell. Entfernen Sie auch nicht manuell die Dienst-ID oder den zugehörigen API-Schlüssel für die konfigurierte Region Container Registry. Versuchen Sie nicht, den API-Schlüssel zu rotieren, der dieser Service-ID zugeordnet ist. Gehen Sie stattdessen in der Konsole auf die Seite Projekteinstellungen > Integrationen, entfernen Sie die Konfiguration für den gewünschten Container Registry Zugriff für Ihr Projekt und konfigurieren Sie den Registrierungszugriff erneut. Diese Aktion löscht die alte Service-ID und den API-Schlüssel und erstellt eine neue Service-ID und einen neuen API-Schlüssel für den Registry-Zugriff für das Projekt in der gewünschten Region.
Von Code Engine verwalteten Zugriff auf Container Registry entfernen
Wenn Sie ein von Code Engine verwaltetes Registrierungsgeheimnis für eine bestimmte Region entfernen, wird dieser projektweite Registrierungszugriff gelöscht. Die zugeordnete Service-ID, der zugehörige API-Schlüssel und der zugehörige geheime Registry-Schlüssel werden gelöscht. Sie können weiterhin manuell erstellte Zugriffsgeheimnisse für die Registrierung verwenden oder den projektweiten Container Registry Zugriff erneut konfigurieren.
- Rufen Sie die Seite Integrationen auf.
- Wählen Sie Ihr Projekt auf der Seite Projekte in der Code Engine-Konsoleaus.
- Klicken Sie auf Projekteinstellungen > Integrationen.
- Klicken Sie in der Zeile der Position (Region), für die Sie den Registry-Zugriff entfernen möchten, auf das Symbol Aktionen
> Konfiguration entfernen. Sie werden aufgefordert, zu bestätigen, dass Sie den Registrierungszugriff löschen möchten.
Wenn Sie eine Nachricht erhalten, dass der Registry-Zugriff entfernt wird, lautet der Status für den Registry-Zugriff für eine bestimmte Container Registry-Position Nicht konfiguriert.