名前空間: microsoft.graph
servicePrincipal オブジェクトに強力なパスワードまたはシークレットを追加します。
この API は、次の国内クラウド展開で使用できます。
グローバル サービス |
米国政府機関 L4 |
米国政府機関 L5 (DOD) |
21Vianet が運営する中国 |
✅ |
✅ |
✅ |
✅ |
アクセス許可
この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。
アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。
アクセス許可の種類 |
最小特権アクセス許可 |
より高い特権のアクセス許可 |
委任 (職場または学校のアカウント) |
Application.ReadWrite.All |
Directory.ReadWrite.All |
委任 (個人用 Microsoft アカウント) |
サポートされていません。 |
サポートされていません。 |
アプリケーション |
Application.ReadWrite.OwnedBy |
Application.ReadWrite.All, Directory.ReadWrite.All |
重要
職場または学校アカウントを使用した委任されたシナリオでは、サインインしているユーザーに、サポートされているMicrosoft Entraロールまたはサポートされているロールのアクセス許可を持つカスタム ロールを割り当てる必要があります。 この操作では、次の最小特権ロールがサポートされています。
- 既定のユーザー アクセス許可を持つ管理者以外のメンバー ユーザー - 所有しているアプリケーション用
- アプリケーション開発者 - 所有するアプリケーション用
- クラウド アプリケーション管理者
- アプリケーション管理者
HTTP 要求
サービス プリンシパルは、 その ID または appId を使用してアドレス指定できます。
id と appId は、Microsoft Entra 管理センターのアプリ登録でそれぞれオブジェクト ID とアプリケーション (クライアント) ID と呼ばれます。
POST /servicePrincipals/{id}/addPassword
POST /servicePrincipals(appId='{appId}')/addPassword
名前 |
説明 |
Authorization |
ベアラー {token}。 必須です。
認証と認可についての詳細をご覧ください。 |
Content-Type |
application/json. 必須です。 |
要求本文
要求本文で、空の passwordCredential オブジェクトを指定するか、次の省略可能なプロパティを指定します。
プロパティ |
型 |
説明 |
displayName |
文字列 |
パスワードのフレンドリ名。 省略可能。 |
endDateTime |
DateTimeOffset |
パスワードの有効期限が切れる日付と時刻は、ISO 8601 形式を使用して表され、常に UTC 時刻になります。 たとえば、2014 年 1 月 1 日午前 0 時 (UTC) は、2014-01-01T00:00:00Z です。 省略可能。 既定値は "startDateTime + 2 years" です。 |
startDateTime |
DateTimeOffset |
パスワードが有効になる日時。 Timestamp 型は、ISO 8601 形式を使用して日付と時刻の情報を表し、常に UTC 時間です。 たとえば、2014 年 1 月 1 日午前 0 時 (UTC) は、2014-01-01T00:00:00Z です。 省略可能。 既定値は "now" です。 |
応答
成功した場合、このメソッドは 200 OK
応答コードと、応答本文に新しい passwordCredential オブジェクトを返します。 応答オブジェクトの secretText プロパティには、長さが 16 から 64 文字のMicrosoft Entra IDによって生成された強力なパスワードが含まれています。 今後、このパスワードを取得する方法はありません。
例
次の例は、この API を呼び出す方法を示しています。
要求
次の例は要求を示しています。
POST https://graph.microsoft.com/v1.0/servicePrincipals/{id}/addPassword
Content-type: application/json
{
"passwordCredential": {
"displayName": "Password friendly name"
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.ServicePrincipals.Item.AddPassword;
using Microsoft.Graph.Models;
var requestBody = new AddPasswordPostRequestBody
{
PasswordCredential = new PasswordCredential
{
DisplayName = "Password friendly name",
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.ServicePrincipals["{servicePrincipal-id}"].AddPassword.PostAsync(requestBody);
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
mgc service-principals add-password post --service-principal-id {servicePrincipal-id} --body '{\
"passwordCredential": {\
"displayName": "Password friendly name"\
}\
}\
'
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphserviceprincipals "github.com/microsoftgraph/msgraph-sdk-go/serviceprincipals"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphserviceprincipals.NewAddPasswordPostRequestBody()
passwordCredential := graphmodels.NewPasswordCredential()
displayName := "Password friendly name"
passwordCredential.SetDisplayName(&displayName)
requestBody.SetPasswordCredential(passwordCredential)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
addPassword, err := graphClient.ServicePrincipals().ByServicePrincipalId("servicePrincipal-id").AddPassword().Post(context.Background(), requestBody, nil)
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.serviceprincipals.item.addpassword.AddPasswordPostRequestBody addPasswordPostRequestBody = new com.microsoft.graph.serviceprincipals.item.addpassword.AddPasswordPostRequestBody();
PasswordCredential passwordCredential = new PasswordCredential();
passwordCredential.setDisplayName("Password friendly name");
addPasswordPostRequestBody.setPasswordCredential(passwordCredential);
PasswordCredential result = graphClient.servicePrincipals().byServicePrincipalId("{servicePrincipal-id}").addPassword().post(addPasswordPostRequestBody);
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
const options = {
authProvider,
};
const client = Client.init(options);
const passwordCredential = {
passwordCredential: {
displayName: 'Password friendly name'
}
};
await client.api('/servicePrincipals/{id}/addPassword')
.post(passwordCredential);
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\ServicePrincipals\Item\AddPassword\AddPasswordPostRequestBody;
use Microsoft\Graph\Generated\Models\PasswordCredential;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new AddPasswordPostRequestBody();
$passwordCredential = new PasswordCredential();
$passwordCredential->setDisplayName('Password friendly name');
$requestBody->setPasswordCredential($passwordCredential);
$result = $graphServiceClient->servicePrincipals()->byServicePrincipalId('servicePrincipal-id')->addPassword()->post($requestBody)->wait();
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
Import-Module Microsoft.Graph.Applications
$params = @{
passwordCredential = @{
displayName = "Password friendly name"
}
}
Add-MgServicePrincipalPassword -ServicePrincipalId $servicePrincipalId -BodyParameter $params
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.serviceprincipals.item.add_password.add_password_post_request_body import AddPasswordPostRequestBody
from msgraph.generated.models.password_credential import PasswordCredential
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = AddPasswordPostRequestBody(
password_credential = PasswordCredential(
display_name = "Password friendly name",
),
)
result = await graph_client.service_principals.by_service_principal_id('servicePrincipal-id').add_password.post(request_body)
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
応答
次の例は応答を示しています。
注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
HTTP/1.1 200 OK
Content-type: application/json
{
"customKeyIdentifier": null,
"endDateTime": "2021-09-09T19:50:29.3086381Z",
"keyId": "f0b0b335-1d71-4883-8f98-567911bfdca6",
"startDateTime": "2019-09-09T19:50:29.3086381Z",
"secretText": "[6gyXA5S20@MN+WRXAJ]I-TO7g1:h2P8",
"hint": "[6g",
"displayName": "Password friendly name"
}