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>]

Description

New-MsolServicePrincipalCredential Cmdlet 會將新的認證新增至服務主體,或新增或變換應用程式的認證密鑰。 服務主體是藉由提供物件標識碼、應用程式主體標識碼或服務主體名稱, (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 伺服器的已知識別碼如下:

  • Exchange:00000002-0000-0ff1-ce00-00000000000
  • SharePoint:00000003-0000-0ff1-ce00-000000000000
  • Lync:00000004-0000-0ff1-ce00-00000000000

參數

-AppPrincipalId

指定要在其中新增認證之服務主體的應用程式標識碼。

類型:Guid
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-EndDate

指定認證使用方式的有效結束日期。 預設值為今天起的一年。 針對非對稱類型認證,這必須設定為 X509 憑證有效的日期或之前,否則不會針對此應用程式發出 OAuth 令牌。

類型:DateTime
Position:Named
預設值:Today + 1 year
必要:False
接受管線輸入:True
接受萬用字元:False

-ObjectId

指定要加入認證之服務主體的唯一對象識別碼。

類型: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

指定要執行作業之租使用者的唯一標識符。 預設值是目前使用者的租使用者。 此參數僅適用於合作夥伴使用者。

類型:Guid
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-Type

指定使用的認證類型。 有效值為:

  • 非對稱式
  • 對稱式
  • password

預設值為對稱。

重要

建議使用非對稱金鑰。 對稱密鑰不安全,而且會針對存取 Microsoft 第一方應用程式的服務主體停用。

類型:ServicePrincipalCredentialType
Position:Named
預設值:Symmetric
必要:False
接受管線輸入:True
接受萬用字元:False

-Usage

指定認證金鑰的使用方式。 認證金鑰使用方式可以設定為簽署或驗證令牌。 預設值為驗證。 只有對稱金鑰才允許簽署。 所有金鑰類型都允許驗證。

Azure Active Directory 目錄需要驗證認證密鑰,以確認應用程式已傳送要求令牌,此服務主體代表此令牌。

您的應用程式可能會選擇性地要求 Azure Active Directory 服務向使用簽署金鑰簽署的應用程式發出令牌,而不是識別 Microsoft Azure Active Directory 的非對稱公鑰。 在此情況下,請為您的服務主體提供簽署認證密鑰。

類型:ServicePrincipalCredentialUsage
Position:Named
預設值:Verify
必要:False
接受管線輸入:True
接受萬用字元:False

-Value

指定認證的值。

  • 如果認證類型非對稱,則值代表基底 64 編碼的憑證。
  • 如果認證類型是對稱的,而且未指定 Value 參數,系統會自動建立 256 位 AES 密鑰,並從建立起一年有效。
  • 如果認證類型為密碼,請指定 Value。 它不應該以Base 64編碼。
類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False