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を参照してください。