名前空間: microsoft.graph
アプリケーション オブジェクトのプロパティを更新します。 この API は、@odata.type プロパティが #microsoft.graph.agentIdentityBlueprint に設定されている場合に agentIdentityBlueprint オブジェクトを更新することもできます。
この API は、次の国内クラウド展開で使用できます。
| グローバル サービス |
米国政府機関 L4 |
米国政府機関 L5 (DOD) |
21Vianet が運営する中国 |
| ✅ |
✅ |
✅ |
✅ |
アクセス許可
この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。
アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。
| アクセス許可の種類 |
最小特権アクセス許可 |
より高い特権のアクセス許可 |
| 委任 (職場または学校のアカウント) |
Application.ReadWrite.All |
AgentIdentityBlueprint.AddRemoveCreds.All、AgentIdentityBlueprint.ReadWrite.All、AgentIdentityBlueprint.UpdateAuthProperties.All、AgentIdentityBlueprint.UpdateBranding.All、AgentIdentityBlueprintPrincipal.ReadWrite.All |
| 委任 (個人用 Microsoft アカウント) |
Application.ReadWrite.All |
注意事項なし。 |
| アプリケーション |
Application.ReadWrite.OwnedBy |
AgentIdentityBlueprint.AddRemoveCreds.All、AgentIdentityBlueprint.ReadWrite.All、AgentIdentityBlueprint.UpdateAuthProperties.All、AgentIdentityBlueprint.UpdateBranding.All、AgentIdentityBlueprintPrincipal.ReadWrite.All、Application.ReadWrite.All |
重要
職場または学校アカウントを使用した委任されたアクセスの場合、管理者には、サポートされているMicrosoft Entraロールまたはこの操作に必要なアクセス許可を付与するカスタム ロールが割り当てられている必要があります。 この操作では、必要最小限の特権のみを提供する次の組み込みロールがサポートされています。
- テナント管理者がアクセスを制限していない限り、既定のユーザーアクセス許可を持つ管理者以外のメンバーまたはゲスト
- アプリケーション開発者 - 管理者がメンバーとゲストへのアクセスを制限している場合でもアプリを作成します。このロールを持つプリンシパルには、作成するアプリの所有権が割り当てられます
- ディレクトリ ライター - 拡張機能のプロパティを更新する
- ハイブリッド ID 管理者 - 基本プロパティのみを更新する
- セキュリティ管理者
- クラウド アプリケーション管理者
- アプリケーション管理者
HTTP 要求
アプリケーションのアドレスは、 その ID または appId を使用して行うことができます。
id と appId は、Microsoft Entra 管理センターのアプリ登録でそれぞれオブジェクト ID とアプリケーション (クライアント) ID と呼ばれます。
{applicationObjectId}をアプリケーション オブジェクトの ID に置き換えます。
PATCH /applications/{applicationObjectId}
PATCH /applications(appId='{appId}')
ロゴを更新するには、次のように PUT メソッドを使用します。
PUT /applications/{applicationObjectId}/logo
PUT /applications(appId='{appId}')/logo
| 名前 |
説明 |
| Authorization |
ベアラー {token}。 必須です。
認証と認可についての詳細をご覧ください。 |
| Content-Type |
application/json. 必須です。 |
要求本文
要求本文で、更新する関連フィールドの値を指定します。 要求本文に含まれていない既存のプロパティは、以前の値を維持するか、他のプロパティ値の変更に基づいて再計算されます。 最適なパフォーマンスを得るために、変更されていない既存の値を含めないでください。
| プロパティ |
型 |
説明 |
| api |
apiApplication |
Web API を実装するアプリケーションの設定を指定します。 |
| appRoles |
appRole コレクション |
アプリケーションに対して定義されているロールのコレクション。 これらのロールは、ユーザー、グループ、サービス プリンシパルなどに割り当てることができます。 null 許容型ではありません。 |
| displayName |
String |
アプリケーションの表示名。 |
| groupMembershipClaims |
文字列 |
アプリケーションが予期するユーザーまたは OAuth 2.0 アクセス トークンで発行された グループ 要求を構成します。 この属性を設定するには、次のいずれかの有効な文字列値を使用します。None-
SecurityGroup: セキュリティ グループとMicrosoft Entra ロールの場合 -
All: これにより、サインインしているユーザーがメンバーであるセキュリティ グループ、配布グループ、Microsoft Entraディレクトリ ロールがすべて取得されます。
|
| identifierUris |
String collection |
Microsoft Entra テナント内のアプリケーションを識別する URI、またはアプリケーションがマルチテナントの場合は検証済みのカスタム ドメイン内の URI。 詳細については、「Application オブジェクトとサービス プリンシパル オブジェクト」を参照してください。 null 許容ではありません。 |
| info |
informationalUrl |
アプリのマーケティング、サポート、サービス条件、プライバシーに関する声明の URL など、アプリケーションの基本的なプロファイル情報。 サービス利用規約とプライバシーに関する声明は、ユーザーの同意エクスペリエンスからユーザーに提示されます。 詳細については、「登録済みのMicrosoft Entra アプリのサービス条件とプライバシーに関する声明を追加する」を参照してください。 |
| isFallbackPublicClient |
Boolean |
モバイル デバイスで実行するインストール済みアプリケーションなど、フォールバック アプリケーションの種類をパブリック クライアントとして指定します。 既定値は falseです。つまり、フォールバック アプリケーションの種類は Web アプリなどの機密クライアントです。 Microsoft Entra IDがクライアント アプリケーションの種類 (たとえば、リダイレクト URI を指定せずに構成されている ROPC フロー) を特定できないシナリオがあります。 このような場合、Microsoft Entra IDは、このプロパティの値に基づいてアプリケーションの種類を解釈します。 |
| keyCredentials |
keyCredential コレクション |
アプリケーションに関連付けられているキー資格情報のコレクションです。 null 許容型ではありません。 |
| logo |
Stream |
アプリケーションのメイン ロゴです。 null 許容ではありません。 PUT メソッドを使用してロゴを更新します。 |
| managerApplications |
Guid コレクション |
マネージャーとして指定された Microsoft ファースト パーティ アプリケーション用のアプリケーション ID のコレクション。 このプロパティは agentIdentityBlueprint オブジェクトでのみサポートされており、この Update アプリケーション API を使用して更新されることはありません。
managerApplications を更新するには、専用の Update agentIdentityBlueprint API を使用します。 エージェントブループリント以外のアプリケーションで managerApplications を更新すると、 400 Bad Request エラーが返されます。 管理者として追加できるのは、Microsoft ファースト パーティ のアプリケーション ID のみです。サード パーティ製アプリケーションを追加すると、 400 Bad Request エラーが返されます。 許可される最大は 10 個のマネージャー アプリケーションです。この制限を超えると、 400 Bad Request エラーが返されます。 |
| nativeAuthenticationApisEnabled |
nativeAuthenticationApisEnabled |
ネイティブ認証 API をアプリケーションが使用してネイティブ認証を提供できるように、ネイティブ認証 API を有効にするかどうかを指定します。 使用可能な値は none、all、および unknownFutureValue です。 詳細については、「 ネイティブ認証」を参照してください。 |
| optionalClaims |
optionalClaims |
アプリケーション開発者は、Microsoft Entra アプリでオプションの要求を構成して、Microsoft セキュリティ トークン サービスによってアプリケーションに送信されるトークンで必要な要求を指定できます。 詳細については、「 省略可能な要求 」を参照してください。 |
| parentalControlSettings |
parentalControlSettings |
アプリケーションにおける、保護者による制限設定を指定します。 |
| publicClient |
publicClientApplication |
デスクトップやモバイル デバイスなど、インストールされているクライアントの設定を指定します。 |
| requiredResourceAccess |
requiredResourceAccess コレクション |
アプリケーションがアクセスする必要があるリソースを指定します。 このプロパティでは、各リソースに必要な委任されたアクセス許可とアプリケーション ロールのセットも指定します。 必要なリソースへのアクセスに対するこの構成によって、同意エクスペリエンスが促進されます。 50 を超えるリソース サービス (API) を構成できます。 2021 年 10 月中旬以降は、必要なアクセス許可の合計が 400 を超えることはできません。 null 許容ではありません。 |
| samlMetadataUrl |
String |
サービスによりフェデレーション用の SAML メタデータが公開されている URL。 このプロパティは、シングルテナント アプリケーションに対してのみ有効です。 |
| signInAudience |
String |
現在のアプリケーションでサポートされている Microsoft アカウントを指定します。 サポートされている値は次のとおりです。-
AzureADMyOrg: organizationのMicrosoft Entra テナント (単一テナント) に Microsoft の職場または学校アカウントを持つユーザー -
AzureADMultipleOrgs: organizationのMicrosoft Entra テナント (マルチテナント) に Microsoft の職場または学校アカウントを持つユーザー -
AzureADandPersonalMicrosoftAccount: 個人の Microsoft アカウントを持つユーザー、またはorganizationのMicrosoft Entra テナント内の職場または学校アカウントを持つユーザー このプロパティの値は、他のアプリ オブジェクト プロパティに影響します。 その結果、このプロパティを変更する場合は、最初に他のプロパティを変更する必要があります。 詳細については、「 signInAudience の検証の違い」を参照してください。 |
| SPA |
spaApplication |
サイン アウト URL、認証コードとアクセス トークンのリダイレクト URI など、シングルページ アプリケーションの設定を指定します。 |
| tags |
String コレクション |
アプリケーションを分類および識別するために使用できるカスタム文字列です。 null 許容ではありません。 |
| tokenEncryptionKeyId |
文字列 |
keyCredentials コレクションにある公開キーの keyId を指定します。 構成すると、Microsoft Entra IDは、このプロパティが指すキーを使用して、出力されるすべてのトークンを暗号化します。 暗号化されたトークンを受け取るアプリケーション コードでは、一致する秘密キーを使用してトークンを複合化してから、サインインしているユーザーのトークンとして使用する必要があります。 |
| uniqueName |
String |
アプリケーションに割り当て、代替キーとして使用できる一意の識別子。
nullし、一度設定すると変更できない場合にのみ更新できます。 |
| Web |
webApplication |
Web アプリケーションの設定を指定します。 |
応答
成功した場合、このメソッドは 204 No Content 応答コードを返し、応答本文では何も返しません。
例
例 1: アプリケーションの displayName を更新する
要求
次の例は要求を示しています。
PATCH https://graph.microsoft.com/v1.0/applications/{id}
Content-type: application/json
{
"displayName": "New display name"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new Application
{
DisplayName = "New display name",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Applications["{application-id}"].PatchAsync(requestBody);
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
// 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.NewApplication()
displayName := "New display name"
requestBody.SetDisplayName(&displayName)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
applications, err := graphClient.Applications().ByApplicationId("application-id").Patch(context.Background(), requestBody, nil)
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Application application = new Application();
application.setDisplayName("New display name");
Application result = graphClient.applications().byApplicationId("{application-id}").patch(application);
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
const options = {
authProvider,
};
const client = Client.init(options);
const application = {
displayName: 'New display name'
};
await client.api('/applications/{id}')
.update(application);
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\Application;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Application();
$requestBody->setDisplayName('New display name');
$result = $graphServiceClient->applications()->byApplicationId('application-id')->patch($requestBody)->wait();
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
Import-Module Microsoft.Graph.Applications
$params = @{
displayName = "New display name"
}
Update-MgApplication -ApplicationId $applicationId -BodyParameter $params
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.application import Application
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Application(
display_name = "New display name",
)
result = await graph_client.applications.by_application_id('application-id').patch(request_body)
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
応答
HTTP/1.1 204 No Content
例 2: アプリケーションの appRoles を更新する
次の例では、アプリケーションの appRoles コレクションを更新します。 既存のアプリ ロールを保持するには、それらを要求に含めます。 要求に含まれていないコレクション内の既存のオブジェクトは、新しいオブジェクトに置き換えられます。 このオブジェクトは、テナント内のサービス プリンシパルの対応するプロパティと同期されます。
要求
PATCH https://graph.microsoft.com/v1.0/applications/fda284b5-f0ad-4763-8289-31a273fca865
Content-type: application/json
{
"appRoles": [
{
"allowedMemberTypes": [
"User",
"Application"
],
"description": "Survey.Read",
"displayName": "Survey.Read",
"id": "ebb7c86c-fb47-4e3f-8191-420ff1b9de4a",
"isEnabled": false,
"origin": "Application",
"value": "Survey.Read"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new Application
{
AppRoles = new List<AppRole>
{
new AppRole
{
AllowedMemberTypes = new List<string>
{
"User",
"Application",
},
Description = "Survey.Read",
DisplayName = "Survey.Read",
Id = Guid.Parse("ebb7c86c-fb47-4e3f-8191-420ff1b9de4a"),
IsEnabled = false,
Origin = "Application",
Value = "Survey.Read",
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Applications["{application-id}"].PatchAsync(requestBody);
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
// 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.NewApplication()
appRole := graphmodels.NewAppRole()
allowedMemberTypes := []string {
"User",
"Application",
}
appRole.SetAllowedMemberTypes(allowedMemberTypes)
description := "Survey.Read"
appRole.SetDescription(&description)
displayName := "Survey.Read"
appRole.SetDisplayName(&displayName)
id := uuid.MustParse("ebb7c86c-fb47-4e3f-8191-420ff1b9de4a")
appRole.SetId(&id)
isEnabled := false
appRole.SetIsEnabled(&isEnabled)
origin := "Application"
appRole.SetOrigin(&origin)
value := "Survey.Read"
appRole.SetValue(&value)
appRoles := []graphmodels.AppRoleable {
appRole,
}
requestBody.SetAppRoles(appRoles)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
applications, err := graphClient.Applications().ByApplicationId("application-id").Patch(context.Background(), requestBody, nil)
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Application application = new Application();
LinkedList<AppRole> appRoles = new LinkedList<AppRole>();
AppRole appRole = new AppRole();
LinkedList<String> allowedMemberTypes = new LinkedList<String>();
allowedMemberTypes.add("User");
allowedMemberTypes.add("Application");
appRole.setAllowedMemberTypes(allowedMemberTypes);
appRole.setDescription("Survey.Read");
appRole.setDisplayName("Survey.Read");
appRole.setId(UUID.fromString("ebb7c86c-fb47-4e3f-8191-420ff1b9de4a"));
appRole.setIsEnabled(false);
appRole.setOrigin("Application");
appRole.setValue("Survey.Read");
appRoles.add(appRole);
application.setAppRoles(appRoles);
Application result = graphClient.applications().byApplicationId("{application-id}").patch(application);
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
const options = {
authProvider,
};
const client = Client.init(options);
const application = {
appRoles: [
{
allowedMemberTypes: [
'User',
'Application'
],
description: 'Survey.Read',
displayName: 'Survey.Read',
id: 'ebb7c86c-fb47-4e3f-8191-420ff1b9de4a',
isEnabled: false,
origin: 'Application',
value: 'Survey.Read'
}
]
};
await client.api('/applications/fda284b5-f0ad-4763-8289-31a273fca865')
.update(application);
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\Application;
use Microsoft\Graph\Generated\Models\AppRole;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Application();
$appRolesAppRole1 = new AppRole();
$appRolesAppRole1->setAllowedMemberTypes(['User', 'Application', ]);
$appRolesAppRole1->setDescription('Survey.Read');
$appRolesAppRole1->setDisplayName('Survey.Read');
$appRolesAppRole1->setId('ebb7c86c-fb47-4e3f-8191-420ff1b9de4a');
$appRolesAppRole1->setIsEnabled(false);
$appRolesAppRole1->setOrigin('Application');
$appRolesAppRole1->setValue('Survey.Read');
$appRolesArray []= $appRolesAppRole1;
$requestBody->setAppRoles($appRolesArray);
$result = $graphServiceClient->applications()->byApplicationId('application-id')->patch($requestBody)->wait();
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
Import-Module Microsoft.Graph.Applications
$params = @{
appRoles = @(
@{
allowedMemberTypes = @(
"User"
"Application"
)
description = "Survey.Read"
displayName = "Survey.Read"
id = "ebb7c86c-fb47-4e3f-8191-420ff1b9de4a"
isEnabled = $false
origin = "Application"
value = "Survey.Read"
}
)
}
Update-MgApplication -ApplicationId $applicationId -BodyParameter $params
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.application import Application
from msgraph.generated.models.app_role import AppRole
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Application(
app_roles = [
AppRole(
allowed_member_types = [
"User",
"Application",
],
description = "Survey.Read",
display_name = "Survey.Read",
id = UUID("ebb7c86c-fb47-4e3f-8191-420ff1b9de4a"),
is_enabled = False,
origin = "Application",
value = "Survey.Read",
),
],
)
result = await graph_client.applications.by_application_id('application-id').patch(request_body)
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
応答
HTTP/1.1 204 No Content