Você pode abordar a entidade de serviço usando sua id ou appId.
Id e appId são chamados de ID de Objeto e ID do Aplicativo (Cliente), respectivamente, em registros de aplicativo no centro de administração do Microsoft Entra.
No corpo da solicitação, forneça os valores para os campos relevantes que devem ser atualizados. As propriedades existentes que não estão incluídas no corpo da solicitação mantêm seus valores anteriores ou são recalculadas com base em alterações em outros valores de propriedade. Para obter um melhor desempenho, não inclua valores existentes que não foram alterados.
Propriedade
Tipo
Descrição
accountEnabled
Boolean
True se a entidade de serviço estiver habilitada; caso contrário, false.
Define o comportamento personalizado que um serviço de consumo pode usar para chamar um aplicativo em contextos específicos. Por exemplo, aplicativos que podem renderizar fluxos de arquivo podem definir a propriedade addIns para a funcionalidade "FileHandler". Isso permite que serviços como o Microsoft 365 chamem o aplicativo no contexto de um documento em que o usuário está trabalhando.
alternativeNames
Coleção de cadeias de caracteres
Usado para recuperar entidades de serviço por assinatura, identifique o grupo de recursos e as IDs completas de recursos para identidades gerenciadas.
appRoleAssignmentRequired
Booliano
Especifica se um appRoleAssignment para um usuário ou grupo é necessário antes de Microsoft Entra ID emitirá um usuário ou um token de acesso ao aplicativo. Não anulável.
As funções do aplicativo expostas pelo aplicativo associado. Para obter mais informações, consulte a definição de propriedade appRoles no recurso de aplicativo . Não anulável.
Um tipo complexo aberto que contém o valor de um atributo de segurança personalizado atribuído a um objeto de diretório.
Para atualizar este imóvel, o responsável pela chamada deve ser designado como Administrador de Atribuição de Atributos e deve receber a permissão CustomSecAttributeAssignment.ReadWrite.All.
displayName
String
O nome de exibição da entidade de serviço.
homepage
Cadeia de caracteres
Página inicial ou página de aterrissagem do aplicativo.
A coleção de credenciais principais associada à entidade de serviço. Não anulável.
logoutUrl
Cadeia de caracteres
Especifica a URL que será usada pelo serviço de autorização da Microsoft para fazer logon de um usuário usando protocolos de logon front-channel, back-channel ou SAML.
As permissões do escopo OAuth 2.0 expostas pelo aplicativo associado. Para obter mais informações, consulte a definição da propriedade oauth2PermissionScopes no recurso do aplicativo . Não anulável.
preferredSingleSignOnMode
cadeia de caracteres
Especifica o modo de logon único configurado para este aplicativo. Microsoft Entra ID usa o modo de logon único preferencial para iniciar o aplicativo do Microsoft 365 ou do portal Meus Aplicativos. Os valores com suporte são: password, saml, external, e oidc.
replyUrls
String collection
As URLs às quais os tokens de usuário são enviados para entrar com aplicativo associado ou os URIs de redirecionamento aos quais os códigos de autorização do OAuth 2.0 e tokens de acesso são enviados para o aplicativo associado. Não anulável.
servicePrincipalNames
Coleção de cadeias de caracteres
Contém a lista de identificadoresUris, copiados do aplicativo associado. É possível adicionar valores adicionais aos aplicativos híbridos. Esses valores podem ser usados para identificar as permissões expostas por este aplicativo em Microsoft Entra ID. Por exemplo,
Os aplicativos cliente solicitando permissões para este recurso podem usar esses URIs para especificar as permissões necessárias na propriedade requiredResourceAccess do manifesto do aplicativo, ou na lâmina "permissões de API" na experiência de registros de aplicativos.
Os aplicativos cliente podem especificar um URI de recurso com base nos valores dessa propriedade para adquirir um token de acesso, que é o URI retornado na declaração "aud".
O operador any é obrigatório para expressões de filtro em propriedades de vários valores. Não anulável.
tags
Coleção String
Sequências personalizadas que podem ser usadas para categorizar e identificar o aplicativo. Não anulável.
tokenEncryptionKeyId
Cadeia de caracteres
Especifica a keyId de uma chave pública da coleção keyCredentials. Quando configurado, Microsoft Entra ID emite tokens para este aplicativo criptografados usando a chave especificada por essa propriedade. O código de aplicativo que recebe o token criptografado deve usar a chave privada correspondente para descriptografar o token a fim de que ele possa ser usado para o usuário conectado.
Resposta
Se bem-sucedido, este método retorna um código de resposta 204 No Content e um objeto atualizado servicePrincipal no corpo da resposta.
Exemplo
Exemplo 1: Propriedades de atualização do princípio de serviço especificado
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new ServicePrincipal
{
AppRoleAssignmentRequired = true,
};
// 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}"].PatchAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewServicePrincipal()
appRoleAssignmentRequired := true
requestBody.SetAppRoleAssignmentRequired(&appRoleAssignmentRequired)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
servicePrincipals, err := graphClient.ServicePrincipals().ByServicePrincipalId("servicePrincipal-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);
ServicePrincipal servicePrincipal = new ServicePrincipal();
servicePrincipal.setAppRoleAssignmentRequired(true);
ServicePrincipal result = graphClient.servicePrincipals().byServicePrincipalId("{servicePrincipal-id}").patch(servicePrincipal);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\ServicePrincipal;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ServicePrincipal();
$requestBody->setAppRoleAssignmentRequired(true);
$result = $graphServiceClient->servicePrincipals()->byServicePrincipalId('servicePrincipal-id')->patch($requestBody)->wait();
O exemplo a seguir mostra a resposta. Observação: O objeto de resposta exibido aqui pode ser encurtado para legibilidade.
HTTP/1.1 204 No Content
Exemplo 2: atribuir um atributo de segurança personalizado com um valor de cadeia de caracteres a um principal de serviço
O exemplo a seguir mostra como atribuir um atributo de segurança customizado com um valor de cadeia de caracteres a um principal de serviço.
Conjunto de atributos: Engineering
Atributo: ProjectDate
Tipo de dados de atributo: cadeia de caracteres
Valor do atributo: "2022-10-01"
Para atribuir atributos de segurança personalizados, o principal de chamada deve ser atribuído à função de Administrador de Atribuição de Atributo e deve receber a permissão CustomSecAttributeAssignment.ReadWrite.All.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
using Microsoft.Kiota.Abstractions.Serialization;
var requestBody = new ServicePrincipal
{
CustomSecurityAttributes = new CustomSecurityAttributeValue
{
AdditionalData = new Dictionary<string, object>
{
{
"Engineering" , new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"@odata.type", new UntypedString("#Microsoft.DirectoryServices.CustomSecurityAttributeValue")
},
{
"projectDate", new UntypedString("2022-10-01")
},
})
},
},
},
};
// 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}"].PatchAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewServicePrincipal()
customSecurityAttributes := graphmodels.NewCustomSecurityAttributeValue()
additionalData := map[string]interface{}{
engineering := graph.New()
projectDate := "2022-10-01"
engineering.SetProjectDate(&projectDate)
customSecurityAttributes.SetEngineering(engineering)
}
customSecurityAttributes.SetAdditionalData(additionalData)
requestBody.SetCustomSecurityAttributes(customSecurityAttributes)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
servicePrincipals, err := graphClient.ServicePrincipals().ByServicePrincipalId("servicePrincipal-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);
ServicePrincipal servicePrincipal = new ServicePrincipal();
CustomSecurityAttributeValue customSecurityAttributes = new CustomSecurityAttributeValue();
HashMap<String, Object> additionalData = new HashMap<String, Object>();
engineering = new ();
engineering.setOdataType("#Microsoft.DirectoryServices.CustomSecurityAttributeValue");
engineering.setProjectDate("2022-10-01");
additionalData.put("Engineering", engineering);
customSecurityAttributes.setAdditionalData(additionalData);
servicePrincipal.setCustomSecurityAttributes(customSecurityAttributes);
ServicePrincipal result = graphClient.servicePrincipals().byServicePrincipalId("{servicePrincipal-id}").patch(servicePrincipal);