Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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. Este método, juntamente com removeKey , pode ser utilizado por um servicePrincipal para automatizar a implementação das chaves prestes 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 servicePrincipal com ou sem 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.
Os ServicePrincipals que não tenham certificados válidos existentes (ou seja, ainda não foram adicionados certificados ou todos os certificados expiraram), não poderão utilizar esta ação de serviço. O servicePrincipal de atualização pode ser utilizado para efetuar uma atualização.
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 |
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 o principal de serviç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 /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 do pedido, forneça as seguintes propriedades necessárias.
| Propriedade | Tipo | Descrição |
|---|---|---|
| keyCredential | keyCredential | A nova credencial de chave servicePrincipal a adicionar. O tipo, a utilização e a chave são propriedades necessárias para esta utilização. Os tipos de chave suportados são:
|
| passwordCredential | passwordCredential | Só é necessário definir secretText que deve conter a palavra-passe da chave. Esta propriedade é necessária apenas para chaves do tipo X509CertAndPassword. Defina-o para o null contrário. |
| 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 ao servicePrincipal. O token deve conter os seguintes argumentos:
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 for bem-sucedido, este método devolve 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 servicePrincipal
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 palavra-passe 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"
}