servicePrincipal: removeKey
Artigo
07/18/2022
3 minutos para o fim da leitura
3 colaboradores
Neste artigo
Namespace: microsoft.graph
Remova uma credencial de chave de um servicePrincipal . Esse método juntamente com addKey pode ser usado por um servicePrincipal para automatizar a rolagem de suas chaves expiradas.
Como parte da validação de solicitação para esse método, uma prova de posse de uma chave existente é verificada antes que a ação possa ser executada.
Permissões
Tipo de permissão
Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante)
Application.ReadWrite.All, Directory.ReadWrite.All
Delegado (conta pessoal da Microsoft)
Nenhum.
Aplicativo
Application.ReadWrite.OwnedBy, Application.ReadWrite.All, Directory.ReadWrite.All
Solicitação HTTP
POST /servicePrincipals/{id}/removeKey
Nome
Descrição
Autorização
{token} de portador. Obrigatório.
Content-Type
application/json. Obrigatório.
Corpo da solicitação
No corpo da solicitação, forneça as seguintes propriedades necessárias.
Propriedade
Tipo
Descrição
keyId
Guid
O identificador exclusivo da senha.
proof
String
Um token JWT auto-assinado usado como prova de posse das chaves existentes. Esse token JWT deve ser assinado usando a chave privada de um dos certificados válidos existentes do servicePrincipal. O token deve conter os seguintes argumentos:aud – A audiência deve ser 00000002-0000-0000-c000-000000000000.iss - O emissor precisa ser a id do servicePrincipal que está fazendo a chamada.nbf – Não antes da hora.exp – O tempo de expiração deve ser "nbf" + 10 min. Aqui está um exemplo de código que pode ser usado para gerar essa prova de token de posse.
Resposta
Se tiver êxito, este método retornará um código de resposta 204 No content.
Exemplos
O exemplo a seguir mostra como chamar essa API.
Solicitação
Este é um exemplo de solicitação.
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();
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do 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);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do 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];
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do 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();
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do 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)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
Import-Module Microsoft.Graph.Applications
$params = @{
KeyId = "f0b0b335-1d71-4883-8f98-567911bfdca6"
Proof = "eyJ0eXAiOiJ..."
}
Remove-MgServicePrincipalKey -ServicePrincipalId $servicePrincipalId -BodyParameter $params
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
Resposta
Este é um exemplo de resposta.
HTTP/1.1 204 No Content