accessReview の作成 (非推奨)
[アーティクル]
06/01/2022
3 人の共同作成者
この記事の内容
名前空間: microsoft.graph
重要
Microsoft Graph のバージョンの /beta API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 API が v1.0 で使用できるかどうかを確認するには、 バージョン セレクターを使用します。
注意
アクセス レビュー API は廃止され、2023 年 5 月 19 日にデータの返しを停止します。 Access レビュー を使用してください 。
Azure AD アクセス レビュー 機能で、新しい accessReview オブジェクトを作成します。
この要求を行う前に、呼び出し元は、要求に含める businessFlowTemplateId の値を持つ ビジネス フロー テンプレートの一覧 を以前に取得しておく必要があります。
この要求を行った後、呼び出し元は programControl を作成 して、アクセス レビューをプログラムにリンクする必要があります。
アクセス許可
この API を呼び出すには、次のいずれかのアクセス許可が必要です。アクセス許可の選択方法などの詳細については、「アクセス許可 」を参照してください。
アクセス許可の種類
アクセス許可 (特権の小さいものから大きいものへ)
委任 (職場または学校のアカウント)
AccessReview.ReadWrite.Membership, AccessReview.ReadWrite.All
委任 (個人用 Microsoft アカウント)
サポートされていません。
アプリケーション
AccessReview.ReadWrite.Membership
呼び出し元には ProgramControl.ReadWrite.All 権限も必要です。これにより、アクセス レビューを作成した後、呼び出し元は programControl を作成できます。
さらに、サインインしているユーザーは、アクセス レビューの作成を許可するディレクトリ ロールに含まれている必要もあります。 詳細については、 アクセス レビュー のロールとアクセス許可の要件を参照してください。
HTTP 要求
POST /accessReviews
名前
説明
Authorization
ベアラー {トークン}。 必須。
Content-type
application/json. Required.
要求本文
要求本文で、 accessReview オブジェクトの JSON 表現を指定します。
次の表は、accessReview を作成するときに必要なプロパティを示しています。
プロパティ
型
説明
displayName
String
アクセス レビュー名。
startDateTime
DateTimeOffset
レビューの開始がスケジュールされている DateTime。 これは将来の日付である必要があります。
endDateTime
DateTimeOffset
レビューが終了するようにスケジュールされている DateTime。 開始日より少なくとも 1 日後にする必要があります。
description
String
校閲者に表示する説明。
businessFlowTemplateId
String
businessFlowTemplate から取得されたビジネス フロー テンプレート識別子。
reviewerType
String
レビュー対象のオブジェクトのアクセス権、いずれか、またはentityOwnersいずれかに対するレビュー担当者のリレーションシップのself``delegated種類。
reviewedEntity
identity
グループのメンバーシップやアプリケーションへのユーザーの割り当てなど、アクセス レビューが作成されるオブジェクト。
reviewerType に値delegatedがある場合は、呼び出し元にもレビュー担当者を表す userIdentity オブジェクトのコレクションを含める レビュー担当者 プロパティを含める必要があります。
アプリがサインインユーザーなしでこの API を呼び出している場合は、呼び出し元にも createdBy プロパティを含める必要があります。この値は、レビューの作成者として識別されるユーザーの userIdentity です。
また、呼び出し元は 設定 を含めたり、定期的なレビュー シリーズを作成したり、既定のレビュー動作から変更したりできます。 特に、定期的なレビューを作成するには、呼び出し元がアクセス レビュー設定内に accessReviewRecurrenceSettings を含める必要があります。
応答
成功した場合、このメソッドは 201 Created 応答コードと応答本文の accessReview オブジェクトを返します。
例
これは、1 回限りの (定期的ではない) アクセス レビューを作成し、2 人のユーザーをレビュー担当者として明示的に指定する例です。
要求
要求本文で、 accessReview オブジェクトの JSON 表現を指定します。
POST https://graph.microsoft.com/beta/accessReviews
Content-type: application/json
{
"displayName":"TestReview",
"startDateTime":"2017-02-10T00:35:53.214Z",
"endDateTime":"2017-03-12T00:35:53.214Z",
"reviewedEntity": {
"id": "99025615-a0b1-47ec-9117-35377b10998b"
},
"reviewerType" : "delegated",
"businessFlowTemplateId": "6e4f3d20-c5c3-407f-9695-8460952bcc68",
"description":"Sample description",
"reviewers":
[
{
"id":"f260246a-09b1-4fd5-8d18-daed736071ec"
},
{
"id":"5a4e184c-4ee5-4883-96e9-b371f8da88e3"
}
],
"settings":
{
"mailNotificationsEnabled": true,
"remindersEnabled": true,
"justificationRequiredOnApproval":true,
"autoReviewEnabled":false,
"activityDurationInDays":30,
"autoApplyReviewResultsEnabled":false,
"accessRecommendationsEnabled":false,
"recurrenceSettings":{
"recurrenceType":"onetime",
"recurrenceEndType":"endBy",
"durationInDays":0,
"recurrenceCount":0
},
"autoReviewSettings":{
"notReviewedResult":"Deny"
}
}
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var accessReview = new AccessReview
{
DisplayName = "TestReview",
StartDateTime = DateTimeOffset.Parse("2017-02-10T00:35:53.214Z"),
EndDateTime = DateTimeOffset.Parse("2017-03-12T00:35:53.214Z"),
ReviewedEntity = new Identity
{
Id = "99025615-a0b1-47ec-9117-35377b10998b"
},
ReviewerType = "delegated",
BusinessFlowTemplateId = "6e4f3d20-c5c3-407f-9695-8460952bcc68",
Description = "Sample description",
Reviewers = new AccessReviewReviewersCollectionPage()
{
new AccessReviewReviewer
{
Id = "f260246a-09b1-4fd5-8d18-daed736071ec"
},
new AccessReviewReviewer
{
Id = "5a4e184c-4ee5-4883-96e9-b371f8da88e3"
}
},
Settings = new AccessReviewSettings
{
MailNotificationsEnabled = true,
RemindersEnabled = true,
JustificationRequiredOnApproval = true,
AutoReviewEnabled = false,
ActivityDurationInDays = 30,
AutoApplyReviewResultsEnabled = false,
AccessRecommendationsEnabled = false,
RecurrenceSettings = new AccessReviewRecurrenceSettings
{
RecurrenceType = "onetime",
RecurrenceEndType = "endBy",
DurationInDays = 0,
RecurrenceCount = 0
},
AutoReviewSettings = new AutoReviewSettings
{
NotReviewedResult = "Deny"
}
}
};
await graphClient.AccessReviews
.Request()
.AddAsync(accessReview);
const options = {
authProvider,
};
const client = Client.init(options);
const accessReview = {
displayName: 'TestReview',
startDateTime: '2017-02-10T00:35:53.214Z',
endDateTime: '2017-03-12T00:35:53.214Z',
reviewedEntity: {
id: '99025615-a0b1-47ec-9117-35377b10998b'
},
reviewerType: 'delegated',
businessFlowTemplateId: '6e4f3d20-c5c3-407f-9695-8460952bcc68',
description: 'Sample description',
reviewers:
[
{
id: 'f260246a-09b1-4fd5-8d18-daed736071ec'
},
{
id: '5a4e184c-4ee5-4883-96e9-b371f8da88e3'
}
],
settings:
{
mailNotificationsEnabled: true,
remindersEnabled: true,
justificationRequiredOnApproval: true,
autoReviewEnabled: false,
activityDurationInDays: 30,
autoApplyReviewResultsEnabled: false,
accessRecommendationsEnabled: false,
recurrenceSettings: {
recurrenceType: 'onetime',
recurrenceEndType: 'endBy',
durationInDays: 0,
recurrenceCount: 0
},
autoReviewSettings: {
notReviewedResult: 'Deny'
}
}
};
await client.api('/accessReviews')
.version('beta')
.post(accessReview);
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/beta/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/accessReviews"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphAccessReview *accessReview = [[MSGraphAccessReview alloc] init];
[accessReview setDisplayName:@"TestReview"];
[accessReview setStartDateTime: "2017-02-10T00:35:53.214Z"];
[accessReview setEndDateTime: "2017-03-12T00:35:53.214Z"];
MSGraphIdentity *reviewedEntity = [[MSGraphIdentity alloc] init];
[reviewedEntity setId:@"99025615-a0b1-47ec-9117-35377b10998b"];
[accessReview setReviewedEntity:reviewedEntity];
[accessReview setReviewerType:@"delegated"];
[accessReview setBusinessFlowTemplateId:@"6e4f3d20-c5c3-407f-9695-8460952bcc68"];
[accessReview setDescription:@"Sample description"];
NSMutableArray *reviewersList = [[NSMutableArray alloc] init];
MSGraphAccessReviewReviewer *reviewers = [[MSGraphAccessReviewReviewer alloc] init];
[reviewers setId:@"f260246a-09b1-4fd5-8d18-daed736071ec"];
[reviewersList addObject: reviewers];
MSGraphAccessReviewReviewer *reviewers = [[MSGraphAccessReviewReviewer alloc] init];
[reviewers setId:@"5a4e184c-4ee5-4883-96e9-b371f8da88e3"];
[reviewersList addObject: reviewers];
[accessReview setReviewers:reviewersList];
MSGraphAccessReviewSettings *settings = [[MSGraphAccessReviewSettings alloc] init];
[settings setMailNotificationsEnabled: true];
[settings setRemindersEnabled: true];
[settings setJustificationRequiredOnApproval: true];
[settings setAutoReviewEnabled: false];
[settings setActivityDurationInDays: 30];
[settings setAutoApplyReviewResultsEnabled: false];
[settings setAccessRecommendationsEnabled: false];
MSGraphAccessReviewRecurrenceSettings *recurrenceSettings = [[MSGraphAccessReviewRecurrenceSettings alloc] init];
[recurrenceSettings setRecurrenceType:@"onetime"];
[recurrenceSettings setRecurrenceEndType:@"endBy"];
[recurrenceSettings setDurationInDays: 0];
[recurrenceSettings setRecurrenceCount: 0];
[settings setRecurrenceSettings:recurrenceSettings];
MSGraphAutoReviewSettings *autoReviewSettings = [[MSGraphAutoReviewSettings alloc] init];
[autoReviewSettings setNotReviewedResult:@"Deny"];
[settings setAutoReviewSettings:autoReviewSettings];
[accessReview setSettings:settings];
NSError *error;
NSData *accessReviewData = [accessReview getSerializedDataWithError:&error];
[urlRequest setHTTPBody:accessReviewData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
AccessReview accessReview = new AccessReview();
accessReview.displayName = "TestReview";
accessReview.startDateTime = OffsetDateTimeSerializer.deserialize("2017-02-10T00:35:53.214Z");
accessReview.endDateTime = OffsetDateTimeSerializer.deserialize("2017-03-12T00:35:53.214Z");
Identity reviewedEntity = new Identity();
reviewedEntity.id = "99025615-a0b1-47ec-9117-35377b10998b";
accessReview.reviewedEntity = reviewedEntity;
accessReview.reviewerType = "delegated";
accessReview.businessFlowTemplateId = "6e4f3d20-c5c3-407f-9695-8460952bcc68";
accessReview.description = "Sample description";
LinkedList<AccessReviewReviewer> reviewersList = new LinkedList<AccessReviewReviewer>();
AccessReviewReviewer reviewers = new AccessReviewReviewer();
reviewers.id = "f260246a-09b1-4fd5-8d18-daed736071ec";
reviewersList.add(reviewers);
AccessReviewReviewer reviewers1 = new AccessReviewReviewer();
reviewers1.id = "5a4e184c-4ee5-4883-96e9-b371f8da88e3";
reviewersList.add(reviewers1);
AccessReviewReviewerCollectionResponse accessReviewReviewerCollectionResponse = new AccessReviewReviewerCollectionResponse();
accessReviewReviewerCollectionResponse.value = reviewersList;
AccessReviewReviewerCollectionPage accessReviewReviewerCollectionPage = new AccessReviewReviewerCollectionPage(accessReviewReviewerCollectionResponse, null);
accessReview.reviewers = accessReviewReviewerCollectionPage;
AccessReviewSettings settings = new AccessReviewSettings();
settings.mailNotificationsEnabled = true;
settings.remindersEnabled = true;
settings.justificationRequiredOnApproval = true;
settings.autoReviewEnabled = false;
settings.activityDurationInDays = 30;
settings.autoApplyReviewResultsEnabled = false;
settings.accessRecommendationsEnabled = false;
AccessReviewRecurrenceSettings recurrenceSettings = new AccessReviewRecurrenceSettings();
recurrenceSettings.recurrenceType = "onetime";
recurrenceSettings.recurrenceEndType = "endBy";
recurrenceSettings.durationInDays = 0;
recurrenceSettings.recurrenceCount = 0;
settings.recurrenceSettings = recurrenceSettings;
AutoReviewSettings autoReviewSettings = new AutoReviewSettings();
autoReviewSettings.notReviewedResult = "Deny";
settings.autoReviewSettings = autoReviewSettings;
accessReview.settings = settings;
graphClient.accessReviews()
.buildRequest()
.post(accessReview);
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewAccessReview()
displayName := "TestReview"
requestBody.SetDisplayName(&displayName)
startDateTime, err := time.Parse(time.RFC3339, "2017-02-10T00:35:53.214Z")
requestBody.SetStartDateTime(&startDateTime)
endDateTime, err := time.Parse(time.RFC3339, "2017-03-12T00:35:53.214Z")
requestBody.SetEndDateTime(&endDateTime)
reviewedEntity := msgraphsdk.NewIdentity()
requestBody.SetReviewedEntity(reviewedEntity)
id := "99025615-a0b1-47ec-9117-35377b10998b"
reviewedEntity.SetId(&id)
reviewerType := "delegated"
requestBody.SetReviewerType(&reviewerType)
businessFlowTemplateId := "6e4f3d20-c5c3-407f-9695-8460952bcc68"
requestBody.SetBusinessFlowTemplateId(&businessFlowTemplateId)
description := "Sample description"
requestBody.SetDescription(&description)
requestBody.SetReviewers( []AccessReviewReviewer {
msgraphsdk.NewAccessReviewReviewer(),
id := "f260246a-09b1-4fd5-8d18-daed736071ec"
SetId(&id)
msgraphsdk.NewAccessReviewReviewer(),
id := "5a4e184c-4ee5-4883-96e9-b371f8da88e3"
SetId(&id)
}
settings := msgraphsdk.NewAccessReviewSettings()
requestBody.SetSettings(settings)
mailNotificationsEnabled := true
settings.SetMailNotificationsEnabled(&mailNotificationsEnabled)
remindersEnabled := true
settings.SetRemindersEnabled(&remindersEnabled)
justificationRequiredOnApproval := true
settings.SetJustificationRequiredOnApproval(&justificationRequiredOnApproval)
autoReviewEnabled := false
settings.SetAutoReviewEnabled(&autoReviewEnabled)
activityDurationInDays := int32(30)
settings.SetActivityDurationInDays(&activityDurationInDays)
autoApplyReviewResultsEnabled := false
settings.SetAutoApplyReviewResultsEnabled(&autoApplyReviewResultsEnabled)
accessRecommendationsEnabled := false
settings.SetAccessRecommendationsEnabled(&accessRecommendationsEnabled)
recurrenceSettings := msgraphsdk.NewAccessReviewRecurrenceSettings()
settings.SetRecurrenceSettings(recurrenceSettings)
recurrenceType := "onetime"
recurrenceSettings.SetRecurrenceType(&recurrenceType)
recurrenceEndType := "endBy"
recurrenceSettings.SetRecurrenceEndType(&recurrenceEndType)
durationInDays := int32(0)
recurrenceSettings.SetDurationInDays(&durationInDays)
recurrenceCount := int32(0)
recurrenceSettings.SetRecurrenceCount(&recurrenceCount)
autoReviewSettings := msgraphsdk.NewAutoReviewSettings()
settings.SetAutoReviewSettings(autoReviewSettings)
notReviewedResult := "Deny"
autoReviewSettings.SetNotReviewedResult(¬ReviewedResult)
result, err := graphClient.AccessReviews().Post(requestBody)
Import-Module Microsoft.Graph.Identity.Governance
$params = @{
DisplayName = "TestReview"
StartDateTime = [System.DateTime]::Parse("2017-02-10T00:35:53.214Z")
EndDateTime = [System.DateTime]::Parse("2017-03-12T00:35:53.214Z")
ReviewedEntity = @{
Id = "99025615-a0b1-47ec-9117-35377b10998b"
}
ReviewerType = "delegated"
BusinessFlowTemplateId = "6e4f3d20-c5c3-407f-9695-8460952bcc68"
Description = "Sample description"
Reviewers = @(
@{
Id = "f260246a-09b1-4fd5-8d18-daed736071ec"
}
@{
Id = "5a4e184c-4ee5-4883-96e9-b371f8da88e3"
}
)
Settings = @{
MailNotificationsEnabled = $true
RemindersEnabled = $true
JustificationRequiredOnApproval = $true
AutoReviewEnabled = $false
ActivityDurationInDays = 30
AutoApplyReviewResultsEnabled = $false
AccessRecommendationsEnabled = $false
RecurrenceSettings = @{
RecurrenceType = "onetime"
RecurrenceEndType = "endBy"
DurationInDays = 0
RecurrenceCount = 0
}
AutoReviewSettings = @{
NotReviewedResult = "Deny"
}
}
}
New-MgAccessReview -BodyParameter $params
応答
注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
HTTP/1.1 201 Created
Content-type: application/json
{
"id": "006111db-0810-4494-a6df-904d368bd81b",
"displayName": "TestReview",
"startDateTime": "2017-02-10T00:35:53.214Z",
"endDateTime": "2017-03-12T00:35:53.214Z",
"status": "Initializing",
"businessFlowTemplateId": "6e4f3d20-c5c3-407f-9695-8460952bcc68",
"reviewerType": "delegated",
"description": "Sample description"
}