你当前正在访问 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 Exchange、SharePoint 或 Lync)Microsoft Azure Active Directory作为服务主体对象。 将新应用程序添加为服务主体将允许该应用程序向 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 创建,显示名称“我的应用程序”,并使用配置的 X509 证书 myapp.cer,该证书配置了 base 64 编码的非对称密钥。
参数
-AccountEnabled
指定是否需要启用帐户。 默认值为$True。
Type: | Boolean |
Position: | Named |
Default value: | True |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Addresses
指定应用程序使用的地址。 使用 New-MsolServicePrincipalAddresses cmdlet 帮助创建地址列表对象。
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
指定凭据使用情况的有效结束日期。 默认结束日期值为从今天开始的一年。
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 编码。
默认设置为“symmetric”。
Type: | ServicePrincipalCredentialType |
Position: | Named |
Default value: | Symmetric |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Usage
指定凭据密钥的使用。 凭据密钥用法可以设置为签名或验证令牌。 默认设置是验证的。
仅允许对称密钥使用签名。 验证是否允许所有密钥类型。
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
此 cmdlet 返回它添加的服务主体。 这包括以下信息:
- ObjectId。 服务主体的唯一标识符。
- AppPrincipalId。 服务主体的应用程序标识符。
- DisplayName。 服务主体的友好名称。
- ServicePrincipalName。 与服务主体关联的服务主体名称列表 (SPN) 。
- TrustedForDelegation。 指示是否允许服务主体进行委派的值。
- AccountEnabled。 指示帐户是否已启用的值。
它还检索添加的凭据列表。 每个凭据对象都包含以下信息:
- 键入 。 服务主体凭据的类型 (非对称/对称/其他) 。
- Value。 凭据的值。 如果凭据类型为 certificate,则此项表示 base64 编码证书。 如果凭据类型是对称的,则表示 AES 密钥。
- KeyGroupId。 保留供内部使用的标识符。
- KeyId。 密钥的唯一标识符。
- StartDate。 凭据使用情况的有效开始日期。
- EndDate。 凭据使用情况的有效结束日期。
- 使用情况。 指定凭据是否用于对令牌进行签名或验证。
相关链接
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈