Espace de noms: microsoft.graph
Importante
Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .
Mettez à jour la ressource mutualTlsOauthConfiguration spécifiée.
Vous pouvez uniquement mettre à jour les deux propriétés suivantes : displayName, certificateAuthority.
Pour mettre à jour un sous-ensemble d’objets dans la collection certificateAuthorities , commencez par obtenir la liste complète, apportez vos modifications, puis enregistrez l’intégralité du contenu de la liste d’attributs certificateAuthorities dans le corps de la demande. L’exclusion d’un sous-ensemble d’objets les supprime de la collection.
Cette API est disponible dans les déploiements de cloud national suivants.
| Service global |
Gouvernement des États-Unis L4 |
Us Government L5 (DOD) |
Chine gérée par 21Vianet |
| ✅ |
❌ |
❌ |
❌ |
Autorisations
Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.
| Type d’autorisation |
Autorisations avec privilèges minimum |
Autorisations privilégiées plus élevées |
| Déléguée (compte professionnel ou scolaire) |
MutualTlsOauthConfiguration.ReadWrite.All |
Non disponible. |
| Déléguée (compte Microsoft personnel) |
Non prise en charge. |
Non prise en charge. |
| Application |
MutualTlsOauthConfiguration.ReadWrite.All |
Non disponible. |
Importante
Dans les scénarios délégués avec des comptes professionnels ou scolaires, l’utilisateur connecté doit se voir attribuer un rôle Microsoft Entra pris en charge ou un rôle personnalisé avec une autorisation de rôle prise en charge. Les rôles les moins privilégiés suivants sont pris en charge pour cette opération :
- Administrateur d’appareil cloud
- Administrateur d’appareil IoT
Requête HTTP
PATCH /directory/certificateAuthorities/mutualTlsOauthConfigurations/{mutualTlsOauthConfigurationId}
Corps de la demande
Dans le corps de la demande, fournissez une représentation JSON de l’objet mutualTlsOauthConfiguration .
Vous pouvez spécifier les propriétés suivantes lorsque vous mettez à jour une mutualTlsOauthConfiguration.
| Propriété |
Type |
Description |
| certificateAuthority |
collection certificateAuthority |
Propriété à valeurs multiples qui représente une liste d’autorités de certification approuvées. |
| displayName |
String |
Nom convivial. |
Réponse
Si elle réussit, cette méthode renvoie un 200 OK code de réponse et un objet mutualTlsOauthConfiguration dans le corps de la réponse. Si un échec de validation se produit pendant les étapes de validation du certificat, la méthode retourne un 400 Bad Request avec le message d’erreur , Invalid value specified for property 'certificate' of resource 'CertificateAuthorityInformation'. Pour plus d’informations, consultez Réponses d’erreur microsoft Graph et types de ressources.
Exemples
Exemple 1 : Mettre à jour le nom complet
L’exemple suivant montre comment mettre à jour le nom complet d’un objet mutualTlsOauthConfiguration de DoorCamera_Model_X_TrustedCAs vers THIS_IS_A_NEW_NAME.
Demande
L’exemple suivant illustre une demande.
PATCH https://graph.microsoft.com/beta/directory/certificateAuthorities/mutualTlsOauthConfigurations/eec5ba11-2fc0-4113-83a2-ed986ed13cdb
Content-Type: application/json
{
"displayName": "THIS_IS_A_NEW_NAME"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new MutualTlsOauthConfiguration
{
DisplayName = "THIS_IS_A_NEW_NAME",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Directory.CertificateAuthorities.MutualTlsOauthConfigurations["{mutualTlsOauthConfiguration-id}"].PatchAsync(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"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewMutualTlsOauthConfiguration()
displayName := "THIS_IS_A_NEW_NAME"
requestBody.SetDisplayName(&displayName)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
mutualTlsOauthConfigurations, err := graphClient.Directory().CertificateAuthorities().MutualTlsOauthConfigurations().ByMutualTlsOauthConfigurationId("mutualTlsOauthConfiguration-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
MutualTlsOauthConfiguration mutualTlsOauthConfiguration = new MutualTlsOauthConfiguration();
mutualTlsOauthConfiguration.setDisplayName("THIS_IS_A_NEW_NAME");
MutualTlsOauthConfiguration result = graphClient.directory().certificateAuthorities().mutualTlsOauthConfigurations().byMutualTlsOauthConfigurationId("{mutualTlsOauthConfiguration-id}").patch(mutualTlsOauthConfiguration);
const options = {
authProvider,
};
const client = Client.init(options);
const mutualTlsOauthConfiguration = {
displayName: 'THIS_IS_A_NEW_NAME'
};
await client.api('/directory/certificateAuthorities/mutualTlsOauthConfigurations/eec5ba11-2fc0-4113-83a2-ed986ed13cdb')
.version('beta')
.update(mutualTlsOauthConfiguration);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\MutualTlsOauthConfiguration;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new MutualTlsOauthConfiguration();
$requestBody->setDisplayName('THIS_IS_A_NEW_NAME');
$result = $graphServiceClient->directory()->certificateAuthorities()->mutualTlsOauthConfigurations()->byMutualTlsOauthConfigurationId('mutualTlsOauthConfiguration-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
$params = @{
displayName = "THIS_IS_A_NEW_NAME"
}
Update-MgBetaDirectoryCertificateAuthorityMutualTlOauthConfiguration -MutualTlsOauthConfigurationId $mutualTlsOauthConfigurationId -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.models.mutual_tls_oauth_configuration import MutualTlsOauthConfiguration
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = MutualTlsOauthConfiguration(
display_name = "THIS_IS_A_NEW_NAME",
)
result = await graph_client.directory.certificate_authorities.mutual_tls_oauth_configurations.by_mutual_tls_oauth_configuration_id('mutualTlsOauthConfiguration-id').patch(request_body)
Réponse
L’exemple suivant illustre la réponse.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#directory/certificateAuthorities/mutualTlsOauthConfigurations/$entity",
"id":"eec5ba11-2fc0-4113-83a2-ed986ed13cdb",
"displayName": "THIS_IS_A_NEW_NAME",
"tlsClientAuthParameter": "tls_client_auth_subject_dn",
"certificateAuthorities": [
{
"@odata.type": "microsoft.graph.certificateAuthority"
}
]
}
Exemple 2 : Supprimer un certificat de la liste des certificateAuthorities
Cet exemple suppose que l’objet d’origine stocké a la valeur suivante. Notez que la ressource de départ contient deux valeurs dans la liste des autorités de certification.
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#directory/certificateAuthorities/mutualTlsOauthConfigurations/$entity",
"id": "eec5ba11-2fc0-4113-83a2-ed986ed13cdb",
"displayName": "DoorCamera_Model_X_TrustedCAs",
"tlsClientAuthParameter": "tls_client_auth_subject_dn",
"certificateAuthorities": [
{
"isRootAuthority": true,
"certificateRevocationListUrl": "http://LakeshoreRetail.com/root.crl",
"deltaCertificateRevocationListUrl": null,
"certificate": "joGrWL+Yqkik/CABWG0d1w....",
"issuer": "Lakeshore Retail",
"issuerSubjectkeyIdentifier": "SKI"
},
{
"isRootAuthority": true,
"certificateRevocationListUrl": "http://LakeshoreRetail.com/root.crl",
"deltaCertificateRevocationListUrl": null,
"certificate": "koGrWL+Yqkik/CABWG0d1w....",
"issuer": "Lakeshore Retail",
"issuerSubjectkeyIdentifier": "SKI"
}
]
}
Demande
L’exemple suivant montre une demande qui met à jour la liste des autorités de certification pour ne contenir qu’un seul certificat, ce qui supprime l’autre.
PATCH https://graph.microsoft.com/beta/directory/certificateAuthorities/mutualTlsOauthConfigurations/00001111-aaaa-2222-bbbb-3333cccc4444
Content-Type: application/json
{
"certificateAuthorities": [
{
"isRootAuthority": true,
"certificateRevocationListUrl": "http://LakeshoreRetail.com/root.crl",
"deltaCertificateRevocationListUrl": null,
"certificate": "Binary",
"issuer": "Lakeshore Retail",
"issuerSubjectkeyIdentifier": "SKI"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new MutualTlsOauthConfiguration
{
CertificateAuthorities = new List<CertificateAuthority>
{
new CertificateAuthority
{
IsRootAuthority = true,
CertificateRevocationListUrl = "http://LakeshoreRetail.com/root.crl",
DeltaCertificateRevocationListUrl = null,
Certificate = Convert.FromBase64String("Binary"),
Issuer = "Lakeshore Retail",
AdditionalData = new Dictionary<string, object>
{
{
"issuerSubjectkeyIdentifier" , "SKI"
},
},
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Directory.CertificateAuthorities.MutualTlsOauthConfigurations["{mutualTlsOauthConfiguration-id}"].PatchAsync(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"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewMutualTlsOauthConfiguration()
certificateAuthority := graphmodels.NewCertificateAuthority()
isRootAuthority := true
certificateAuthority.SetIsRootAuthority(&isRootAuthority)
certificateRevocationListUrl := "http://LakeshoreRetail.com/root.crl"
certificateAuthority.SetCertificateRevocationListUrl(&certificateRevocationListUrl)
deltaCertificateRevocationListUrl := null
certificateAuthority.SetDeltaCertificateRevocationListUrl(&deltaCertificateRevocationListUrl)
certificate := []byte("binary")
certificateAuthority.SetCertificate(&certificate)
issuer := "Lakeshore Retail"
certificateAuthority.SetIssuer(&issuer)
additionalData := map[string]interface{}{
"issuerSubjectkeyIdentifier" : "SKI",
}
certificateAuthority.SetAdditionalData(additionalData)
certificateAuthorities := []graphmodels.CertificateAuthorityable {
certificateAuthority,
}
requestBody.SetCertificateAuthorities(certificateAuthorities)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
mutualTlsOauthConfigurations, err := graphClient.Directory().CertificateAuthorities().MutualTlsOauthConfigurations().ByMutualTlsOauthConfigurationId("mutualTlsOauthConfiguration-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
MutualTlsOauthConfiguration mutualTlsOauthConfiguration = new MutualTlsOauthConfiguration();
LinkedList<CertificateAuthority> certificateAuthorities = new LinkedList<CertificateAuthority>();
CertificateAuthority certificateAuthority = new CertificateAuthority();
certificateAuthority.setIsRootAuthority(true);
certificateAuthority.setCertificateRevocationListUrl("http://LakeshoreRetail.com/root.crl");
certificateAuthority.setDeltaCertificateRevocationListUrl(null);
byte[] certificate = Base64.getDecoder().decode("Binary");
certificateAuthority.setCertificate(certificate);
certificateAuthority.setIssuer("Lakeshore Retail");
HashMap<String, Object> additionalData = new HashMap<String, Object>();
additionalData.put("issuerSubjectkeyIdentifier", "SKI");
certificateAuthority.setAdditionalData(additionalData);
certificateAuthorities.add(certificateAuthority);
mutualTlsOauthConfiguration.setCertificateAuthorities(certificateAuthorities);
MutualTlsOauthConfiguration result = graphClient.directory().certificateAuthorities().mutualTlsOauthConfigurations().byMutualTlsOauthConfigurationId("{mutualTlsOauthConfiguration-id}").patch(mutualTlsOauthConfiguration);
const options = {
authProvider,
};
const client = Client.init(options);
const mutualTlsOauthConfiguration = {
certificateAuthorities: [
{
isRootAuthority: true,
certificateRevocationListUrl: 'http://LakeshoreRetail.com/root.crl',
deltaCertificateRevocationListUrl: null,
certificate: 'Binary',
issuer: 'Lakeshore Retail',
issuerSubjectkeyIdentifier: 'SKI'
}
]
};
await client.api('/directory/certificateAuthorities/mutualTlsOauthConfigurations/00001111-aaaa-2222-bbbb-3333cccc4444')
.version('beta')
.update(mutualTlsOauthConfiguration);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\MutualTlsOauthConfiguration;
use Microsoft\Graph\Beta\Generated\Models\CertificateAuthority;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new MutualTlsOauthConfiguration();
$certificateAuthoritiesCertificateAuthority1 = new CertificateAuthority();
$certificateAuthoritiesCertificateAuthority1->setIsRootAuthority(true);
$certificateAuthoritiesCertificateAuthority1->setCertificateRevocationListUrl('http://LakeshoreRetail.com/root.crl');
$certificateAuthoritiesCertificateAuthority1->setDeltaCertificateRevocationListUrl(null);
$certificateAuthoritiesCertificateAuthority1->setCertificate(\GuzzleHttp\Psr7\Utils::streamFor(base64_decode('Binary')));
$certificateAuthoritiesCertificateAuthority1->setIssuer('Lakeshore Retail');
$additionalData = [
'issuerSubjectkeyIdentifier' => 'SKI',
];
$certificateAuthoritiesCertificateAuthority1->setAdditionalData($additionalData);
$certificateAuthoritiesArray []= $certificateAuthoritiesCertificateAuthority1;
$requestBody->setCertificateAuthorities($certificateAuthoritiesArray);
$result = $graphServiceClient->directory()->certificateAuthorities()->mutualTlsOauthConfigurations()->byMutualTlsOauthConfigurationId('mutualTlsOauthConfiguration-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
$params = @{
certificateAuthorities = @(
@{
isRootAuthority = $true
certificateRevocationListUrl = "http://LakeshoreRetail.com/root.crl"
deltaCertificateRevocationListUrl = $null
certificate = [System.Text.Encoding]::ASCII.GetBytes("Binary")
issuer = "Lakeshore Retail"
issuerSubjectkeyIdentifier = "SKI"
}
)
}
Update-MgBetaDirectoryCertificateAuthorityMutualTlOauthConfiguration -MutualTlsOauthConfigurationId $mutualTlsOauthConfigurationId -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.models.mutual_tls_oauth_configuration import MutualTlsOauthConfiguration
from msgraph_beta.generated.models.certificate_authority import CertificateAuthority
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = MutualTlsOauthConfiguration(
certificate_authorities = [
CertificateAuthority(
is_root_authority = True,
certificate_revocation_list_url = "http://LakeshoreRetail.com/root.crl",
delta_certificate_revocation_list_url = None,
certificate = base64.urlsafe_b64decode("Binary"),
issuer = "Lakeshore Retail",
additional_data = {
"issuer_subjectkey_identifier" : "SKI",
}
),
],
)
result = await graph_client.directory.certificate_authorities.mutual_tls_oauth_configurations.by_mutual_tls_oauth_configuration_id('mutualTlsOauthConfiguration-id').patch(request_body)
Réponse
L’exemple suivant illustre la réponse.
HTTP/1.1 200 OK
Location: "https://graph.microsoft.com/beta/directory/certificateAuthorities/mutualTlsOauthConfigurations/00001111-aaaa-2222-bbbb-3333cccc4444"
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#directory/certificateAuthorities/mutualTlsOauthConfigurations/$entity",
"id":"eec5ba11-2fc0-4113-83a2-ed986ed13cdb",
"displayName": "DoorCamera_Model_X_TrustedCAs",
"tlsClientAuthParameter": "tls_client_auth_subject_dn",
"certificateAuthorities": [
{
"isRootAuthority": true,
"certificateRevocationListUrl": "http://LakeshoreRetail.com/root.crl",
"deltaCertificateRevocationListUrl": null,
"certificate": "Binary",
"issuer": "Lakeshore Retail",
"issuerSubjectkeyIdentifier": "SKI"
}
]
}