New-EntraServicePrincipal
サービス プリンシパルを作成します。
構文
Default (既定)
New-EntraServicePrincipal
-AppId <String>
[-KeyCredentials <System.Collections.Generic.List`1[Microsoft.Open.AzureAD.Model.KeyCredential]>]
[-Homepage <String>]
[-LogoutUrl <String>]
[-ServicePrincipalType <String>]
[-AlternativeNames <System.Collections.Generic.List`1[System.String]>]
[-PasswordCredentials <System.Collections.Generic.List`1[Microsoft.Open.AzureAD.Model.PasswordCredential]>]
[-Tags <System.Collections.Generic.List`1[System.String]>]
[-AccountEnabled <String>]
[-ServicePrincipalNames <System.Collections.Generic.List`1[System.String]>]
[-AppRoleAssignmentRequired <Boolean>]
[-DisplayName <String>]
[-ReplyUrls <System.Collections.Generic.List`1[System.String]>]
[<CommonParameters>]
説明
新しいサービス プリンシパルを作成します。
マルチテナント アプリの場合、呼び出し元のユーザーは、次のMicrosoft Entraロールの少なくとも 1 つに含まれている必要もあります。
- アプリケーション管理者
- クラウド アプリケーション管理者
呼び出し元のユーザーが管理者以外のユーザーであり、バッキング アプリケーションの所有者であるシングルテナント アプリの場合、ユーザーはアプリケーション開発者ロールを持っている必要があります。
例
例 1: DisplayName、AccountEnabled、Tags、AppRoleAssignmentRequired を使用して新しいサービス プリンシパルを作成する
Connect-Entra -Scopes 'Application.ReadWrite.All','Application.ReadWrite.OwnedBy'
$application = Get-EntraApplication -Filter "DisplayName eq 'Helpdesk Application'"
$params = @{
AccountEnabled = $true
AppId = $application.AppId
AppRoleAssignmentRequired = $true
DisplayName = $application.DisplayName
Tags = {WindowsAzureActiveDirectoryIntegratedApp}
}
New-EntraServicePrincipal @params
DisplayName Id AppId SignInAudience ServicePrincipalType
----------- -- ----- -------------- --------------------
Helpdesk Application bbbbbbbb-1111-2222-3333-cccccccccccc 00001111-aaaa-2222-bbbb-3333cccc4444 AzureADMyOrg Application
この例では、Microsoft Entra IDで新しいサービス プリンシパルを作成する方法を示します。 コマンド Get-EntraApplication を使用して、アプリケーション アプリ ID を取得できます。
タグ -Tags {WindowsAzureActiveDirectoryIntegratedApp} は、管理ポータルの統合アプリケーションの一覧にこのサービス プリンシパルを表示するために使用されます。
-
-AccountEnabledパラメーターは、サービス プリンシパル アカウントが有効な場合は true、それ以外の場合は false を指定します。 -
-AppIdパラメーターは、関連付けられているアプリケーションの一意識別子 (その appId プロパティ) を指定します。 -
-DisplayNameパラメーターは、サービス プリンシパルの表示名を指定します。 -
-AppRoleAssignmentRequiredパラメーターは、アプリケーション ロールの割り当てが必要かどうかを示します。
例 2: Homepage、logoutUrl、ReplyUrls を使用して新しいサービス プリンシパルを作成する
Connect-Entra -Scopes 'Application.ReadWrite.All','Application.ReadWrite.OwnedBy'
$application = Get-EntraApplication -Filter "DisplayName eq 'Helpdesk Application'"
$params = @{
AppId = $application.AppId
Homepage = 'https://localhost/home'
LogoutUrl = 'htpp://localhost/logout'
ReplyUrls = 'https://localhost/redirect'
}
New-EntraServicePrincipal @params
DisplayName Id AppId SignInAudience ServicePrincipalType
----------- -- ----- -------------- --------------------
Helpdesk Application bbbbbbbb-1111-2222-3333-cccccccccccc 00001111-aaaa-2222-bbbb-3333cccc4444 AzureADMyOrg Application
この例では、Microsoft Entra IDで新しいサービス プリンシパルを作成する方法を示します。 コマンド Get-EntraApplication を使用して、アプリケーション アプリ ID を取得できます。
-
-AppIdパラメーターは、関連付けられているアプリケーションの一意識別子 (その appId プロパティ) を指定します。 -
-Homepageパラメーターは、アプリケーションのホーム ページまたはランディング ページを指定します。 -
-LogoutUrlパラメーターはログアウト URL を指定します。 -
-ReplyUrlsパラメーターは、関連付けられたアプリケーションでサインインするためにユーザー トークンが送信される URL を指定します。
例 3: KeyCredentials によって新しいサービス プリンシパルを作成する
Connect-Entra -Scopes 'Application.ReadWrite.All','Application.ReadWrite.OwnedBy'
$creds = New-Object Microsoft.Open.AzureAD.Model.KeyCredential
$creds.CustomKeyIdentifier = [System.Text.Encoding]::UTF8.GetBytes('Test')
$startdate = Get-Date -Year 2023 -Month 10 -Day 23
$creds.StartDate = $startdate
$creds.Type = 'Symmetric'
$creds.Usage = 'Sign'
$creds.Value = [System.Text.Encoding]::UTF8.GetBytes('strong-cred-value')
$creds.EndDate = Get-Date -Year 2024 -Month 10 -Day 23
$application = Get-EntraApplication -Filter "DisplayName eq 'Helpdesk Application'"
New-EntraServicePrincipal -AppId $application.AppId -KeyCredentials $creds
DisplayName Id AppId SignInAudience ServicePrincipalType
----------- -- ----- -------------- --------------------
Helpdesk Application bbbbbbbb-1111-2222-3333-cccccccccccc 00001111-aaaa-2222-bbbb-3333cccc4444 AzureADMyOrg Application
この例では、Microsoft Entra IDで新しいサービス プリンシパルを作成する方法を示します。 コマンド Get-EntraApplication を使用して、アプリケーション アプリ ID を取得できます。
-
-AppIdパラメーターは、関連付けられているアプリケーションの一意識別子 (その appId プロパティ) を指定します。 -
-KeyCredentialsパラメーターは、サービス プリンシパルに関連付けられているキー資格情報のコレクションを指定します。
例 4: AlternativeNames、ServicePrincipalType、ServicePrincipalName で新しいサービス プリンシパルを作成する
Connect-Entra -Scopes 'Application.ReadWrite.All','Application.ReadWrite.OwnedBy'
$application = Get-EntraApplication -Filter "DisplayName eq 'Helpdesk Application'"
New-EntraServicePrincipal -AppId $application.AppId -AlternativeNames 'sktest2' -ServicePrincipalType 'Application' -ServicePrincipalNames $application.AppId
DisplayName Id AppId SignInAudience ServicePrincipalType
----------- -- ----- -------------- --------------------
Helpdesk Application bbbbbbbb-1111-2222-3333-cccccccccccc 00001111-aaaa-2222-bbbb-3333cccc4444 AzureADandPersonalMicrosoftAccount Application
この例では、Microsoft Entra IDで新しいサービス プリンシパルを作成する方法を示します。 コマンド Get-EntraApplication を使用して、アプリケーション アプリ ID を取得できます。
-
-AppIdパラメーターは、関連付けられているアプリケーションの一意識別子 (その appId プロパティ) を指定します。 -
-AlternativeNamesパラメーターは、このサービス プリンシパルの代替名を指定します。 -
-ServicePrincipalTypeパラメーターは、サービス プリンシパルの型を指定します。 -
-ServicePrincipalNamesパラメーターは、サービス プリンシパル名の配列を指定します。
パラメーター
-AccountEnabled
サービス プリンシパル アカウントが有効になっている場合は True。それ以外の場合は false。
パラメーターのプロパティ
| 型: | System.String |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-AlternativeNames
このサービス プリンシパルの代替名。
パラメーターのプロパティ
| 型: | System.Collections.Generic.List`1[System.String] |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-AppId
関連付けられているアプリケーションの一意識別子 (その appId プロパティ)。
パラメーターのプロパティ
| 型: | System.String |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | True |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-AppRoleAssignmentRequired
アプリケーション ロールの割り当てが必要かどうかを示します。
パラメーターのプロパティ
| 型: | System.Boolean |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-DisplayName
サービス プリンシパルの表示名を指定します。
パラメーターのプロパティ
| 型: | System.String |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Homepage
アプリケーションのホームページまたはランディングページ。
パラメーターのプロパティ
| 型: | System.String |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-KeyCredentials
サービス プリンシパルに関連付けられているキー資格情報のコレクションです。null 許容型ではありません。
パラメーターのプロパティ
| 型: | System.Collections.Generic.List`1[Microsoft.Open.AzureAD.Model.KeyCredential] |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-LogoutUrl
ログアウト URL を指定します。
パラメーターのプロパティ
| 型: | System.String |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-PasswordCredentials
アプリケーションに関連付けられているパスワード資格情報のコレクションです。
パラメーターのプロパティ
| 型: | System.Collections.Generic.List`1[Microsoft.Open.AzureAD.Model.PasswordCredential] |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-ReplyUrls
関連付けられたアプリケーションにサインインするためにユーザー トークンが送信される URL、または関連付けられたアプリケーションに対して OAuth 2.0 認証コードとアクセス トークンが送信されるリダイレクト URI。
パラメーターのプロパティ
| 型: | System.Collections.Generic.List`1[System.String] |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-ServicePrincipalNames
サービス プリンシパル名の配列を指定します。 identifierURIs コレクションとアプリケーションの appId プロパティに基づいて、これらの URI を使用してアプリケーションのサービス プリンシパルを参照します。 クライアントは ServicePrincipalNames を使用して以下を行います。
- Azure クラシック ポータルの "他のアプリケーションへのアクセス許可" を使用して requiredResourceAccess を設定します。
- 要求で返される URI であるアクセス トークンを取得するリソース URI を指定します。
パラメーターのプロパティ
| 型: | System.Collections.Generic.List`1[System.String] |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-ServicePrincipalType
サービス プリンシパルの種類。
パラメーターのプロパティ
| 型: | System.String |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Tags
このサービス プリンシパルにリンクされているタグ。
このサービス プリンシパルを管理ポータルの [すべてのアプリケーション] 一覧に表示する場合は、この値を {WindowsAzureActiveDirectoryIntegratedApp} に設定する必要があることに注意してください。
パラメーターのプロパティ
| 型: | System.Collections.Generic.List`1[System.String] |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
CommonParameters
このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。