名前空間: microsoft.graph
秘密度ラベルを driveItem に非同期的に割り当てます。
この API は、高度なプレミアム管理機能を実行する Microsoft SharePoint API および OneDrive API の一部であり、保護されていると見なされます。 保護された API を使用する前に、アクセス許可や同意を超えて、より多くの検証が必要です。
管理者の観点からの秘密度ラベルの詳細については、「 SharePoint と OneDrive で Office ファイルの秘密度ラベルを有効にする」を参照してください。
この API は、機密ラベルを保存中のファイルに適用します。 Office クライアントは、透かし、ヘッダー、またはフッターをラベル情報を含むファイルに適用しません。 管理者の観点からの秘密度ラベルの詳細については、「 SharePoint と OneDrive で Office ファイルの秘密度ラベルを有効にする」を参照してください。
この API は、次の国内クラウド展開で使用できます。
| グローバル サービス |
米国政府機関 L4 |
米国政府機関 L5 (DOD) |
21Vianet が運営する中国 |
| ✅ |
❌ |
❌ |
❌ |
アクセス許可
この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。
アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。
| アクセス許可の種類 |
最小特権アクセス許可 |
より高い特権のアクセス許可 |
| 委任 (職場または学校のアカウント) |
Files.ReadWrite.All |
Sites.ReadWrite.All |
| 委任 (個人用 Microsoft アカウント) |
サポートされていません。 |
サポートされていません。 |
| アプリケーション |
Files.ReadWrite.All |
Sites.ReadWrite.All |
注:
Microsoft SharePoint Embedded コンテナーの場合、アプリケーション専用の要求には appliedByUser パラメーターが必要です。
HTTP 要求
POST /drives/{drive-id}/items/{item-id}/assignSensitivityLabel
POST /drives/{drive-id}/root:/{item-path}:/assignSensitivityLabel
POST /groups/{group-id}/drive/items/{item-id}/assignSensitivityLabel
POST /groups/{group-id}/drive/root:/{item-path}:/assignSensitivityLabel
POST /me/drive/items/{item-id}/assignSensitivityLabel
POST /me/drive/root:/{item-path}:/assignSensitivityLabel
POST /sites/{site-id}/drive/items/{item-id}/assignSensitivityLabel
POST /sites/{site-id}/drive/root:/{item-path}:/assignSensitivityLabel
POST /users/{user-id}/drive/items/{item-id}/assignSensitivityLabel
POST /users/{user-id}/drive/root:/{item-path}:/assignSensitivityLabel
| 名前 |
説明 |
| Authorization |
ベアラー {token}。 必須です。
認証と認可についての詳細をご覧ください。 |
要求本文
要求本文で、特定のファイルに割り当てる秘密度ラベルの ID を指定します。 次の表に、必須の入力パラメーターと省略可能な入力パラメーターを示します。
| 名前 |
値 |
説明 |
| sensitivityLabelId |
String |
必須です。 割り当てる秘密度ラベルの ID、または秘密度ラベルを削除する場合は空の文字列。 |
| assignmentMethod |
sensitivityLabelAssignmentMethod |
省略可能。 ドキュメントのラベルの割り当て方法。 ラベルの割り当てが自動、標準、または特権操作 (管理者操作に相当) として行われたかどうかを示します。 |
| justificationText |
String |
省略可能。 監査目的の正当な理由テキスト。 ラベルをダウングレードまたは削除する場合に必要です。 |
| appliedByUser |
userIdentity |
省略可能。 ラベルが適用されるユーザーの ID。 アプリケーション (アプリのみ) のコンテキストでのみサポートされます。
id (Microsoft Entra オブジェクト ID) または userPrincipalName を指定します。 |
応答
成功した場合、API は空の応答本文を含む 202 Accepted HTTP 応答コードを返します。
Location ヘッダーは、操作の詳細を取得するための URL を提供します。
assignSensitivityLabel 操作の進行状況を監視する方法の詳細については、「 長時間実行される操作の監視」を参照してください。
この API は、Microsoft Graph に適用される一般的なエラーに加えて、アクセスしているファイルがロックされていることを示す 423 Locked 応答コードを返します。 このような場合、応答オブジェクトの code プロパティは、操作をブロックするエラーの種類を示します。
また、一部の IRM で保護された秘密度ラベルはアプリ専用モードで更新できず、ユーザーが適切な権限を持っているかどうかを検証するために委任されたユーザー アクセスを必要とします。このようなシナリオでは、API は Not Supported 応答コードを返します。
次の表に、エラーの種類で指定できる値を示します。
| 値 |
説明 |
| fileDoubleKeyEncrypted |
ファイルが二重キー暗号化によって保護されていることを示します。そのため、開くことができません。 |
| fileDecryptionNotSupported |
暗号化されたファイルに、SharePoint でこれらのファイルを開くことを許可しない特定のプロパティがあることを示します。 |
| fileDecryptionDeferred |
ファイルが復号化のために処理されていることを示します。そのため、開くことができません。 |
| unknownFutureValue |
進化可能な列挙センチネル値。 使用しないでください。 |
例
例 1: 秘密度ラベルを割り当てる
要求
次の例は要求を示しています。
POST https://graph.microsoft.com/v1.0/drive/root/items/016GVDAP3RCQS5VBQHORFIVU2ZMOSBL25U/assignSensitivityLabel
Content-Type: application/json
{
"sensitivityLabelId": "5feba255-812e-446a-ac59-a7044ef827b5",
"assignmentMethod": "standard",
"justificationText": "test_justification"
}
const options = {
authProvider,
};
const client = Client.init(options);
const assignSensitivityLabel = {
sensitivityLabelId: '5feba255-812e-446a-ac59-a7044ef827b5',
assignmentMethod: 'standard',
justificationText: 'test_justification'
};
await client.api('/drive/root/items/016GVDAP3RCQS5VBQHORFIVU2ZMOSBL25U/assignSensitivityLabel')
.post(assignSensitivityLabel);
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
応答
次の例は応答を示しています。
HTTP/1.1 202 Accepted
Location: https://contoso.sharepoint.com/_api/v2.0/monitor/QXNzaWduU2Vuc2l0aXZpdHlMYWJlbCxiMzc3ODY3OS04OWQ3LTRkYmYtYjg0MC1jYWM1NzRhY2FlNmE?tempAuth=eyJ0eXAiOiJKV1QiLCJhb....
Location ヘッダーの値は、assignSensitivityLabel 操作の現在の状態を返すサービスの URL を提供します。
この情報を使用して、 assignSensitivityLabel 操作が完了するタイミングを判断できます。
例 2: ユーザーに代わって秘密度ラベルを割り当てる (アプリのみ)
要求
次の例は、Microsoft Entra オブジェクト ID で識別される特定のユーザーに代わってラベルを割り当てるアプリのみの要求を示しています。
POST https://graph.microsoft.com/v1.0/drives/{drive-id}/items/016GVDAP3RCQS5VBQHORFIVU2ZMOSBL25U/assignSensitivityLabel
Content-Type: application/json
{
"sensitivityLabelId": "5feba255-812e-446a-ac59-a7044ef827b5",
"assignmentMethod": "standard",
"justificationText": "test_justification",
"appliedByUser": {
"id": "4a2ec3c4-1b2d-3e4f-5a6b-7c8d9e0f1a2b"
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Drives.Item.Items.Item.AssignSensitivityLabel;
using Microsoft.Graph.Models;
using Microsoft.Kiota.Abstractions.Serialization;
var requestBody = new AssignSensitivityLabelPostRequestBody
{
SensitivityLabelId = "5feba255-812e-446a-ac59-a7044ef827b5",
AssignmentMethod = SensitivityLabelAssignmentMethod.Standard,
JustificationText = "test_justification",
AdditionalData = new Dictionary<string, object>
{
{
"appliedByUser" , new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"id", new UntypedString("4a2ec3c4-1b2d-3e4f-5a6b-7c8d9e0f1a2b")
},
})
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Drives["{drive-id}"].Items["{driveItem-id}"].AssignSensitivityLabel.PostAsync(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"
graphdrives "github.com/microsoftgraph/msgraph-sdk-go/drives"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphdrives.NewAssignSensitivityLabelPostRequestBody()
sensitivityLabelId := "5feba255-812e-446a-ac59-a7044ef827b5"
requestBody.SetSensitivityLabelId(&sensitivityLabelId)
assignmentMethod := graphmodels.STANDARD_SENSITIVITYLABELASSIGNMENTMETHOD
requestBody.SetAssignmentMethod(&assignmentMethod)
justificationText := "test_justification"
requestBody.SetJustificationText(&justificationText)
additionalData := map[string]interface{}{
appliedByUser := graph.New()
id := "4a2ec3c4-1b2d-3e4f-5a6b-7c8d9e0f1a2b"
appliedByUser.SetId(&id)
requestBody.SetAppliedByUser(appliedByUser)
}
requestBody.SetAdditionalData(additionalData)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Drives().ByDriveId("drive-id").Items().ByDriveItemId("driveItem-id").AssignSensitivityLabel().Post(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);
com.microsoft.graph.drives.item.items.item.assignsensitivitylabel.AssignSensitivityLabelPostRequestBody assignSensitivityLabelPostRequestBody = new com.microsoft.graph.drives.item.items.item.assignsensitivitylabel.AssignSensitivityLabelPostRequestBody();
assignSensitivityLabelPostRequestBody.setSensitivityLabelId("5feba255-812e-446a-ac59-a7044ef827b5");
assignSensitivityLabelPostRequestBody.setAssignmentMethod(SensitivityLabelAssignmentMethod.Standard);
assignSensitivityLabelPostRequestBody.setJustificationText("test_justification");
HashMap<String, Object> additionalData = new HashMap<String, Object>();
appliedByUser = new ();
appliedByUser.setId("4a2ec3c4-1b2d-3e4f-5a6b-7c8d9e0f1a2b");
additionalData.put("appliedByUser", appliedByUser);
assignSensitivityLabelPostRequestBody.setAdditionalData(additionalData);
graphClient.drives().byDriveId("{drive-id}").items().byDriveItemId("{driveItem-id}").assignSensitivityLabel().post(assignSensitivityLabelPostRequestBody);
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
const options = {
authProvider,
};
const client = Client.init(options);
const assignSensitivityLabel = {
sensitivityLabelId: '5feba255-812e-446a-ac59-a7044ef827b5',
assignmentMethod: 'standard',
justificationText: 'test_justification',
appliedByUser: {
id: '4a2ec3c4-1b2d-3e4f-5a6b-7c8d9e0f1a2b'
}
};
await client.api('/drives/{drive-id}/items/016GVDAP3RCQS5VBQHORFIVU2ZMOSBL25U/assignSensitivityLabel')
.post(assignSensitivityLabel);
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Drives\Item\Items\Item\AssignSensitivityLabel\AssignSensitivityLabelPostRequestBody;
use Microsoft\Graph\Generated\Models\SensitivityLabelAssignmentMethod;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new AssignSensitivityLabelPostRequestBody();
$requestBody->setSensitivityLabelId('5feba255-812e-446a-ac59-a7044ef827b5');
$requestBody->setAssignmentMethod(new SensitivityLabelAssignmentMethod('standard'));
$requestBody->setJustificationText('test_justification');
$additionalData = [
'appliedByUser' => [
'id' => '4a2ec3c4-1b2d-3e4f-5a6b-7c8d9e0f1a2b',
],
];
$requestBody->setAdditionalData($additionalData);
$graphServiceClient->drives()->byDriveId('drive-id')->items()->byDriveItemId('driveItem-id')->assignSensitivityLabel()->post($requestBody)->wait();
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
Import-Module Microsoft.Graph.Files
$params = @{
sensitivityLabelId = "5feba255-812e-446a-ac59-a7044ef827b5"
assignmentMethod = "standard"
justificationText = "test_justification"
appliedByUser = @{
id = "4a2ec3c4-1b2d-3e4f-5a6b-7c8d9e0f1a2b"
}
}
Set-MgDriveItemSensitivityLabel -DriveId $driveId -DriveItemId $driveItemId -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.drives.item.items.item.assign_sensitivity_label.assign_sensitivity_label_post_request_body import AssignSensitivityLabelPostRequestBody
from msgraph.generated.models.sensitivity_label_assignment_method import SensitivityLabelAssignmentMethod
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = AssignSensitivityLabelPostRequestBody(
sensitivity_label_id = "5feba255-812e-446a-ac59-a7044ef827b5",
assignment_method = SensitivityLabelAssignmentMethod.Standard,
justification_text = "test_justification",
additional_data = {
"applied_by_user" : {
"id" : "4a2ec3c4-1b2d-3e4f-5a6b-7c8d9e0f1a2b",
},
}
)
await graph_client.drives.by_drive_id('drive-id').items.by_drive_item_id('driveItem-id').assign_sensitivity_label.post(request_body)
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
応答
HTTP/1.1 202 Accepted
Location: https://contoso.sharepoint.com/_api/v2.0/monitor/QXNzaWduU2Vuc2l0aXZpdHlMYWJlbCxiMzc3ODY3OS04OWQ3LTRkYmYtYjg0MC1jYWM1NzRhY2FlNmE?tempAuth=******
例 3: ユーザー プリンシパル名を使用してユーザーの代わりに秘密度ラベルを割り当てる (アプリのみ)
要求
次の例は、ユーザー プリンシパル名でユーザーを特定するアプリのみの要求を示しています。
POST https://graph.microsoft.com/v1.0/drives/{drive-id}/items/016GVDAP3RCQS5VBQHORFIVU2ZMOSBL25U/assignSensitivityLabel
Content-Type: application/json
{
"sensitivityLabelId": "5feba255-812e-446a-ac59-a7044ef827b5",
"assignmentMethod": "standard",
"justificationText": "test_justification",
"appliedByUser": {
"userPrincipalName": "adelev@contoso.com"
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Drives.Item.Items.Item.AssignSensitivityLabel;
using Microsoft.Graph.Models;
using Microsoft.Kiota.Abstractions.Serialization;
var requestBody = new AssignSensitivityLabelPostRequestBody
{
SensitivityLabelId = "5feba255-812e-446a-ac59-a7044ef827b5",
AssignmentMethod = SensitivityLabelAssignmentMethod.Standard,
JustificationText = "test_justification",
AdditionalData = new Dictionary<string, object>
{
{
"appliedByUser" , new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"userPrincipalName", new UntypedString("adelev@contoso.com")
},
})
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Drives["{drive-id}"].Items["{driveItem-id}"].AssignSensitivityLabel.PostAsync(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"
graphdrives "github.com/microsoftgraph/msgraph-sdk-go/drives"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphdrives.NewAssignSensitivityLabelPostRequestBody()
sensitivityLabelId := "5feba255-812e-446a-ac59-a7044ef827b5"
requestBody.SetSensitivityLabelId(&sensitivityLabelId)
assignmentMethod := graphmodels.STANDARD_SENSITIVITYLABELASSIGNMENTMETHOD
requestBody.SetAssignmentMethod(&assignmentMethod)
justificationText := "test_justification"
requestBody.SetJustificationText(&justificationText)
additionalData := map[string]interface{}{
appliedByUser := graph.New()
userPrincipalName := "adelev@contoso.com"
appliedByUser.SetUserPrincipalName(&userPrincipalName)
requestBody.SetAppliedByUser(appliedByUser)
}
requestBody.SetAdditionalData(additionalData)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Drives().ByDriveId("drive-id").Items().ByDriveItemId("driveItem-id").AssignSensitivityLabel().Post(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);
com.microsoft.graph.drives.item.items.item.assignsensitivitylabel.AssignSensitivityLabelPostRequestBody assignSensitivityLabelPostRequestBody = new com.microsoft.graph.drives.item.items.item.assignsensitivitylabel.AssignSensitivityLabelPostRequestBody();
assignSensitivityLabelPostRequestBody.setSensitivityLabelId("5feba255-812e-446a-ac59-a7044ef827b5");
assignSensitivityLabelPostRequestBody.setAssignmentMethod(SensitivityLabelAssignmentMethod.Standard);
assignSensitivityLabelPostRequestBody.setJustificationText("test_justification");
HashMap<String, Object> additionalData = new HashMap<String, Object>();
appliedByUser = new ();
appliedByUser.setUserPrincipalName("adelev@contoso.com");
additionalData.put("appliedByUser", appliedByUser);
assignSensitivityLabelPostRequestBody.setAdditionalData(additionalData);
graphClient.drives().byDriveId("{drive-id}").items().byDriveItemId("{driveItem-id}").assignSensitivityLabel().post(assignSensitivityLabelPostRequestBody);
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
const options = {
authProvider,
};
const client = Client.init(options);
const assignSensitivityLabel = {
sensitivityLabelId: '5feba255-812e-446a-ac59-a7044ef827b5',
assignmentMethod: 'standard',
justificationText: 'test_justification',
appliedByUser: {
userPrincipalName: 'adelev@contoso.com'
}
};
await client.api('/drives/{drive-id}/items/016GVDAP3RCQS5VBQHORFIVU2ZMOSBL25U/assignSensitivityLabel')
.post(assignSensitivityLabel);
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Drives\Item\Items\Item\AssignSensitivityLabel\AssignSensitivityLabelPostRequestBody;
use Microsoft\Graph\Generated\Models\SensitivityLabelAssignmentMethod;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new AssignSensitivityLabelPostRequestBody();
$requestBody->setSensitivityLabelId('5feba255-812e-446a-ac59-a7044ef827b5');
$requestBody->setAssignmentMethod(new SensitivityLabelAssignmentMethod('standard'));
$requestBody->setJustificationText('test_justification');
$additionalData = [
'appliedByUser' => [
'userPrincipalName' => 'adelev@contoso.com',
],
];
$requestBody->setAdditionalData($additionalData);
$graphServiceClient->drives()->byDriveId('drive-id')->items()->byDriveItemId('driveItem-id')->assignSensitivityLabel()->post($requestBody)->wait();
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
Import-Module Microsoft.Graph.Files
$params = @{
sensitivityLabelId = "5feba255-812e-446a-ac59-a7044ef827b5"
assignmentMethod = "standard"
justificationText = "test_justification"
appliedByUser = @{
userPrincipalName = "adelev@contoso.com"
}
}
Set-MgDriveItemSensitivityLabel -DriveId $driveId -DriveItemId $driveItemId -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.drives.item.items.item.assign_sensitivity_label.assign_sensitivity_label_post_request_body import AssignSensitivityLabelPostRequestBody
from msgraph.generated.models.sensitivity_label_assignment_method import SensitivityLabelAssignmentMethod
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = AssignSensitivityLabelPostRequestBody(
sensitivity_label_id = "5feba255-812e-446a-ac59-a7044ef827b5",
assignment_method = SensitivityLabelAssignmentMethod.Standard,
justification_text = "test_justification",
additional_data = {
"applied_by_user" : {
"user_principal_name" : "adelev@contoso.com",
},
}
)
await graph_client.drives.by_drive_id('drive-id').items.by_drive_item_id('driveItem-id').assign_sensitivity_label.post(request_body)
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
応答
HTTP/1.1 202 Accepted
Location: https://contoso.sharepoint.com/_api/v2.0/monitor/QXNzaWduU2Vuc2l0aXZpdHlMYWJlbCxiMzc3ODY3OS04OWQ3LTRkYmYtYjg0MC1jYWM1NzRhY2FlNmE?tempAuth=******
API からの応答は、assignSensitivityLabel 操作が受け入れられたか拒否されたことを示すだけです。 たとえば、ファイルの種類がサポートされていない場合や、ファイルが二重暗号化されている場合、操作は拒否される可能性があります。 成功ケースと失敗ケースの両方の監査イベントがログに記録されます。 詳細については、「 監査ログ アクティビティ」を参照してください。