Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Namespace: microsoft.graph
Wichtig
Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.
Fügt einem servicePrincipal eine Schlüsselanmeldeinformation hinzu. Diese Methode kann zusammen mit removeKey von einem servicePrincipal verwendet werden, um das Rollieren seiner ablaufenden Schlüssel zu automatisieren.
Hinweis
"servicePrincipal" erstellen und "servicePrincipal" aktualisieren können weiterhin verwendet werden, um wichtige Anmeldeinformationen für jeden servicePrincipal mit oder ohne Benutzerkontext hinzuzufügen und zu aktualisieren.
Im Rahmen der Anforderungsvalidierung für diese Methode wird ein Nachweis des Besitzes eines vorhandenen Schlüssels überprüft, bevor die Aktion ausgeführt werden kann.
ServicePrincipals, für die noch keine gültigen Zertifikate vorhanden sind (d. h. es wurden noch keine Zertifikate hinzugefügt oder alle Zertifikate sind abgelaufen), können diese Dienstaktion nicht verwenden. "Update servicePrincipal " kann stattdessen verwendet werden, um ein Update durchzuführen.
Berechtigungen
Wählen Sie die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.
| Berechtigungstyp | Berechtigungen mit den geringsten Berechtigungen | Berechtigungen mit höheren Berechtigungen |
|---|---|---|
| Delegiert (Geschäfts-, Schul- oder Unikonto) | Application.ReadWrite.All | Directory.ReadWrite.All |
| Delegiert (persönliches Microsoft-Konto) | Nicht unterstützt | Nicht unterstützt |
| Application | Application.ReadWrite.OwnedBy | Application.ReadWrite.All, Directory.ReadWrite.All |
Wichtig
Für den delegierten Zugriff mit Geschäfts-, Schul- oder Unikonten muss dem angemeldeten Benutzer eine unterstützte Microsoft Entra-Rolle oder eine benutzerdefinierte Rolle zugewiesen werden, die die für diesen Vorgang erforderlichen Berechtigungen gewährt. Dieser Vorgang unterstützt die folgenden integrierten Rollen, die nur die geringstmöglichen Berechtigungen gewähren:
- Ein Nicht-Administrator-Mitgliedsbenutzer mit Standardbenutzerberechtigungen – für Anwendungen, deren Besitzer
- Anwendungsentwickler - für Anwendungen, die sie besitzen
- Cloudanwendungsadministrator
- Anwendungsadministrator
HTTP-Anforderung
Sie können den Dienstprinzipal entweder über seine ID oder appId ansprechen. ID und appId werden bei App-Registrierungen im Microsoft Entra Admin Center als Objekt-ID bzw. Anwendungs-ID (Client-ID) bezeichnet.
POST /servicePrincipals/{id}/addKey
POST /servicePrincipals(appId='{appId}')/addKey
Anforderungsheader
| Name | Beschreibung |
|---|---|
| Authorization | Bearer {token}. Erforderlich. Erfahren Sie mehr über Authentifizierung und Autorisierung. |
| Content-Type | application/json. Erforderlich. |
Anforderungstext
Geben Sie im Anforderungstext die folgenden erforderlichen Eigenschaften an.
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
| keyCredential | keyCredential | Die neuen servicePrincipal-Schlüsselanmeldeinformationen, die hinzugefügt werden sollen.
Typ, Verwendung und Schlüssel sind erforderliche Eigenschaften für diese Verwendung. Folgende Schlüsseltypen werden unterstützt:
|
| passwordCredential | passwordCredential | Es muss nur secretText eingestellt werden, der das Passwort für den Schlüssel enthalten soll. Diese Eigenschaft ist nur für Schlüssel des Typs X509CertAndPassword. Legen Sie ihn auf einen anderen Wert fest null . |
| Beweis | Zeichenfolge | Ein selbstsignierter JWT-Token, der als Nachweis des Besitzes der vorhandenen Schlüssel verwendet wird. Dieses JWT Token muss mit einem privaten Schlüssel signiert werden, der einem der vorhandenen gültigen Zertifikate entspricht, die mit dem servicePrincipal verknüpft sind. Das Token sollte den folgenden Anforderungen enthalten:
Schritte zum Generieren dieses Besitznachweis-Tokens finden Sie unter Generieren von Besitznachweis-Token für Rolling Keys. |
Antwort
Bei erfolgreicher Ausführung gibt diese Methode einen 200 OK Antwortcode und ein neues keyCredential-Objekt im Antworttext zurück.
Beispiele
Beispiel 1: Hinzufügen neuer Schlüsselanmeldeinformationen zu einem servicePrincipal
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
POST https://graph.microsoft.com/beta/servicePrincipals/{id}/addKey
Content-type: application/json
{
"keyCredential": {
"type": "AsymmetricX509Cert",
"usage": "Verify",
"key": "MIIDYDCCAki..."
},
"passwordCredential": null,
"proof":"eyJ0eXAiOiJ..."
}
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#microsoft.graph.keyCredential"
}
Beispiel 2: Hinzufügen von Anmeldeinformationen für den Schlüssel und einem zugeordneten Kennwort für den Schlüssel
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
POST https://graph.microsoft.com/beta/servicePrincipals/{id}/addKey
Content-type: application/json
{
"keyCredential": {
"type": "X509CertAndPassword",
"usage": "Sign",
"key": "MIIDYDCCAki..."
},
"passwordCredential": {
"secretText": "MKTr0w1..."
},
"proof":"eyJ0eXAiOiJ..."
}
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#microsoft.graph.keyCredential"
}