你当前正在访问 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