servicePrincipal: addKey
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 Schlüsselanmeldeinformationen hinzu. Diese Methode kann zusammen mit removeKey von einem servicePrincipal verwendet werden, um das Rollrollen der ablaufenden Schlüssel zu automatisieren.
Hinweis
Die Vorgänge "servicePrincipal" und "Update servicePrincipal " können weiterhin verwendet werden, um Schlüsselanmeldeinformationen für jeden servicePrincipal mit oder ohne Benutzerkontext hinzuzufügen und zu aktualisieren.
Im Rahmen der Anforderungsüberprüfung für diese Methode wird ein Nachweis des Besitzes eines vorhandenen Schlüssels überprüft, bevor die Aktion ausgeführt werden kann.
ServicePrincipals, die über keine gültigen Zertifikate verfügen (d. h. noch keine Zertifikate hinzugefügt wurden oder alle Zertifikate abgelaufen sind), können diese Dienstaktion nicht verwenden. Update servicePrincipal kann stattdessen verwendet werden, um ein Update durchzuführen.
Berechtigungen
Wählen Sie für diese API die Als am wenigsten privilegierten Berechtigungen gekennzeichneten Berechtigungen aus. Verwenden Sie nur dann eine Berechtigung mit höheren Berechtigungen , wenn dies für Ihre App erforderlich ist. 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 |
Anwendung | Application.ReadWrite.OwnedBy | Application.ReadWrite.All, Directory.ReadWrite.All |
HTTP-Anforderung
Sie können den Dienstprinzipal entweder mit seiner ID oder appId adressieren. id und appId werden in 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 die 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. Unterstützte Schlüsseltypen sind:
|
passwordCredential | passwordCredential | Es muss nur secretText festgelegt werden, der das Kennwort für den Schlüssel enthalten soll. Diese Eigenschaft ist nur für Schlüssel vom Typ X509CertAndPassword erforderlich. Legen Sie andernfalls auf null fest. |
Beweis | String | Ein selbstsigniertes JWT-Token, das 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 dem servicePrincipal zugeordnet sind. Das Token sollte den folgenden Anforderungen enthalten:
Schritte zum Generieren dieses Besitznachweistokens finden Sie unter Generieren von Besitznachweistoken für rollende Schlüssel. |
Antwort
Bei erfolgreicher Ausführung gibt die Methode den 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 Schlüsselanmeldeinformationen 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"
}