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.
Geben Sie die Anmeldeinformationen zum Herstellen einer Verbindung mit dem Zielsystem an, und speichern Sie sie in der Synchronisierungsressource .
Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.
| Weltweiter Service |
US Government L4 |
US Government L5 (DOD) |
China, betrieben von 21Vianet |
| ✅ |
✅ |
✅ |
✅ |
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) |
Synchronization.ReadWrite.All |
Nicht verfügbar. |
| Delegiert (persönliches Microsoft-Konto) |
Nicht unterstützt |
Nicht unterstützt |
| Application |
Application.ReadWrite.OwnedBy |
Synchronization.ReadWrite.All |
Wichtig
Für den delegierten Zugriff mit Geschäfts-, Schul- oder Unikonten muss der angemeldete Benutzer Besitzer oder Mitglied der Gruppe sein oder ihm muss eine unterstützte Microsoft Entra-Rolle oder eine benutzerdefinierte Rolle zugewiesen werden, die die für diesen Vorgang erforderlichen Berechtigungen erteilt. Dieser Vorgang unterstützt die folgenden integrierten Rollen, die nur die geringstmöglichen Berechtigungen gewähren:
- Anwendungsadministrator
- Cloudanwendungsadministrator
- Administrator für Hybrididentitäten – zum Konfigurieren von Microsoft Entra Cloud Sync
HTTP-Anforderung
PUT /servicePrincipals/{id}/synchronization/secrets
Anforderungstext
Geben Sie im Anforderungstext ein JSON-Objekt mit den folgenden Parametern an.
| Parameter |
Typ |
Beschreibung |
| Anmeldeinformationen |
synchronizationSecretKeyStringValuePair collection |
Zu validierende Anmeldeinformationen. Wird ignoriert, wenn der Parameter useSavedCredentials lautet true. |
Antwort
Wenn die Geheimnisse erfolgreich gespeichert wurden, gibt diese Methode einen 204 No Content Antwortcode zurück. Sie gibt nichts im Antworttext zurück.
Beispiel
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
PUT https://graph.microsoft.com/beta/servicePrincipals/{id}/synchronization/secrets
Content-type: application/json
{
"value": [
{
"key": "BaseAddress",
"value": "user@domain.com"
},
{
"key": "SecretToken",
"value": "password-value"
},
{
"key": "SyncNotificationSettings",
"value": "{\"Enabled\":false,\"DeleteThresholdEnabled\":false}"
},
{
"key": "SyncAll",
"value": "false"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.ServicePrincipals.Item.Synchronization.Secrets;
using Microsoft.Graph.Beta.Models;
var requestBody = new SecretsPutRequestBody
{
Value = new List<SynchronizationSecretKeyStringValuePair>
{
new SynchronizationSecretKeyStringValuePair
{
Key = SynchronizationSecret.BaseAddress,
Value = "user@domain.com",
},
new SynchronizationSecretKeyStringValuePair
{
Key = SynchronizationSecret.SecretToken,
Value = "password-value",
},
new SynchronizationSecretKeyStringValuePair
{
Key = SynchronizationSecret.SyncNotificationSettings,
Value = "{\"Enabled\":false,\"DeleteThresholdEnabled\":false}",
},
new SynchronizationSecretKeyStringValuePair
{
Key = SynchronizationSecret.SyncAll,
Value = "false",
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.ServicePrincipals["{servicePrincipal-id}"].Synchronization.Secrets.PutAsSecretsPutResponseAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphserviceprincipals "github.com/microsoftgraph/msgraph-beta-sdk-go/serviceprincipals"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphserviceprincipals.NewSecretsPutRequestBody()
synchronizationSecretKeyStringValuePair := graphmodels.NewSynchronizationSecretKeyStringValuePair()
key := graphmodels.BASEADDRESS_SYNCHRONIZATIONSECRET
synchronizationSecretKeyStringValuePair.SetKey(&key)
value := "user@domain.com"
synchronizationSecretKeyStringValuePair.SetValue(&value)
synchronizationSecretKeyStringValuePair1 := graphmodels.NewSynchronizationSecretKeyStringValuePair()
key := graphmodels.SECRETTOKEN_SYNCHRONIZATIONSECRET
synchronizationSecretKeyStringValuePair1.SetKey(&key)
value := "password-value"
synchronizationSecretKeyStringValuePair1.SetValue(&value)
synchronizationSecretKeyStringValuePair2 := graphmodels.NewSynchronizationSecretKeyStringValuePair()
key := graphmodels.SYNCNOTIFICATIONSETTINGS_SYNCHRONIZATIONSECRET
synchronizationSecretKeyStringValuePair2.SetKey(&key)
value := "{\"Enabled\":false,\"DeleteThresholdEnabled\":false}"
synchronizationSecretKeyStringValuePair2.SetValue(&value)
synchronizationSecretKeyStringValuePair3 := graphmodels.NewSynchronizationSecretKeyStringValuePair()
key := graphmodels.SYNCALL_SYNCHRONIZATIONSECRET
synchronizationSecretKeyStringValuePair3.SetKey(&key)
value := "false"
synchronizationSecretKeyStringValuePair3.SetValue(&value)
value := []graphmodels.SynchronizationSecretKeyStringValuePairable {
synchronizationSecretKeyStringValuePair,
synchronizationSecretKeyStringValuePair1,
synchronizationSecretKeyStringValuePair2,
synchronizationSecretKeyStringValuePair3,
}
requestBody.SetValue(value)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
secrets, err := graphClient.ServicePrincipals().ByServicePrincipalId("servicePrincipal-id").Synchronization().Secrets().PutAsSecretsPutResponse(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.serviceprincipals.item.synchronization.secrets.SecretsPutRequestBody secretsPutRequestBody = new com.microsoft.graph.beta.serviceprincipals.item.synchronization.secrets.SecretsPutRequestBody();
LinkedList<SynchronizationSecretKeyStringValuePair> value = new LinkedList<SynchronizationSecretKeyStringValuePair>();
SynchronizationSecretKeyStringValuePair synchronizationSecretKeyStringValuePair = new SynchronizationSecretKeyStringValuePair();
synchronizationSecretKeyStringValuePair.setKey(SynchronizationSecret.BaseAddress);
synchronizationSecretKeyStringValuePair.setValue("user@domain.com");
value.add(synchronizationSecretKeyStringValuePair);
SynchronizationSecretKeyStringValuePair synchronizationSecretKeyStringValuePair1 = new SynchronizationSecretKeyStringValuePair();
synchronizationSecretKeyStringValuePair1.setKey(SynchronizationSecret.SecretToken);
synchronizationSecretKeyStringValuePair1.setValue("password-value");
value.add(synchronizationSecretKeyStringValuePair1);
SynchronizationSecretKeyStringValuePair synchronizationSecretKeyStringValuePair2 = new SynchronizationSecretKeyStringValuePair();
synchronizationSecretKeyStringValuePair2.setKey(SynchronizationSecret.SyncNotificationSettings);
synchronizationSecretKeyStringValuePair2.setValue("{\"Enabled\":false,\"DeleteThresholdEnabled\":false}");
value.add(synchronizationSecretKeyStringValuePair2);
SynchronizationSecretKeyStringValuePair synchronizationSecretKeyStringValuePair3 = new SynchronizationSecretKeyStringValuePair();
synchronizationSecretKeyStringValuePair3.setKey(SynchronizationSecret.SyncAll);
synchronizationSecretKeyStringValuePair3.setValue("false");
value.add(synchronizationSecretKeyStringValuePair3);
secretsPutRequestBody.setValue(value);
var result = graphClient.servicePrincipals().byServicePrincipalId("{servicePrincipal-id}").synchronization().secrets().put(secretsPutRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const secrets = {
value: [
{
key: 'BaseAddress',
value: 'user@domain.com'
},
{
key: 'SecretToken',
value: 'password-value'
},
{
key: 'SyncNotificationSettings',
value: '{\"Enabled\':false,\'DeleteThresholdEnabled\':false}"
},
{
key: 'SyncAll',
value: 'false'
}
]
};
await client.api('/servicePrincipals/{id}/synchronization/secrets')
.version('beta')
.put(secrets);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\ServicePrincipals\Item\Synchronization\Secrets\SecretsPutRequestBody;
use Microsoft\Graph\Beta\Generated\Models\SynchronizationSecretKeyStringValuePair;
use Microsoft\Graph\Beta\Generated\Models\SynchronizationSecret;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new SecretsPutRequestBody();
$valueSynchronizationSecretKeyStringValuePair1 = new SynchronizationSecretKeyStringValuePair();
$valueSynchronizationSecretKeyStringValuePair1->setKey(new SynchronizationSecret('baseAddress'));
$valueSynchronizationSecretKeyStringValuePair1->setValue('user@domain.com');
$valueArray []= $valueSynchronizationSecretKeyStringValuePair1;
$valueSynchronizationSecretKeyStringValuePair2 = new SynchronizationSecretKeyStringValuePair();
$valueSynchronizationSecretKeyStringValuePair2->setKey(new SynchronizationSecret('secretToken'));
$valueSynchronizationSecretKeyStringValuePair2->setValue('password-value');
$valueArray []= $valueSynchronizationSecretKeyStringValuePair2;
$valueSynchronizationSecretKeyStringValuePair3 = new SynchronizationSecretKeyStringValuePair();
$valueSynchronizationSecretKeyStringValuePair3->setKey(new SynchronizationSecret('syncNotificationSettings'));
$valueSynchronizationSecretKeyStringValuePair3->setValue('{\"Enabled\":false,\"DeleteThresholdEnabled\":false}');
$valueArray []= $valueSynchronizationSecretKeyStringValuePair3;
$valueSynchronizationSecretKeyStringValuePair4 = new SynchronizationSecretKeyStringValuePair();
$valueSynchronizationSecretKeyStringValuePair4->setKey(new SynchronizationSecret('syncAll'));
$valueSynchronizationSecretKeyStringValuePair4->setValue('false');
$valueArray []= $valueSynchronizationSecretKeyStringValuePair4;
$requestBody->setValue($valueArray);
$result = $graphServiceClient->servicePrincipals()->byServicePrincipalId('servicePrincipal-id')->synchronization()->secrets()->put($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Applications
$params = @{
value = @(
@{
key = "BaseAddress"
value = "user@domain.com"
}
@{
key = "SecretToken"
value = "password-value"
}
@{
key = "SyncNotificationSettings"
value = '{"Enabled":false,"DeleteThresholdEnabled":false}'
}
@{
key = "SyncAll"
value = "false"
}
)
}
Set-MgBetaServicePrincipalSynchronizationSecret -ServicePrincipalId $servicePrincipalId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.serviceprincipals.item.synchronization.secrets.secrets_put_request_body import SecretsPutRequestBody
from msgraph_beta.generated.models.synchronization_secret_key_string_value_pair import SynchronizationSecretKeyStringValuePair
from msgraph_beta.generated.models.synchronization_secret import SynchronizationSecret
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = SecretsPutRequestBody(
value = [
SynchronizationSecretKeyStringValuePair(
key = SynchronizationSecret.BaseAddress,
value = "user@domain.com",
),
SynchronizationSecretKeyStringValuePair(
key = SynchronizationSecret.SecretToken,
value = "password-value",
),
SynchronizationSecretKeyStringValuePair(
key = SynchronizationSecret.SyncNotificationSettings,
value = "{\"Enabled\":false,\"DeleteThresholdEnabled\":false}",
),
SynchronizationSecretKeyStringValuePair(
key = SynchronizationSecret.SyncAll,
value = "false",
),
],
)
result = await graph_client.service_principals.by_service_principal_id('servicePrincipal-id').synchronization.secrets.put(request_body)
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 204 No Content