Namespace: microsoft.graph
Remover uma credencial de chave de uma aplicação. Este método, juntamente com addKey , pode ser utilizado por uma aplicação para automatizar a implementação das chaves a expirar.
Observação
As operações servicePrincipal e Update servicePrincipal podem continuar a ser utilizadas para adicionar e atualizar credenciais de chave para qualquer aplicação com aplicação ou o contexto de um utilizador.
Como parte da validação do pedido para este método, é verificada uma prova de posse de uma chave existente antes de a ação poder ser executada.
Esta API está disponível nas seguintes implementações de cloud nacionais.
Serviço global |
US Government L4 |
US Government L5 (DOD) |
China operada pela 21Vianet |
✅ |
✅ |
✅ |
✅ |
Permissões
Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.
Tipo de permissão |
Permissões com menos privilégios |
Permissões com privilégios superiores |
Delegado (conta corporativa ou de estudante) |
Application.ReadWrite.All |
Directory.ReadWrite.All |
Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
Application |
Application.ReadWrite.OwnedBy |
Application.ReadWrite.All, Directory.ReadWrite.All |
Observação
Uma aplicação não precisa de permissão específica para implementar as suas próprias chaves.
Importante
Em cenários delegados com contas escolares ou profissionais, o utilizador com sessão iniciada tem de ter uma função de Microsoft Entra suportada ou uma função personalizada com uma permissão de função suportada. As seguintes funções com menos privilégios são suportadas para esta operação.
- Um utilizador membro não administrador com permissões de utilizador predefinidas – para aplicações que possui
- Programador de Aplicações – para aplicações que possuem
- Administrador de Aplicativos de Nuvem
- Administrador de Aplicativos
Solicitação HTTP
Pode abordar a aplicação com o respetivo ID ou appId.
O id e o appId são referidos como o ID do Objeto e o ID da Aplicação (Cliente), respetivamente, nos registos de aplicações no centro de administração do Microsoft Entra.
POST /applications/{id}/removeKey
POST /applications(appId='{appId}')/removeKey
Nome |
Descrição |
Autorização |
{token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
Content-Type |
application/json. Obrigatório. |
Corpo da solicitação
No corpo do pedido, forneça as seguintes propriedades necessárias.
Propriedade |
Tipo |
Descrição |
keyId |
Guid |
O identificador exclusivo da palavra-passe. |
prova |
Cadeia de caracteres |
Um token JWT autoassinado utilizado como prova de posse das chaves existentes. Este token JWT tem de ser assinado com uma chave privada que corresponda a um dos certificados válidos existentes associados à aplicação. O token deve conter os seguintes argumentos:-
aud: o público tem de ser
00000002-0000-0000-c000-000000000000 . -
iss: O emissor tem de ser o ID da aplicação que inicia o pedido.
-
nbf: Não antes do tempo.
-
exp: O tempo de expiração deve ser o valor de nbf + 10 minutos.
Para obter os passos para gerar este token de prova de posse, veja Gerar tokens de prova de posse para chaves sem interrupção. |
Resposta
Se tiver êxito, este método retornará um código de resposta 204 No content
.
Exemplos
Segue-se um exemplo que mostra como chamar esta API.
Solicitação
O exemplo a seguir mostra uma solicitação.
POST https://graph.microsoft.com/v1.0/applications/{id}/removeKey
Content-Type: application/json
{
"keyId": "f0b0b335-1d71-4883-8f98-567911bfdca6",
"proof":"eyJ0eXAiOiJ..."
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Applications.Item.RemoveKey;
var requestBody = new RemoveKeyPostRequestBody
{
KeyId = Guid.Parse("f0b0b335-1d71-4883-8f98-567911bfdca6"),
Proof = "eyJ0eXAiOiJ...",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Applications["{application-id}"].RemoveKey.PostAsync(requestBody);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
"github.com/google/uuid"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphapplications "github.com/microsoftgraph/msgraph-sdk-go/applications"
//other-imports
)
requestBody := graphapplications.NewRemoveKeyPostRequestBody()
keyId := uuid.MustParse("f0b0b335-1d71-4883-8f98-567911bfdca6")
requestBody.SetKeyId(&keyId)
proof := "eyJ0eXAiOiJ..."
requestBody.SetProof(&proof)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Applications().ByApplicationId("application-id").RemoveKey().Post(context.Background(), requestBody, nil)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.applications.item.removekey.RemoveKeyPostRequestBody removeKeyPostRequestBody = new com.microsoft.graph.applications.item.removekey.RemoveKeyPostRequestBody();
removeKeyPostRequestBody.setKeyId(UUID.fromString("f0b0b335-1d71-4883-8f98-567911bfdca6"));
removeKeyPostRequestBody.setProof("eyJ0eXAiOiJ...");
graphClient.applications().byApplicationId("{application-id}").removeKey().post(removeKeyPostRequestBody);
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('/applications/{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.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Applications\Item\RemoveKey\RemoveKeyPostRequestBody;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new RemoveKeyPostRequestBody();
$requestBody->setKeyId('f0b0b335-1d71-4883-8f98-567911bfdca6');
$requestBody->setProof('eyJ0eXAiOiJ...');
$graphServiceClient->applications()->byApplicationId('application-id')->removeKey()->post($requestBody)->wait();
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-MgApplicationKey -ApplicationId $applicationId -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.
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.applications.item.remove_key.remove_key_post_request_body import RemoveKeyPostRequestBody
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = RemoveKeyPostRequestBody(
key_id = UUID("f0b0b335-1d71-4883-8f98-567911bfdca6"),
proof = "eyJ0eXAiOiJ...",
)
await graph_client.applications.by_application_id('application-id').remove_key.post(request_body)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 204 No Content