Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Обновление объекта customClaimsPolicy .
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба |
Правительство США L4 |
Правительство США L5 (DOD) |
Китай управляется 21Vianet |
✅ |
❌ |
❌ |
❌ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения |
Разрешения с наименьшими привилегиями |
Более высокие привилегированные разрешения |
Делегированные (рабочая или учебная учетная запись) |
Policy.Read.ApplicationConfiguration |
Policy.ReadWrite.ApplicationConfiguration |
Делегированные (личная учетная запись Майкрософт) |
Не поддерживается. |
Не поддерживается. |
Приложение |
Policy.Read.ApplicationConfiguration |
Policy.ReadWrite.ApplicationConfiguration |
Важно!
В делегированных сценариях с рабочими или учебными учетными записями вошедшему пользователю должна быть назначена поддерживаемая роль Microsoft Entra или настраиваемая роль с разрешением поддерживаемой роли.
Администратор приложений — это наименее привилегированная роль, поддерживаемая для этой операции.
HTTP-запрос
PATCH /servicePrincipals/{servicePrincipalsId}/claimsPolicy
Текст запроса
В тексте запроса укажите представление объекта customClaimsPolicy в формате JSON.
При создании customClaimsPolicy можно указать следующие свойства.
Свойство |
Тип |
Описание |
includeBasicClaimSet |
Логический |
Определяет, включен ли базовый набор утверждений в маркеры, на которые распространяется эта политика. Если задано значение true , все утверждения в базовом наборе утверждений создаются в маркерах, на которые влияет политика. По умолчанию набор базовых утверждений отсутствует в маркерах, если они не настроены явно в этой политике. Необязательный параметр. |
includeApplicationIdInIssuer |
Логический |
Указывает, добавляется ли идентификатор приложения в утверждение. Он относится только к SAML2.0 и при использовании пользовательского ключа подписывания. Значение по умолчанию — true . Необязательный параметр. |
audienceOverride |
String |
Если этот параметр задан, он переопределяет содержимое утверждения аудитории для протоколов WS-Federation и SAML2. Для применения audienceOverride необходимо использовать пользовательский ключ подписи, в противном случае значение audienceOverride игнорируется. Указанное значение должно быть в формате абсолютного URI. Необязательный параметр. |
Претензии |
Коллекция customClaimBase |
Определяет, какие утверждения присутствуют в маркерах, затронутых политикой, в дополнение к базовому утверждению и набору основных утверждений. Необязательный параметр. |
Отклик
В случае успешного выполнения этот метод возвращает код отклика 201 Created
и объект customClaimsPolicy в теле отклика.
Примеры
Запрос
Ниже показан пример запроса.
PATCH https://graph.microsoft.com/beta/servicePrincipals/{servicePrincipalsId}/claimsPolicy
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.customClaimsPolicy",
"includeBasicClaimSet": "Boolean",
"includeApplicationIdInIssuer": "Boolean",
"audienceOverride": "String",
"claims": [
{
"@odata.type": "microsoft.graph.customClaim"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new CustomClaimsPolicy
{
OdataType = "#microsoft.graph.customClaimsPolicy",
IncludeBasicClaimSet = boolean,
IncludeApplicationIdInIssuer = boolean,
AudienceOverride = "String",
Claims = new List<CustomClaimBase>
{
new CustomClaim
{
OdataType = "microsoft.graph.customClaim",
},
},
};
// 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}"].ClaimsPolicy.PatchAsync(requestBody);
mgc-beta service-principals claims-policy patch --service-principal-id {servicePrincipal-id} --body '{\
"@odata.type": "#microsoft.graph.customClaimsPolicy",\
"includeBasicClaimSet": "Boolean",\
"includeApplicationIdInIssuer": "Boolean",\
"audienceOverride": "String",\
"claims": [\
{\
"@odata.type": "microsoft.graph.customClaim"\
}\
]\
}\
'
// 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.NewCustomClaimsPolicy()
includeBasicClaimSet := boolean
requestBody.SetIncludeBasicClaimSet(&includeBasicClaimSet)
includeApplicationIdInIssuer := boolean
requestBody.SetIncludeApplicationIdInIssuer(&includeApplicationIdInIssuer)
audienceOverride := "String"
requestBody.SetAudienceOverride(&audienceOverride)
customClaimBase := graphmodels.NewCustomClaim()
claims := []graphmodels.CustomClaimBaseable {
customClaimBase,
}
requestBody.SetClaims(claims)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
claimsPolicy, err := graphClient.ServicePrincipals().ByServicePrincipalId("servicePrincipal-id").ClaimsPolicy().Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
CustomClaimsPolicy customClaimsPolicy = new CustomClaimsPolicy();
customClaimsPolicy.setOdataType("#microsoft.graph.customClaimsPolicy");
customClaimsPolicy.setIncludeBasicClaimSet(boolean);
customClaimsPolicy.setIncludeApplicationIdInIssuer(boolean);
customClaimsPolicy.setAudienceOverride("String");
LinkedList<CustomClaimBase> claims = new LinkedList<CustomClaimBase>();
CustomClaim customClaimBase = new CustomClaim();
customClaimBase.setOdataType("microsoft.graph.customClaim");
claims.add(customClaimBase);
customClaimsPolicy.setClaims(claims);
CustomClaimsPolicy result = graphClient.servicePrincipals().byServicePrincipalId("{servicePrincipal-id}").claimsPolicy().patch(customClaimsPolicy);
const options = {
authProvider,
};
const client = Client.init(options);
const customClaimsPolicy = {
'@odata.type': '#microsoft.graph.customClaimsPolicy',
includeBasicClaimSet: 'Boolean',
includeApplicationIdInIssuer: 'Boolean',
audienceOverride: 'String',
claims: [
{
'@odata.type': 'microsoft.graph.customClaim'
}
]
};
await client.api('/servicePrincipals/{servicePrincipalsId}/claimsPolicy')
.version('beta')
.update(customClaimsPolicy);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\CustomClaimsPolicy;
use Microsoft\Graph\Beta\Generated\Models\CustomClaimBase;
use Microsoft\Graph\Beta\Generated\Models\CustomClaim;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new CustomClaimsPolicy();
$requestBody->setOdataType('#microsoft.graph.customClaimsPolicy');
$requestBody->setIncludeBasicClaimSet(boolean);
$requestBody->setIncludeApplicationIdInIssuer(boolean);
$requestBody->setAudienceOverride('String');
$claimsCustomClaimBase1 = new CustomClaim();
$claimsCustomClaimBase1->setOdataType('microsoft.graph.customClaim');
$claimsArray []= $claimsCustomClaimBase1;
$requestBody->setClaims($claimsArray);
$result = $graphServiceClient->servicePrincipals()->byServicePrincipalId('servicePrincipal-id')->claimsPolicy()->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Applications
$params = @{
"@odata.type" = "#microsoft.graph.customClaimsPolicy"
includeBasicClaimSet = "Boolean"
includeApplicationIdInIssuer = "Boolean"
audienceOverride = "String"
claims = @(
@{
"@odata.type" = "microsoft.graph.customClaim"
}
)
}
Update-MgBetaServicePrincipalClaimPolicy -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.models.custom_claims_policy import CustomClaimsPolicy
from msgraph_beta.generated.models.custom_claim_base import CustomClaimBase
from msgraph_beta.generated.models.custom_claim import CustomClaim
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = CustomClaimsPolicy(
odata_type = "#microsoft.graph.customClaimsPolicy",
include_basic_claim_set = Boolean,
include_application_id_in_issuer = Boolean,
audience_override = "String",
claims = [
CustomClaim(
odata_type = "microsoft.graph.customClaim",
),
],
)
result = await graph_client.service_principals.by_service_principal_id('servicePrincipal-id').claims_policy.patch(request_body)
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.customClaimsPolicy",
"id": "f914f36d-167e-3fa7-cfa2-355cc5a36689",
"includeBasicClaimSet": "Boolean",
"includeApplicationIdInIssuer": "Boolean",
"audienceOverride": "String",
"claims": [
{
"@odata.type": "microsoft.graph.customClaim"
}
]
}