New-MsolServicePrincipal

Azure Active Directory にサービス プリンシパルを追加します。

構文

New-MsolServicePrincipal
   [-ServicePrincipalNames <String[]>]
   [-AppPrincipalId <Guid>]
   -DisplayName <String>
   [-AccountEnabled <Boolean>]
   [-Addresses <RedirectUri[]>]
   [-Type <ServicePrincipalCredentialType>]
   [-Value <String>]
   [-StartDate <DateTime>]
   [-EndDate <DateTime>]
   [-Usage <ServicePrincipalCredentialUsage>]
   [-TenantId <Guid>]
   [<CommonParameters>]

説明

New-MsolServicePrincipal コマンドレットは、基幹業務 (LOB) アプリケーションを表すために使用できるサービス プリンシパル、またはサービス プリンシパル オブジェクトとしてMicrosoft Azure Active Directoryに Microsoft Exchange、SharePoint、Lync などのオンプレミス サーバーを表すために使用できるサービス プリンシパルを作成します。 サービス プリンシパルとして新しいアプリケーションを追加すると、そのアプリケーションは Microsoft Office 365 のような他のサービスに対して認証できます。

例 1: サービス プリンシパルを作成する

PS C:\> New-MsolServicePrincipal -ServicePrincipalNames @("MyApp/myApp.com") -DisplayName "My Application"

このコマンドは、サービス プリンシパルを作成します。 この例では、サービス プリンシパルは MyApp/myApp.com というサービス プリンシパル名 (表示名 My Application) で作成され、自動生成された 256 ビット対称キーを使用してアプリケーションを検証します。 このキーは、当日から 1 年間有効です。

例 2: X509 証明書を使用するサービス プリンシパルを作成する

PS C:\> $cer = New-Object System.Security.Cryptography.X509Certificates.X509Certificate
PS C:\> $cer.Import("C:\temp\myapp.cer")
PS C:\> $binCert = $cer.GetRawCertData()
PS C:\> $credValue = [System.Convert]::ToBase64String($binCert);
PS C:\> New-MsolServicePrincipal -ServicePrincipalNames @("MyApp/myApp.com") -DisplayName "My Application" -Type asymmetric -Value $credValue

この例では、サービス プリンシパルを作成します。 この例では、サービス プリンシパル名 MyApp/myApp.com (表示名 My Application) を使用してサービス プリンシパルが作成され、Base 64 でエンコードされた非対称キーで構成された指定された X509 証明書 myapp.cer が使用されます。

パラメーター

-AccountEnabled

アカウントを有効にする必要があるかどうかを指定します。 既定値は$Trueです。

Type:Boolean
Position:Named
Default value:True
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Addresses

アプリケーションで使用されるアドレスを指定します。 New-MsolServicePrincipalAddresses コマンドレットを使用して、Addresses リスト オブジェクトを作成します。

Type:RedirectUri[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-AppPrincipalId

テナント内のサービス プリンシパルの一意のアプリケーション ID を指定します。 一度作成すると、このプロパティは変更できません。 このパラメーターを指定しないと、アプリケーション ID が生成されます。

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DisplayName

サービス プリンシパルの表示名を指定します。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-EndDate

資格情報の使用の有効終了日を指定します。 既定の終了日の値は、今日から 1 年です。

Type:DateTime
Position:Named
Default value:Today + 1 year
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ServicePrincipalNames

サービス プリンシパルに関連付けられているサービス プリンシパル名 (SPN) の一覧。

SPN は会社のテナントごとに一意である必要があり、アプリケーションによって自身を一意に識別するために使用されます。 既定では、サービス プリンシパル AppID は常に SPN として追加されます。 SPN では、次のいずれかの形式を使用する必要があります。

  • appName
  • appName/hostname
  • 有効な URL

AppName はアプリケーションの名前を表し、ホスト名はアプリケーションの URI 機関を表します。 サービス プリンシパルがWS-Federation証明書利用者を表す場合、SPN は、WS-Federation wtrealm パラメーターとして扱われる URL に設定できます。

Type:String[]
Position:Named
Default value:AppId of the service principal
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-StartDate

資格情報の使用の有効開始日を指定します。 既定の開始日の値は今日です。

Type:DateTime
Position:Named
Default value:Today
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-TenantId

操作を実行するテナントの一意の ID を指定します。 既定値は、現在のユーザーのテナントです。 このパラメーターは、パートナー ユーザーにのみ適用されます。

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Type

使用する資格情報の種類を指定します。 有効な値は、非対称、対称、およびパスワードです。

  • 非対称の場合、 Value パラメーターは、Base 64 でエンコードされた X509 証明書のパブリック部分に設定する必要があります。
  • 対称の場合、 Value が設定されていない場合は、256 ビットの AES 対称キーが生成されます。
  • パスワードの場合は、 Value パラメーターを指定する必要があり、base 64 でエンコードしないでください。

既定の設定は "対称" です。

Type:ServicePrincipalCredentialType
Position:Named
Default value:Symmetric
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Usage

資格情報キーの使用法を指定します。 資格情報キーの使用法は、トークンに署名または検証するように設定できます。 既定の設定は検証です。

署名は対称キーに対してのみ許可されます。 すべてのキーの種類に対して許可されていることを確認します。

要求トークンがこのサービス プリンシパルによって表されるアプリケーションによって送信されたことを確認するには、Azure Active Directory で資格情報の確認キーが必要です。 アプリケーションでは、必要に応じて、Azure Active Directory を識別する非対称公開キーではなく、署名キーを使用して署名されたアプリケーションに対して Azure Active Directory がトークンを発行する必要があります。 この場合は、サービス プリンシパルの署名資格情報キーを指定します。

Type:ServicePrincipalCredentialUsage
Position:Named
Default value:Verify
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Value

資格情報の値を指定します。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

出力

Microsoft.Online.Administration.ServicePrincipalExtended

このコマンドレットは、追加したサービス プリンシパルを返します。 これには、次の情報が含まれます。

  • Objectid。 サービス プリンシパルの一意の識別子。
  • AppPrincipalId。 サービス プリンシパルのアプリケーション識別子。
  • DisplayName。 サービス プリンシパルのフレンドリ名。
  • ServicePrincipalName。 サービス プリンシパルに関連付けられているサービス プリンシパル名 (SPN) の一覧。
  • TrustedForDelegation。 サービス プリンシパルが委任を許可されているかどうかを示す値。
  • AccountEnabled。 アカウントが有効かどうかを示す値。

また、追加された資格情報の一覧も取得します。 各資格情報オブジェクトには、次の情報が含まれています。

  • [Type](種類)。 サービス プリンシパル資格情報の種類 (非対称/対称/その他)。
  • Value。 資格情報の値。 資格情報の種類が証明書の場合、これは Base 64 エンコード証明書を表します。 資格情報の種類が対称の場合は、AES キーを表します。
  • KeyGroupId。 内部使用のために予約された識別子。
  • KeyId。 キーの一意識別子。
  • Startdate。 資格情報の使用の有効開始日。
  • Enddate。 資格情報の使用の有効な終了日。
  • 利用状況。 トークンの署名または検証に資格情報を使用するかどうかを指定します。