servicePrincipal: addTokenSigningCertificate
-
[アーティクル]
-
-
名前空間: microsoft.graph
自己署名証明書を作成し、生成された証明書のパブリック部分である selfSignedCertificate オブジェクトを返します。
自己署名証明書は、 servicePrincipal に追加される次のオブジェクトで構成されます。
すべてのオブジェクトの値は customKeyIdentifier と同じです。
passwordCredential を 使用して PFX ファイル (プライベート キー) を開きます。 このオブジェクトと関連付けられたプライベート キー オブジェクトは、keyId の値が 同じです。 displayName プロパティを使用して作成中 に設定 すると、証明書のサブジェクトを更新できません。 startDateTime は、アクションを使用して証明書が作成されるのと同じ時刻に設定されます。 endDateTime は、証明書の作成から最大 3 年後に指定できます。
アクセス許可
| アクセス許可の種類 |
アクセス許可 (特権の小さいものから大きいものへ) |
| 委任 (職場または学校のアカウント) |
Application.ReadWrite.All, Directory.ReadWrite.All |
| 委任 (個人用 Microsoft アカウント) |
なし。 |
| アプリケーション |
Application.ReadWrite.OwnedBy、Application.ReadWrite.All、Directory.ReadWrite.All |
HTTP 要求
POST /servicePrincipals/{id}/addTokenSigningCertificate
要求本文
要求本文で、次の必須プロパティを指定します。
| プロパティ |
型 |
説明 |
| displayName |
string |
キーのフレンドリーな名前。 で始める必要があります CN=。 |
| endDateTime |
DateTimeOffset |
資格情報の有効期限が切れる日時。 証明書の作成日から最大 3 年の期間を指定できます。 指定しない場合、既定値は作成時から 3 年です。 タイムスタンプの種類は、ISO 8601 形式を使用して日付と時刻の情報を表し、常に UTC 時刻です。 たとえば、2014 年 1 月 1 日午前 0 時 (UTC) は、2014-01-01T00:00:00Z です。 |
応答
成功した場合、このメソッドは応答 200 OK コードと、応答本文の 新しい selfSignedCertificate オブジェクトを返します。
例
要求
要求の例を次に示します。
POST https://graph.microsoft.com/v1.0/servicePrincipals/004375c5-6e2e-4dec-95e3-626838cb9f80/addTokenSigningCertificate
Content-type: application/json
{
"displayName":"CN=customDisplayName",
"endDateTime":"2024-01-25T00:00:00Z"
}
const options = {
authProvider,
};
const client = Client.init(options);
const selfSignedCertificate = {
displayName: 'CN=customDisplayName',
endDateTime: '2024-01-25T00:00:00Z'
};
await client.api('/servicePrincipals/004375c5-6e2e-4dec-95e3-626838cb9f80/addTokenSigningCertificate')
.post(selfSignedCertificate);
SDK をプロジェクトに追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var displayName = "CN=customDisplayName";
var endDateTime = DateTimeOffset.Parse("2024-01-25T00:00:00Z");
await graphClient.ServicePrincipals["{servicePrincipal-id}"]
.AddTokenSigningCertificate(displayName,endDateTime)
.Request()
.PostAsync();
SDK をプロジェクトに追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/servicePrincipals/004375c5-6e2e-4dec-95e3-626838cb9f80/addTokenSigningCertificate"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSMutableDictionary *payloadDictionary = [[NSMutableDictionary alloc] init];
NSString *displayName = @"CN=customDisplayName";
payloadDictionary[@"displayName"] = displayName;
NSString *endDateTimeDateTimeString = @"01/25/2024 00:00:00";
NSDate *endDateTime = [NSDate ms_dateFromString: endDateTimeDateTimeString];
payloadDictionary[@"endDateTime"] = endDateTime;
NSData *data = [NSJSONSerialization dataWithJSONObject:payloadDictionary options:kNilOptions error:&error];
[urlRequest setHTTPBody:data];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
SDK をプロジェクトに追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
String displayName = "CN=customDisplayName";
OffsetDateTime endDateTime = OffsetDateTimeSerializer.deserialize("01/25/2024 00:00:00");
graphClient.servicePrincipals("004375c5-6e2e-4dec-95e3-626838cb9f80")
.addTokenSigningCertificate(ServicePrincipalAddTokenSigningCertificateParameterSet
.newBuilder()
.withDisplayName(displayName)
.withEndDateTime(endDateTime)
.build())
.buildRequest()
.post();
SDK をプロジェクトに追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.New()
displayName := "CN=customDisplayName"
requestBody.SetDisplayName(&displayName)
endDateTime, err := time.Parse(time.RFC3339, "2024-01-25T00:00:00Z")
requestBody.SetEndDateTime(&endDateTime)
servicePrincipalId := "servicePrincipal-id"
result, err := graphClient.ServicePrincipalsById(&servicePrincipalId).AddTokenSigningCertificate(servicePrincipal-id).Post(requestBody)
SDK をプロジェクトに追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
Import-Module Microsoft.Graph.Applications
$params = @{
DisplayName = "CN=customDisplayName"
EndDateTime = [System.DateTime]::Parse("2024-01-25T00:00:00Z")
}
Add-MgServicePrincipalTokenSigningCertificate -ServicePrincipalId $servicePrincipalId -BodyParameter $params
SDK をプロジェクトに追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
応答
応答の例を次に示します。
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.selfSignedCertificate",
"customKeyIdentifier": "2iD8ppbE+D6Kmu1ZvjM2jtQh88E=",
"displayName": "CN=customDisplayName",
"endDateTime": "2024-01-25T00:00:00Z",
"key": "MIICuDCCAaCgAwIBAgIIYXJsNtL4oUMwDQYJKoZIhvcNAQEL...StP8s/w==",
"keyId": "93bc223f-7235-4b9c-beea-d66847531c49",
"startDateTime": "2021-05-05T18:38:51.8100763Z",
"thumbprint": "DA20FCA696C4F83E8A9AED59BE33368ED421F3C1",
"type": "AsymmetricX509Cert",
"usage": "Verify"
}