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>]
Description
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、顯示名稱 My Application 建立,並使用自動產生的 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 建立,並使用以基底 64 編碼非對稱密鑰設定的 X509 憑證myapp.cer。
參數
-AccountEnabled
指定帳戶是否需要啟用。 預設值為 $True。
類型: | Boolean |
Position: | Named |
預設值: | True |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-Addresses
指定應用程式所使用的位址。 使用 New-MsolServicePrincipalAddresses Cmdlet 來協助建立地址列表物件。
類型: | RedirectUri[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-AppPrincipalId
指定租用戶中服務主體的唯一應用程式標識碼。 建立之後,就無法變更此屬性。 如果您未指定此參數,就會產生應用程式識別碼。
類型: | 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 每個公司租用戶都必須是唯一的,應用程式會使用SPN來唯一識別本身。 根據預設,服務主體 AppID 一律會新增為 SPN。 SPN 必須使用下列其中一種格式:
appName
appName/hostname
- 有效的 URL
AppName 代表應用程式的名稱,而主機名代表應用程式的 URI 授權單位。 當服務主體代表 WS-Federation 信賴憑證者時,SPN 可以設定為將視為 wtrealm 參數 WS-Federation URL。
類型: | String[] |
Position: | Named |
預設值: | AppId of the service principal |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-StartDate
指定認證使用方式的有效開始日期。 默認開始日期值為今天。
類型: | DateTime |
Position: | Named |
預設值: | Today |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-TenantId
指定要執行作業之租使用者的唯一標識符。 預設值是目前使用者的租使用者。 此參數僅適用於合作夥伴使用者。
類型: | Guid |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-Type
指定要使用的認證類型。 有效值為:非對稱、對稱和密碼。
- 如果非對稱, Value 參數必須設定為基底 64 編碼 X509 憑證的公用部分。
- 如果對稱,如果未設定 Value ,就會產生 256 位 AES 對稱密鑰。
- 如果為 password,則必須指定 Value 參數,而且不應該以 base 64 編碼。
默認設定為 「symmetric」。
類型: | 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。 值,指出帳戶是否已啟用。
它也會擷取已新增的認證清單。 每個認證物件都包含下列資訊:
- 類型。 服務主體認證的類型 (非對稱/對稱/其他) 。
- 值。 認證的值。 如果認證類型為憑證,則此值代表 base 64 編碼憑證。 如果認證類型是對稱的,則表示 AES 金鑰。
- KeyGroupId。 保留供內部使用的標識碼。
- KeyId。 金鑰的唯一識別碼。
- StartDate。 認證使用方式的有效開始日期。
- EndDate。 認證使用方式的有效結束日期。
- 使用狀況。 指定認證是否用來簽署或驗證令牌。