你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
New-MsolServicePrincipalCredential
将凭据密钥添加到服务主体。
语法
New-MsolServicePrincipalCredential
-ObjectId <Guid>
[-Type <ServicePrincipalCredentialType>]
[-Value <String>]
[-StartDate <DateTime>]
[-EndDate <DateTime>]
[-Usage <ServicePrincipalCredentialUsage>]
[-TenantId <Guid>]
[<CommonParameters>]
New-MsolServicePrincipalCredential
-ServicePrincipalName <String>
[-Type <ServicePrincipalCredentialType>]
[-Value <String>]
[-StartDate <DateTime>]
[-EndDate <DateTime>]
[-Usage <ServicePrincipalCredentialUsage>]
[-TenantId <Guid>]
[<CommonParameters>]
New-MsolServicePrincipalCredential
-AppPrincipalId <Guid>
[-Type <ServicePrincipalCredentialType>]
[-Value <String>]
[-StartDate <DateTime>]
[-EndDate <DateTime>]
[-Usage <ServicePrincipalCredentialUsage>]
[-TenantId <Guid>]
[<CommonParameters>]
说明
New-MsolServicePrincipalCredential cmdlet 向服务主体添加新凭据,或者为应用程序添加或滚动凭据密钥。 通过提供对象 ID、应用主体 ID 或服务主体名称来标识服务主体 (SPN) 。
示例
示例 1:将现有凭据添加到服务主体
PS C:\> $Certificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate
PS C:\> $Certificate.Import("C:\myapp.cer")
PS C:\> $BinCert = $Certificate.GetRawCertData()
PS C:\> $CredValue = [System.Convert]::ToBase64String($binCert);
PS C:\> New-MsolServicePrincipalCredential -ServicePrincipalName "MyApp/myApp.com" -Type asymmetric -Value $CredValue -StartDate $Certificate.GetEffectiveDateString() -EndDate $Certificate.GetExpirationDateString()
此示例将凭据或密钥对象添加到现有服务主体。 在此示例中,提供的 base64 编码公共 X509 证书(名为 myapp.cer)使用 MyApp/myApp.com 的服务主体名称值添加到服务主体中。
示例 2:注册本地Exchange Server
PS C:\> New-MsolServicePrincipalCredential -AppPrincipalId -Type asymmetric -Value $CredValue
此命令注册本地Exchange Server,以便Exchange Server与Microsoft Azure Active Directory服务(如Office 365)之间的通信。 此示例假设 $credValue 包含用于表示本地 Exchange Server 的 base64 编码公用 X509 证书。 Office 365服务器的已知 ID 包括:
- Exchange:00000002-0000-0ff1-ce00-00000000000000
- SharePoint:00000003-0000-0ff1-ce00-00000000000000
- Lync:00000004-0000-0ff1-ce00-0000000000000
参数
-AppPrincipalId
指定要向其添加凭据的服务主体的应用程序 ID。
类型: | Guid |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-EndDate
指定凭据使用的有效结束日期。 默认值为从今天起的一年。 对于非对称类型凭据,必须将其设置为在 X509 证书有效日期或之前,否则不会为此应用程序颁发 OAuth 令牌。
类型: | DateTime |
Position: | Named |
默认值: | Today + 1 year |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-ObjectId
指定要向其添加凭据的服务主体的唯一对象 ID。
类型: | Guid |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-ServicePrincipalName
指定要向其添加凭据的服务主体的名称。 SPN 必须使用以下格式之一:
appName
appName/hostname
- 有效的 URL
AppName 表示应用程序的名称。 主机名表示应用程序的 URI 颁发机构。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-StartDate
指定凭据使用的有效开始日期。 默认值为今天。 对于非对称类型凭据,必须在 X509 证书生效日期或之后将其设置为 ,否则不会为此应用程序颁发 OAuth 令牌。
类型: | DateTime |
Position: | Named |
默认值: | Today |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-TenantId
指定要对其执行操作的租户的唯一 ID。 默认值为当前用户的租户。 此参数仅适用于合作伙伴用户。
类型: | Guid |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Type
指定使用的凭据类型。 有效值为:
- 非对称
- 对称
- password
默认值为对称。
重要
建议使用非对称密钥。 对称密钥不安全,将为访问 Microsoft 第一方应用程序的服务主体禁用对称密钥。
类型: | ServicePrincipalCredentialType |
Position: | Named |
默认值: | Symmetric |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Usage
指定凭据密钥的用法。 凭据密钥用法可以设置为签名或验证令牌。 默认值为 verify。 仅对称密钥允许签名。 验证是否允许所有密钥类型。
Azure Active Directory 目录需要验证凭据密钥,以验证请求令牌是否由应用程序发送,应用程序由此服务主体表示。
应用程序可以选择性地要求 Azure Active Directory 服务向使用签名密钥而不是标识Microsoft Azure Active Directory的非对称公钥签名的应用程序颁发令牌。 在这种情况下,请为服务主体提供签名凭据密钥。
类型: | ServicePrincipalCredentialUsage |
Position: | Named |
默认值: | Verify |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Value
指定凭据的值。
- 如果凭据类型不对称,则值表示 base 64 编码的证书。
- 如果凭据类型是对称的,并且未指定 Value 参数,则会自动创建一个 256 位 AES 密钥,并在创建后的一年内有效。
- 如果凭据类型为 password,请指定 Value。 它不应采用 base 64 编码。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |