Namespace: microsoft.graph
Importante
As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Atualize o recurso mutualTlsOauthConfiguration especificado.
Só pode atualizar as duas propriedades seguintes: displayName, certificateAuthority.
Para atualizar um subconjunto de objetos na coleção certificateAuthorities , obtenha primeiro a lista completa, faça as modificações e, em seguida, volte a publicar todo o conteúdo da lista de atributos certificateAuthorities no corpo do pedido. Excluir um subconjunto de objetos remove-os da coleção.
Esta API está disponível nas seguintes implementações de cloud nacionais.
| Serviço global |
US Government L4 |
US Government L5 (DOD) |
China operada pela 21Vianet |
| ✅ |
❌ |
❌ |
❌ |
Permissões
Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.
| Tipo de permissão |
Permissões com menos privilégios |
Permissões com privilégios superiores |
| Delegado (conta corporativa ou de estudante) |
MutualTlsOauthConfiguration.ReadWrite.All |
Indisponível. |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
| Application |
MutualTlsOauthConfiguration.ReadWrite.All |
Indisponível. |
Importante
Em cenários delegados com contas escolares ou profissionais, o utilizador com sessão iniciada tem de ter uma função de Microsoft Entra suportada ou uma função personalizada com uma permissão de função suportada. As seguintes funções com menos privilégios são suportadas para esta operação:
- Administrador de Dispositivos na Cloud
- Administrador de Dispositivos IoT
Solicitação HTTP
PATCH /directory/certificateAuthorities/mutualTlsOauthConfigurations/{mutualTlsOauthConfigurationId}
| Nome |
Descrição |
| Autorização |
{token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
| Content-Type |
application/json. Obrigatório. |
Corpo da solicitação
No corpo do pedido, forneça uma representação JSON do objeto mutualTlsOauthConfiguration .
Pode especificar as seguintes propriedades quando atualizar uma mutualTlsOauthConfiguration.
| Propriedade |
Tipo |
Descrição |
| certificateAuthority |
coleção certificateAuthority |
Propriedade de múltiplos valores que representa uma lista de autoridades de certificação fidedignas. |
| displayName |
Cadeia de caracteres |
Nome amigável. |
Resposta
Se for bem-sucedido, este método devolve um 200 OK código de resposta e um objeto mutualTlsOauthConfiguration no corpo da resposta. Se ocorrer uma falha de validação durante os passos de validação do certificado, o método devolve um 400 Bad Request juntamente com a mensagem de erro , Invalid value specified for property 'certificate' of resource 'CertificateAuthorityInformation'. Para obter mais informações, veja Respostas de erro e tipos de recursos do Microsoft Graph.
Exemplos
Exemplo 1: Atualizar o nome a apresentar
O exemplo seguinte mostra como atualizar o nome a apresentar de um objeto mutualTlsOauthConfiguration de DoorCamera_Model_X_TrustedCAs para THIS_IS_A_NEW_NAME.
Solicitação
O exemplo a seguir mostra uma solicitação.
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)
Resposta
O exemplo a seguir mostra a resposta.
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"
}
]
}
Exemplo 2: Remover um certificado da lista de certificateAuthorities
Este exemplo pressupõe que o objeto original armazenado tem o seguinte valor. Tenha em atenção que o recurso inicial contém dois valores na lista de autoridades de certificação.
{
"@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"
}
]
}
Solicitação
O exemplo seguinte mostra um pedido que atualiza a lista de autoridades de certificação para conter apenas um único certificado, o que remove o outro.
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)
Resposta
O exemplo a seguir mostra a resposta.
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"
}
]
}