你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
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 cmdlet 创建一个服务主体,该服务主体可用于表示业务线 (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、显示名称“我的应用程序”创建服务主体,并使用自动生成的 256 位对称密钥来验证应用程序。 此密钥的有效期为自当日起的一年。
示例 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)创建,并使用提供的 X509 证书myapp.cer,该证书配置了基本 64 编码的非对称密钥。
参数
-AccountEnabled
指定是否需要启用帐户。 默认值为 $True。
类型: | Boolean |
Position: | Named |
默认值: | True |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Addresses
指定应用程序使用的地址的 。 使用 New-MsolServicePrincipalAddresses cmdlet 帮助创建 Addresses 列表对象。
类型: | RedirectUri[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-AppPrincipalId
指定租户中服务主体的唯一应用程序 ID。 创建后,无法更改此属性。 如果未指定此参数,则会生成应用程序 ID。
类型: | Guid |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-DisplayName
指定服务主体的显示名称。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-EndDate
指定凭据用法的有效结束日期。 默认结束日期值为从今天开始的一年。
类型: | DateTime |
Position: | Named |
默认值: | Today + 1 year |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-ServicePrincipalNames
与服务主体关联的服务主体名称 (SPN) 的列表。
SPN 对于每个公司租户必须是唯一的,并且由应用程序用来唯一标识自身。 默认情况下,服务主体 AppID 始终添加为 SPN。 SPN 必须使用以下格式之一:
appName
appName/hostname
- 有效的 URL
AppName 表示应用程序的名称,主机名表示应用程序的 URI 颁发机构。 当服务主体表示 WS-Federation 信赖方时,可以将 SPN 设置为将被视为 WS-Federation wtrealm 参数的 URL。
类型: | String[] |
Position: | Named |
默认值: | AppId of the service principal |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-StartDate
指定凭据用法的有效开始日期。 默认的开始日期值为今天。
类型: | DateTime |
Position: | Named |
默认值: | Today |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-TenantId
指定要对其执行操作的租户的唯一 ID。 默认值为当前用户的租户。 此参数仅适用于合作伙伴用户。
类型: | Guid |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Type
指定要使用的凭据类型。 有效值为:非对称、对称和密码。
- 如果非对称, 必须将 Value 参数设置为 base 64 编码 X509 证书的公共部分。
- 如果对称,如果未设置 Value ,则将生成 256 位 AES 对称密钥。
- 如果为 password,则必须指定 Value 参数,并且它不应采用 base 64 编码。
默认设置为“对称”。
类型: | ServicePrincipalCredentialType |
Position: | Named |
默认值: | Symmetric |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Usage
指定凭据密钥的用法。 可以将凭据密钥用法设置为对令牌进行签名或验证。 默认设置为验证。
仅对称密钥允许使用签名。 验证是否允许所有密钥类型。
Azure Active Directory 需要验证凭据密钥,以验证请求令牌是否由此服务主体表示的应用程序发送。 应用程序可以选择性地要求 Azure Active Directory 向使用签名密钥(而不是标识 Azure Active Directory 的非对称公钥)签名的应用程序颁发令牌。 在这种情况下,请为服务主体提供签名凭据密钥。
类型: | ServicePrincipalCredentialUsage |
Position: | Named |
默认值: | Verify |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Value
指定凭据的值。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
输出
Microsoft.Online.Administration.ServicePrincipalExtended
此 cmdlet 返回它添加的服务主体。 这包括以下信息:
- ObjectId。 服务主体的唯一标识符。
- AppPrincipalId。 服务主体的应用程序标识符。
- DisplayName。 服务主体的友好名称。
- ServicePrincipalName。 服务主体名称列表 (与服务主体关联的 SPN) 。
- TrustedForDelegation。 指示是否允许服务主体进行委派的值。
- AccountEnabled。 指示帐户是否已启用的值。
它还检索已添加的凭据列表。 每个凭据对象都包含以下信息:
- 键入 。 服务主体凭据的类型 (非对称/对称/其他) 。
- Value。 凭据的值。 如果凭据类型为 certificate,则此项表示 base64 编码证书。 如果凭据类型是对称的,则表示 AES 密钥。
- KeyGroupId。 保留供内部使用的标识符。
- KeyId。 密钥的唯一标识符。
- StartDate。 凭据使用的有效开始日期。
- EndDate。 凭据使用的有效结束日期。
- 使用情况。 指定凭据是否用于对令牌进行签名或验证。