{"meta":{"title":"Konfigurieren von OpenID Connect in Octopus Deploy","intro":"Verwenden Sie OpenID Connect in Ihren Workflows, um sich bei Octopus Deploy zu authentifizieren.","product":"GitHub Actions","breadcrumbs":[{"href":"/de/actions","title":"GitHub Actions"},{"href":"/de/actions/how-tos","title":"Anleitungen"},{"href":"/de/actions/how-tos/secure-your-work","title":"Schütze deine Arbeit"},{"href":"/de/actions/how-tos/secure-your-work/security-harden-deployments","title":"Sicherheitshärtungen bei Bereitstellungen"},{"href":"/de/actions/how-tos/secure-your-work/security-harden-deployments/oidc-in-octopus-deploy","title":"OIDC in Octopus Deploy"}],"documentType":"article"},"body":"# Konfigurieren von OpenID Connect in Octopus Deploy\n\nVerwenden Sie OpenID Connect in Ihren Workflows, um sich bei Octopus Deploy zu authentifizieren.\n\n## Überblick\n\nOpenID Connect (OIDC) ermöglicht es Ihren GitHub Actions Workflows, sich bei [Octopus Deploy](https://octopus.com/) zu authentifizieren, um Pakete zu pushen, Releases zu erstellen oder Deployments auszulösen, ohne Octopus Deploy-Passwörter oder API-Schlüssel als langlebige GitHub Geheimnisse zu speichern.\n\nDieses Handbuch gibt einen Überblick darüber, wie Octopus Deploy so konfiguriert wird, dass OIDC von GitHub als Verbundidentität akzeptiert wird und enthält ein Beispiel für einen Workflow der Aktion [`octopusdeploy/login`](https://github.com/OctopusDeploy/login), die Token zur Authentifizierung bei Ihrer Octopus Deploy-Instanz verwendet.\n\n## Voraussetzungen\n\n* Informationen zu den grundlegenden Konzepten der Verwendung von GitHub OpenID Connect (OIDC) und deren Architektur und Vorteile finden Sie unter [OpenID Connect](/de/actions/concepts/security/openid-connect).\n\n* Bevor du fortfährst, musst du deine Sicherheitsstrategie planen, um sicherzustellen, dass Zugriffs-Token nur auf vorhersehbare Weise zugewiesen werden. Zur Steuerung, wie dein Cloud-Anbieter Zugriffs-Token ausgibt, **musst** du mindestens eine Bedingung definieren, damit nicht vertrauenswürdige Repositorys keine Zugriffs-Token für deine Cloud-Ressourcen anfordern können. Weitere Informationen finden Sie unter [OpenID Connect-Referenz](/de/actions/reference/security/oidc#oidc-claims-used-to-define-trust-conditions-on-cloud-roles).\n\n## Hinzufügen des Identitätsanbieters zu Octopus Deploy\n\nUm OIDC mit Octopus Deploy zu verwenden, richten Sie zunächst eine Vertrauensstellung zwischen GitHub Actions und Ihrer Octopus Deploy-Instanz ein. Weitere Informationen zu diesem Prozess finden Sie unter [Verwenden von OpenID Connect mit der Octopus-API](https://octopus.com/docs/octopus-rest-api/openid-connect) in der Octopus Deploy-Dokumentation.\n\n1. Melden Sie sich bei Ihrer Octopus Deploy-Instanz an.\n2. Erstellen oder öffnen Sie das Dienstkonto, das über die Tokenanforderung Zugriff erhalten wird.\n3. Konfigurieren Sie eine neue OIDC-Identität und definieren Sie das relevante Subjekt, gegen das die GitHub Actions Workflow-Token-Anforderung validiert wird.\n\n## Aktualisieren deines GitHub Actions-Workflows\n\nUm deine Workflows für OIDC zu aktualisieren, musst du zwei Änderungen an deinen YAML-Daten vornehmen:\n\n1. Füge Berechtigungseinstellungen für das Token hinzu.\n2. Tausche das OIDC-Token (JWT) mithilfe der Aktion [`OctopusDeploy/login`](https://github.com/OctopusDeploy/login) gegen ein Cloudzugriffstoken aus.\n\n> \\[!NOTE]\n> Wenn Umgebungen in Workflows oder in OIDC-Richtlinien verwendet werden, wird empfohlen, der Umgebung Schutzregeln für zusätzliche Sicherheit hinzuzufügen. Du kannst z. B. Bereitstellungsregeln für eine Umgebung konfigurieren, um einzuschränken, welche Branches und Tags in der Umgebung bereitgestellt werden oder auf Umgebungsgeheimnisse zugreifen dürfen. Weitere Informationen finden Sie unter [Verwalten von Umgebungen für die Bereitstellung](/de/actions/how-tos/deploy/configure-and-manage-deployments/manage-environments).\n\n### Hinzufügen von Berechtigungseinstellungen\n\nDer Auftrag oder die Workflow-Ausführung erfordert eine `permissions`-Einstellung mit [`id-token: write`](/de/actions/tutorials/authenticate-with-github_token#modifying-the-permissions-for-the-github_token), damit der OIDC-Anbieter von GitHub bei jeder Ausführung ein JSON Web Token erstellen kann.\n\n> \\[!NOTE] Wenn du `id-token: write` in den Berechtigungen des Workflows festlegst, erhält der Workflow keine Berechtigung zum Ändern oder Schreiben in Ressourcen. Stattdessen kann der Workflow ausschließlich ein OIDC-Token für eine Aktion oder einen Schritt anfordern (abrufen) und verwenden (festlegen). Dieses Token wird anschließend zur Authentifizierung bei externen Diensten mithilfe eines kurzlebigen Zugriffstokens verwendet.\n\nAusführliche Informationen zu erforderlichen Berechtigungen, Konfigurationsbeispielen und erweiterten Szenarios findest du unter [OpenID Connect-Referenz](/de/actions/reference/security/oidc#workflow-permissions-for-the-requesting-the-oidc-token).\n\n### Anfordern des Zugriffstokens\n\nDie [`OctopusDeploy/login`](https://github.com/OctopusDeploy/login) Aktion empfängt ein JWT vom GitHub OIDC-Anbieter und fordert dann ein Zugriffstoken von Ihrer Octopus-Server-Instanz an. Weitere Informationen findest du in der [`OctopusDeploy/login`](https://github.com/OctopusDeploy/login)-Dokumentation.\n\nIm folgenden Beispiel wird ein OIDC-ID-Token mit Ihrer Octopus Deploy-Instanz ausgetauscht, um ein Zugriffstoken zu erhalten, das dann für den Zugriff auf Ihre Octopus Deploy-Ressourcen verwendet werden kann. Achten Sie darauf, die Details bei `server` und `service_account_id` passend zu Ihrem Szenario zu ersetzen.\n\n```yaml copy\n# Dieser Workflow verwendet Aktionen, die nicht von GitHub zertifiziert sind.\n# Sie werden von einem Drittanbieter bereitgestellt und unterliegen\n# separaten Nutzungsbedingungen, Datenschutzbestimmungen und Support\n# Onlinedokumentation.\n\njobs:\n  create_release_in_octopus:\n    runs-on: ubuntu-latest\n    name: Create a release in Octopus\n    permissions:\n      # You might need to add other permissions here like `contents: read` depending on what else your job needs to do\n      id-token: write # This is required to obtain an ID token from GitHub Actions for the job\n    steps:\n      - name: Login to Octopus\n        uses: OctopusDeploy/login@34b6dcc1e86fa373c14e6a28c5507d221e4de629 #v1.0.2\n        with:\n          server: https://my.octopus.app\n          service_account_id: 5be4ac10-2679-4041-a8b0-7b05b445e19e\n\n      - name: Create a release in Octopus\n        uses: OctopusDeploy/create-release-action@fe13cc69c1c037cb7bb085981b152f5e35257e1f #v3.2.2\n        with:\n          space: Default\n          project: My Octopus Project\n```\n\n## Weiterführende Lektüre\n\n* [Verwenden von OpenID Connect mit wiederverwendbaren Workflows](/de/actions/how-tos/secure-your-work/security-harden-deployments/oidc-with-reusable-workflows)\n* [Referenzen zu selbstgehosteten Runnern](/de/actions/reference/runners/self-hosted-runners)"}