---
title: Single Sign-on
url: https://platform.claude.com/docs/de/managed-agents/self-hosted/configure
description: Lass Personen und Dienste deinen selbst gehosteten Claude Managed Agents-Server mit Tokens von deinem Identitätsanbieter aufrufen.
---

<Note>
  Um Zugriff auf selbst gehostetes Claude Managed Agents anzufordern, kontaktiere dein Anthropic-Account-Team.
</Note>

Standardmäßig akzeptiert dein Server einen gemeinsamen Schlüssel, den [Server-API-Key](https://platform.claude.com/docs/de/managed-agents/self-hosted#the-three-credentials). Mit Single Sign-on kann jede Person oder jeder Dienst den Server zusätzlich mit einem Token von deinem OpenID Connect (OIDC)-Identitätsanbieter aufrufen. Der Server weist dem Aufrufer anhand der Gruppen im Token eine Rolle zu. Der Server-API-Key funktioniert weiterhin als Administrator-Anmeldedaten.

Diese Seite zeigt, wie du deinen Identitätsanbieter hinzufügst, was jede Rolle tun kann und wie du Entwicklern die Anmeldung über ein Terminal ermöglichst.

## Deinen Identitätsanbieter hinzufügen

<Steps>
  <Step title="Den Server in deinem Identitätsanbieter registrieren">
    Registriere den Server als API mit einem Bezeichner wie `api://cma-server` und lass Clients Tokens dafür anfordern.
  </Step>

  <Step title="Den Identitätsanbieter in der Einstellungsdatei auflisten">
    Füge einen Eintrag unter `auth.issuers` in der [Einstellungsdatei](https://platform.claude.com/docs/de/managed-agents/self-hosted/configuration-reference#where-settings-go) hinzu:

    ```yaml
    auth:
      issuers:
        - name: okta
          issuer_url: https://login.example.com/oauth2/default
          audiences: [api://cma-server]
          roles:
            - group: cma-admins
              role: admin
            - group: "eng-*"
              role: developer
    ```

    * `name` kennzeichnet den Aussteller in Log-Zeilen, und der Server speichert ihn als Teil des Erstellers jeder Ressource. Ändere ihn nicht mehr, sobald Personen Ressourcen erstellt haben.
    * `issuer_url` muss dem `iss`-Claim deiner Tokens entsprechen.
    * `audiences` listet die Werte auf, die der `aud`-Claim eines Tokens enthalten kann, etwa den Bezeichner aus dem ersten Schritt.
    * `roles` ordnet einer Gruppe `admin`, `developer` oder `user` zu. Die höchste passende Rolle gewinnt.

    Die übrigen Felder findest du unter [Aussteller-Einträge](https://platform.claude.com/docs/de/managed-agents/self-hosted/configuration-reference#issuer-entries). Wenn dein Anbieter Microsoft Entra ID ist, siehe außerdem [Microsoft Entra ID](https://platform.claude.com/docs/de/managed-agents/self-hosted/configure#microsoft-entra-id).
  </Step>

  <Step title="Den Server neu starten und die Anmeldung prüfen">
    Starte den Server neu. Ein Aufrufer sendet das Token als `Authorization: Bearer <token>`, auf jeder Route, die den Server-API-Key akzeptiert.

    Für jede Anfrage, die ein Token authentifiziert hat, protokolliert der Server `auth=oidc`, den `name` des Ausstellers und das Subject des Aufrufers (`sub=`).
  </Step>
</Steps>

### Wenn die Anmeldung fehlschlägt

| Antwort                                        | Ursache                                                                      | Die Log-Zeile des Servers enthält |
| ---------------------------------------------- | ---------------------------------------------------------------------------- | --------------------------------- |
| `401`, derselbe wie bei einem falschen API-Key | Das Token hat eine Prüfung nicht bestanden. Die Log-Zeile enthält den Grund. | `oidc token`                      |
| `403`                                          | Die Gruppen des Tokens passen zu keinem `roles`-Eintrag                      | `token holds no role`             |

### Microsoft Entra ID

Entra ID unterscheidet sich in zwei Punkten von anderen Anbietern. Beide Einstellungen gehören in den Aussteller-Eintrag:

* **Die Person:** Entra ID gibt einer Person in jeder Client-Anwendung ein anderes `sub`, sodass der Standard eine Person als mehrere Ersteller speichern würde. Setze `subject_claim: oid`.
* **Die Gruppen:** Entra ID lässt den `groups`-Claim in einem Token weg, wenn die Person vielen Gruppen angehört. Diese Person passt dann zu keinem `roles`-Eintrag. Um das zu verhindern, lass Entra ID nur die Gruppen ausgeben, die der Anwendung zugewiesen sind. Oder weise Personen in Entra ID App-Rollen zu und setze `groups_claim: roles`, damit der Server App-Rollen anstelle von Gruppen liest.

## Was jede Rolle tun kann

| Rolle                          | Agenten, Skills, Sitzungen, Vaults und Memory Stores   | Umgebungen                                                  |
| ------------------------------ | ------------------------------------------------------ | ----------------------------------------------------------- |
| `admin` und der Server-API-Key | Sieht und ändert alles                                 | Erstellt, ändert und löscht sie und erstellt ihre Schlüssel |
| `developer` oder `user`        | Sieht und ändert nur, was dieser Aufrufer erstellt hat | Listet sie auf, liest sie und führt Sitzungen darin aus     |

`developer` und `user` haben denselben Zugriff. Ein Aufrufer mit einer dieser Rollen:

* **Kann keine Ressource sehen, die jemand anderes erstellt hat.** Die Ressource fehlt in Listen, und eine Anfrage nach ihrer ID erhält dieselbe Antwort wie eine Anfrage nach einer unbekannten ID. Das schließt alles ein, was mit dem Server-API-Key erstellt wurde, bevor du Single Sign-on aktiviert hast.
* **Kann eine Ressource nicht teilen**, weder mit einem anderen Aufrufer noch mit einer Gruppe.

Ordne `admin` exakten Gruppennamen zu. Ein Administrator kann außerdem eine Sitzung starten, die den Vault eines beliebigen Benutzers verwendet. Weise die Rolle also nur Gruppen zu, denen du die MCP-Tokens aller Benutzer anvertraust.

## Entwicklern die Anmeldung über ein Terminal ermöglichen

Entwickler können sich über deinen Identitätsanbieter anmelden und dann die `ant` CLI unter ihrer eigenen Identität verwenden, ohne den Server-API-Key. Die ersten beiden Schritte erledigst du, den dritten jeder Entwickler.

<Steps>
  <Step title="Eine Anwendung in deinem Identitätsanbieter registrieren">
    Registriere eine native („öffentliche“) Anwendung mit diesen Eigenschaften:

    * Kein Client-Secret
    * Authorization Code Grant mit PKCE
    * Redirect-URI `http://127.0.0.1/callback`

    Manche Anbieter benötigen eine der [anderen Redirect-URIs](https://platform.claude.com/docs/de/managed-agents/self-hosted/configure#other-redirect-uris).
  </Step>

  <Step title="Die Anwendung zum Aussteller-Eintrag hinzufügen">
    Füge `login_client_id` und `login_scopes` zum Aussteller-Eintrag hinzu und starte den Server neu:

    ```yaml
    login_client_id: 0oa1b2c3d4e5f6g7h8i9
    login_scopes: [openid, cma-server.access]
    ```

    `login_scopes` listet die Scopes auf, die dein Anbieter benötigt, um ein Token auszustellen, dessen `aud`-Claim in der `audiences`-Liste des Aussteller-Eintrags steht.
  </Step>

  <Step title="Anmelden">
    Jeder Entwickler führt die Anmeldung von der obersten Ebene des entpackten Archivs aus:

    ```bash
    ./cma-server-admin login https://cma.example.com
    ```

    Die URL des Servers muss mit `https://` beginnen oder mit `http://` auf `localhost`, `127.0.0.1` oder `::1` verweisen. Bei einer der [anderen Redirect-URIs](https://platform.claude.com/docs/de/managed-agents/self-hosted/configure#other-redirect-uris) füge ihr Flag zum Befehl hinzu.

    Der Befehl öffnet die Anmeldeseite des Anbieters in einem Browser und schreibt dann ein `ant` CLI-Profil namens `cma-server`. Übergib `--profile cma-server` an einen beliebigen `ant`-Befehl oder führe `ant profile activate cma-server` aus, um das Profil zum Standard zu machen.
  </Step>
</Steps>

Wenn das Token abläuft, führt der Entwickler `login` erneut aus. Damit die `ant` CLI das Token stattdessen erneuert, füge `offline_access` zu `login_scopes` hinzu.

### Andere Redirect-URIs

| Anbieter                                         | Zu registrierende Redirect-URI                                  | Flag, das Entwickler zum `login`-Befehl hinzufügen |
| ------------------------------------------------ | --------------------------------------------------------------- | -------------------------------------------------- |
| Microsoft Entra ID                               | `http://localhost/callback`                                     | `-listen localhost:0`                              |
| Einer, der den Port in der Redirect-URI verlangt | Eine URI mit festem Port, etwa `http://127.0.0.1:8123/callback` | `-listen 127.0.0.1:8123`                           |

Um die anderen Flags aufzulisten, füge `-h` zum `login`-Befehl hinzu.

## Personen die Anmeldung an der Konsole auf deinem Server ermöglichen

Die Konsole auf deinem Server meldet Personen über die Anwendung an, die du für die [Terminal-Anmeldung](https://platform.claude.com/docs/de/managed-agents/self-hosted/configure#let-developers-log-in-from-a-terminal) registriert hast. Um ihre Einrichtung abzuschließen, siehe [Anmeldung einrichten](https://platform.claude.com/docs/de/managed-agents/self-hosted/console#set-up-sign-in).
