Azure Stack Hub 公開金鑰基礎結構 (PKI) 憑證需求

Azure Stack Hub 有一個公共基礎結構網路,其使用已指派給一小組 Azure Stack Hub 服務和可能租用戶 VM 的外部可存取公用 IP 位址。 在 Azure Stack Hub 部署期間,這些 Azure Stack Hub 公用基礎結構端點需要具有適當 DNS 名稱的 PKI 憑證。 本文提供以下相關資訊:

  • Azure Stack Hub 的憑證需求。
  • Azure Stack Hub 部署所需的必要憑證。
  • 部署增值資源提供者時所需的選用憑證。

注意

依預設,Azure Stack Hub 也會使用從內部 Active Directory 整合憑證授權單位 (CA) 所發出的憑證,在節點之間進行驗證。 為了驗證憑證,所有 Azure Stack Hub 基礎結構機器都會信任內部 CA 的根憑證,方法是將該憑證新增至其本機憑證存放區。 Azure Stack Hub 不會釘選或篩選憑證。 每個伺服器憑證的 SAN 都會根據目標的 FQDN 進行驗證。 同時也會驗證整個信任鏈結,以及憑證到期日 (不會固定憑證的標準 TLS 伺服器驗證)。

憑證需求

下列清單描述一般憑證的發行、安全性和格式化需求:

  • 憑證必須由內部憑證授權單位或公用憑證授權單位發出。 如果使用公用憑證授權單位,它必須包含在基礎作業系統映像中成為 Microsoft 信任根授權單位方案的一部分。 如需完整清單,請參閱參與者清單 - Microsoft 受信任的根憑證計劃
  • 您的 Azure Stack Hub 基礎結構必須能透過網路來存取憑證中所發佈憑證授權單位的憑證撤銷清單 (CRL) 位置。 這個 CRL 必須是 http 端點。 注意:針對已中斷連線的部署,如果無法存取 CRL 端點,不支援由公開憑證授權單位 (CA) 所發出的憑證。 如需詳細資訊,請參閱中斷連線部署中受損或無法使用的功能
  • 輪替 1903 之前組建中的憑證時,憑證必須是從與用來簽署憑證 (在部署時提供) 相同的內部憑證授權單位,或上述任何公用憑證授權單位發行。
  • 輪替組建 1903 和更新版本的憑證時,可使用任何企業或公開憑證授權單位核發的憑證。
  • 不支援使用自我簽署憑證。
  • 針對部署和輪替,您可以使用單一憑證涵蓋憑證主體名稱及主體別名 (SAN) 中的所有命名空間。 或者,您可以為以下您打算使用之 Azure Stack Hub 服務所需的各個命名空間使用個別憑證。 這兩種方法都需要將萬用字元用於需要它們的端點 (例如 KeyVaultKeyVaultInternal)。
  • 憑證簽章演算法不應該是 SHA1。
  • 憑證格式必須是 PFX,因為安裝 Azure Stack Hub 時需要公用與私密金鑰。 私密金鑰必須有本機電腦金鑰屬性集。
  • PFX 加密必須是 3DES (如果從 Windows 10 用戶端或 Windows Server 2016 憑證存放區匯出,此種加密是預設值)。
  • 憑證 pfx 檔案的 [金鑰使用方法] 欄位中必須有 [數位簽章] 和 [KeyEncipherment] 值。
  • 憑證 pfx 檔案的 [增強金鑰使用方法] 欄位中必須有 [伺服器驗證 (1.3.6.1.5.5.7.3.1)] 和 [用戶端驗證 (1.3.6.1.5.5.7.3.2)]。
  • 憑證的 [核發給:] 欄位不能與 [核發者:] 欄位相同。
  • 部署時,所有憑證 pfx 檔案的密碼都必須相同。
  • 憑證 pfx 的密碼必須是複雜密碼。 請記下此密碼,因為您會將它作為部署參數。 此密碼必須符合下列密碼複雜性需求:
    • 長度至少要有八個字元。
    • 至少有下列其中三個字元:大寫字母、小寫字母、0 到 9 的數字、特殊字元,大寫和小寫字母以外的字母字元。
  • 確定主體名稱和主體別名延伸模組 (x509v3_config) 中的主體別名相符。 [主體別名] 欄位可讓您指定要透過單一 SSL 憑證保護的其他主機名稱 (網站、IP 位址、一般名稱)。

注意

不支援自我簽署憑證。
在中斷連線的模式下部署 Azure Stack Hub 時,建議使用企業憑證授權單位所發出的憑證。 這很重要,因為存取 Azure Stack Hub 端點的用戶端必須能夠與憑證撤銷清單 (CRL) 連線。

注意

支援憑證信任鏈結中存在的中繼憑證授權單位。

必要憑證

本節中的表格說明 Azure AD 與 AD FS Azure Stack Hub 部署所需的 Azure Stack Hub 公用端點 PKI 憑證。 憑證需求會依區域以及使用的命名空間和每個命名空間所需的憑證分組。 此表格同時說明解決方案提供者在其中為每個公用端點複製不同憑證的資料夾。

每個 Azure Stack Hub 公用基礎結構端點需要具有適當 DNS 名稱的憑證。 每個端點的 DNS 名稱是以下列格式表示:<前置詞>.<區域>.<FQDN>。

針對您的部署,<區域><FQDN> 值必須符合您為 Azure Stack Hub 系統選擇的地區和外部網域名稱。 例如,如果區域為 Redmond,而外部網域名稱為 contoso.com,則 DNS 名稱的格式會是 <前置詞>.redmond.contoso.com。 Microsoft 會預先指定 <前置詞> 值,以描述憑證所保護的端點。 此外,外部基礎結構端點的 <前置詞> 值取決於使用特定端點的 Azure Stack Hub 服務。

針對生產環境,我們建議為每個端點產生個別的憑證,並將其複製到對應的目錄中。 針對開發環境,憑證可以作為單一萬用字元憑證,涵蓋複製到所有目錄的主體以及主體別名 (SAN) 欄位中的所有命名空間。 涵蓋所有端點和服務的單一憑證是不安全的,因此僅限用於開發。 請記住,無論使用哪種方式,必要時您都必須針對端點 (例如 acs 和 Key Vault) 使用萬用字元憑證。

注意

在部署期間,您必須將憑證複製到符合您要部署識別提供者 (Azure AD 或 AD FS) 的部署資料夾。 如果您將單一憑證使用於所有端點,您必須將該憑證檔案複製到下表所述的每個部署資料夾。 資料夾結構已預先建置於部署虛擬機器中,位於:C:\CloudDeployment\Setup\Certificates。

部署資料夾 必要的憑證主體和主體別名 (SAN) 範圍 (每個區域) 子網域命名空間
公用入口網站 portal.<區域>.<FQDN> 入口網站 <區域>.<FQDN>
管理入口網站 adminportal.<區域>.<FQDN> 入口網站 <區域>.<FQDN>
Azure Resource Manager (公用) management.<區域>.<FQDN> Azure Resource Manager <區域>.<FQDN>
Azure Resource Manager (管理員) adminmanagement.<區域>.<FQDN> Azure Resource Manager <區域>.<FQDN>
ACSBlob *.blob.<區域>.<FQDN>
(萬用字元 SSL 憑證)
Blob 儲存體 blob.<區域>.<FQDN>
ACSTable *.table.<區域>.<FQDN>
(萬用字元 SSL 憑證)
表格儲存體 table.<區域>.<FQDN>
ACSQueue *.queue.<區域>.<FQDN>
(萬用字元 SSL 憑證)
佇列儲存體 queue.<區域>.<FQDN>
KeyVault *.vault.<區域>.<FQDN>
(萬用字元 SSL 憑證)
Key Vault vault.<區域>.<FQDN>
KeyVaultInternal *.adminvault.<區域>.<FQDN>
(萬用字元 SSL 憑證)
內部金鑰保存庫 adminvault.<區域>.<FQDN>
管理員延伸主機 *.adminhosting.<區域>.<FQDN> (萬用字元 SSL 憑證) 管理員延伸主機 adminhosting.<區域>.<FQDN>
公用延伸主機 *.hosting.<區域>.<FQDN> (萬用字元 SSL 憑證) 公用延伸主機 hosting.<區域>.<FQDN>

如果您使用 Azure AD 部署模式來部署 Azure Stack Hub,您只需要求上表中所列的憑證。 不過,如果您使用 AD FS 部署模式來部署 Azure Stack Hub,您也必須要求下表中所述的憑證:

部署資料夾 必要的憑證主體和主體別名 (SAN) 範圍 (每個區域) 子網域命名空間
ADFS adfs.<區域>.<FQDN>
(SSL 憑證)
ADFS <區域>.<FQDN>
圖形 graph.<區域>.<FQDN>
(SSL 憑證)
圖形 <區域>.<FQDN>

重要

本章所列的所有憑證都必須都有相同的密碼。

選擇性 PaaS 憑證

如果您打算在部署及設定 Azure Stack Hub 之後,部署 Azure Stack Hub PaaS 服務 (例如 SQL、MySQL、App Service 或事件中樞),您必須要求額外的憑證來涵蓋 PaaS 服務端點。

重要

您用於資源提供者的憑證,必須具備與用於全域 Azure Stack Hub 端點之憑證相同的根授權單位。

下表說明資源提供者所需的端點和憑證。 您不需要將這些憑證複製到 Azure Stack Hub 部署資料夾。 相反地,您會在資源提供者安裝期間提供這些憑證。

範圍 (每個區域) 憑證 必要的憑證主體和主體別名 (SAN) 子網域命名空間
App Service Web 流量預設 SSL 憑證 *.appservice.<區域>.<FQDN>
*.scm.appservice.<區域>.<FQDN>
*.sso.appservice.<區域>.<FQDN>
(多重網域萬用字元 SSL 憑證1)
appservice.<區域>.<FQDN>
scm.appservice.<區域>.<FQDN>
App Service API api.appservice.<區域>.<FQDN>
(SSL 憑證2)
appservice.<區域>.<FQDN>
scm.appservice.<區域>.<FQDN>
App Service FTP ftp.appservice.<區域>.<FQDN>
(SSL 憑證2)
appservice.<區域>.<FQDN>
scm.appservice.<區域>.<FQDN>
App Service SSO sso.appservice.<區域>.<FQDN>
(SSL 憑證2)
appservice.<區域>.<FQDN>
scm.appservice.<區域>.<FQDN>
事件中樞 SSL *.eventhub.<區域>.<FQDN>
(萬用字元 SSL 憑證)
eventhub.<區域>.<FQDN>
SQL、MySQL SQL 和 MySQL *.dbadapter.<區域>.<FQDN>
(萬用字元 SSL 憑證)
dbadapter.<區域>.<FQDN>

1 需要一個具有多個萬用字元主體別名的憑證。 並非所有公用憑證授權單位都支援單一憑證上有多個萬用字元 SAN。

2 您無法使用 *.appservice.<區域>.<FQDN> 萬用字元憑證取代這三個憑證 (api.appservice.<區域>.<FQDN>、ftp.appservice.<區域>.<FQDN> 和 sso.appservice.<區域>.<FQDN>。 應用程式服務明確要求對這些端點使用個別的憑證。

後續步驟

了解如何產生適用於 Azure Stack Hub 部署的 PKI 憑證