servicePrincipal: addKey
Namespace: microsoft.graph
Importante
As APIs na versão /beta
no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Adiciona uma credencial de chave a um servicePrincipal. Esse método junto com removeKey pode ser usado por um servicePrincipal para automatizar a rolagem de suas chaves expirando.
Observação
Criar serviçosPrincipal e Atualizar Operaçõesprincipal podem continuar a ser usadas para adicionar e atualizar credenciais de chave para qualquer serviçoPrincipal com ou sem o contexto de um usuário.
Como parte da validação da solicitação para esse método, uma prova de posse de uma chave existente é verificada antes que a ação possa ser executada.
ServicePrincipals que não têm certificados válidos existentes (ou seja: nenhum certificado foi adicionado ainda ou todos os certificados expiraram), não poderão usar essa ação de serviço. Atualizar o serviçoPrincipal pode ser usado para executar uma atualização.
Permissões
Escolha a permissão ou as permissões marcadas como menos privilegiadas para essa API. Use uma permissão ou permissões privilegiadas mais altas somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.
Tipo de permissão | Permissões menos privilegiadas | Permissões privilegiadas mais altas |
---|---|---|
Delegado (conta corporativa ou de estudante) | Application.ReadWrite.All | Directory.ReadWrite.All |
Delegado (conta pessoal da Microsoft) | Sem suporte. | Sem suporte. |
Aplicativo | Application.ReadWrite.OwnedBy | Application.ReadWrite.All, Directory.ReadWrite.All |
Solicitação HTTP
Você pode abordar a entidade de serviço usando sua id ou appId. Id e appId são chamados de ID de Objeto e ID do Aplicativo (Cliente), respectivamente, em registros de aplicativo no centro de administração do Microsoft Entra.
POST /servicePrincipals/{id}/addKey
POST /servicePrincipals(appId='{appId}')/addKey
Cabeçalhos de solicitação
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 da solicitação, forneça as seguintes propriedades necessárias.
Propriedade | Tipo | Descrição |
---|---|---|
keyCredential | keyCredential | A nova credencial de chave servicePrincipal a ser adicionada. O tipo, o uso e a chave são propriedades necessárias para esse uso. Os tipos de chave com suporte são:
|
passwordCredential | passwordCredential | Somente secretText é necessário para ser definido, que deve conter a senha da chave. Essa propriedade é necessária apenas para chaves do tipo X509CertAndPassword . Defina-o como caso null contrário. |
Prova | Cadeia de caracteres | Um token JWT autoassinado usado como prova de posse das chaves existentes. Esse token JWT deve ser assinado com uma chave privada que corresponda a um dos certificados válidos existentes associados ao serviçoPrincipal. O token deve conter os seguintes argumentos:
Para obter etapas para gerar essa prova de token de posse, consulte Gerando a prova de tokens de posse para chaves de rolamento. |
Resposta
Se for bem-sucedido, esse método retornará um 200 OK
código de resposta e um novo objeto keyCredential no corpo da resposta.
Exemplos
Exemplo 1: Adicionar uma nova credencial de chave a um serviçoPrincipal
Solicitação
O exemplo a seguir mostra uma solicitação.
POST https://graph.microsoft.com/beta/servicePrincipals/{id}/addKey
Content-type: application/json
{
"keyCredential": {
"type": "AsymmetricX509Cert",
"usage": "Verify",
"key": "MIIDYDCCAki..."
},
"passwordCredential": null,
"proof":"eyJ0eXAiOiJ..."
}
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#microsoft.graph.keyCredential"
}
Exemplo 2: Adicionar uma credencial de chave e uma senha associada para a chave
Solicitação
O exemplo a seguir mostra uma solicitação.
POST https://graph.microsoft.com/beta/servicePrincipals/{id}/addKey
Content-type: application/json
{
"keyCredential": {
"type": "X509CertAndPassword",
"usage": "Sign",
"key": "MIIDYDCCAki..."
},
"passwordCredential": {
"secretText": "MKTr0w1..."
},
"proof":"eyJ0eXAiOiJ..."
}
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#microsoft.graph.keyCredential"
}