servicePrincipal: removeKey
-
[アーティクル]
-
-
名前空間: microsoft.graph
servicePrincipal からキー資格情報を削除します。 addKey と共に このメソッド を使用すると、servicePrincipal を使用して、期限切れのキーのローリングを自動化できます。
このメソッドの要求検証の一環として、アクションを実行する前に、既存のキーの所有証明が検証されます。
アクセス許可
アクセス許可の種類 |
アクセス許可 (特権の小さいものから大きいものへ) |
委任 (職場または学校のアカウント) |
Application.ReadWrite.All, Directory.ReadWrite.All |
委任 (個人用 Microsoft アカウント) |
なし。 |
アプリケーション |
Application.ReadWrite.OwnedBy、Application.ReadWrite.All、Directory.ReadWrite.All |
HTTP 要求
POST /servicePrincipals/{id}/removeKey
名前 |
説明 |
Authorization |
ベアラー {token}。必須。 |
Content-Type |
application/json. Required. |
要求本文
要求本文で、次の必須プロパティを指定します。
プロパティ |
型 |
説明 |
keyId |
Guid |
パスワードの一意の識別子。 |
proof |
String |
既存のキーの所有証明として使用される自己署名証明書の JWT トークン。 この JWT トークンは、servicePrincipal の既存の有効な証明書の 1 つのプライベート キーを使用して署名する必要があります。 トークンには、次の要求を含める必要があります。aud - 対象ユーザーは 00000002-0000-0000-c000-000000000000 である必要があります。iss - 発行者は、 呼 び出しを行っている servicePrincipal の ID である必要があります。nbf - 時間前ではないこと。exp - 有効期限は "nbf" + 10 分にする必要があります。
この所有証明 トークンを 生成するために使用できるコード サンプルを次に示します。 |
応答
成功した場合、このメソッドは 204 No content
応答コードを返します。
例
この API を呼び出す方法の例を次に示します。
要求
要求の例を次に示します。
POST https://graph.microsoft.com/v1.0/servicePrincipals/{id}/removeKey
Content-Type: application/json
{
"keyId": "f0b0b335-1d71-4883-8f98-567911bfdca6",
"proof":"eyJ0eXAiOiJ..."
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var keyId = Guid.Parse("f0b0b335-1d71-4883-8f98-567911bfdca6");
var proof = "eyJ0eXAiOiJ...";
await graphClient.ServicePrincipals["{servicePrincipal-id}"]
.RemoveKey(keyId,proof)
.Request()
.PostAsync();
SDK をプロジェクトに追加し、authProviderインスタンスを作成する方法の詳細については、SDKのドキュメントを参照してください。
const options = {
authProvider,
};
const client = Client.init(options);
const removeKey = {
keyId: 'f0b0b335-1d71-4883-8f98-567911bfdca6',
proof: 'eyJ0eXAiOiJ...'
};
await client.api('/servicePrincipals/{id}/removeKey')
.post(removeKey);
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/{id}/removeKey"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSMutableDictionary *payloadDictionary = [[NSMutableDictionary alloc] init];
NSString *keyId = @"f0b0b335-1d71-4883-8f98-567911bfdca6";
payloadDictionary[@"keyId"] = keyId;
NSString *proof = @"eyJ0eXAiOiJ...";
payloadDictionary[@"proof"] = proof;
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();
UUID keyId = UUID.fromString("f0b0b335-1d71-4883-8f98-567911bfdca6");
String proof = "eyJ0eXAiOiJ...";
graphClient.servicePrincipals("{id}")
.removeKey(ServicePrincipalRemoveKeyParameterSet
.newBuilder()
.withKeyId(keyId)
.withProof(proof)
.build())
.buildRequest()
.post();
SDK をプロジェクトに追加し、authProviderインスタンスを作成する方法の詳細については、SDKのドキュメントを参照してください。
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.New()
keyId := "f0b0b335-1d71-4883-8f98-567911bfdca6"
requestBody.SetKeyId(&keyId)
proof := "eyJ0eXAiOiJ..."
requestBody.SetProof(&proof)
servicePrincipalId := "servicePrincipal-id"
graphClient.ServicePrincipalsById(&servicePrincipalId).RemoveKey(servicePrincipal-id).Post(requestBody)
SDK をプロジェクトに追加し、authProviderインスタンスを作成する方法の詳細については、SDKのドキュメントを参照してください。
Import-Module Microsoft.Graph.Applications
$params = @{
KeyId = "f0b0b335-1d71-4883-8f98-567911bfdca6"
Proof = "eyJ0eXAiOiJ..."
}
Remove-MgServicePrincipalKey -ServicePrincipalId $servicePrincipalId -BodyParameter $params
SDK をプロジェクトに追加し、authProviderインスタンスを作成する方法の詳細については、SDKのドキュメントを参照してください。
応答
応答の例を次に示します。
HTTP/1.1 204 No Content