Azure 雲端服務 (傳統) 的憑證概觀
重要
截至 2024 年 9 月 1 日,所有客戶的雲端服務 (傳統) 均已淘汰。 自 2024 年 10 月起,Microsoft 將停止並關閉任何執行中的現有部署,且資料將永久遺失。 新部署應該使用 Azure Resource Manager 型的新部署模型 Azure 雲端服務 (延伸支援)。
在 Azure 中,憑證用於雲端服務 (服務憑證) 與驗證管理 API (管理憑證)。 本文提供兩種憑證類型、如何建立及將其部署到 Azure 的一般概觀。
Azure 中使用的憑證是 x.509 v3 憑證。 它們可以自我簽署,或另一個受信任的憑證可以簽署它們。 當憑證的建立者簽署憑證時,憑證為自我簽署。 自我簽署憑證預設不受信任,但大部分瀏覽器都可以忽略此問題。 您應該僅在開發和測試雲端服務時使用自我簽署的憑證。
Azure 使用的憑證可包含公開金鑰。 憑證具有指紋,可以明確的方式提供識別它們的方法。 這個指紋用於 Azure 組態檔 中,以識別雲端服務應該使用哪個憑證。
注意
Azure 雲端服務不接受 AES256-SHA256 加密的憑證。
什麼是服務憑證? \(部分機器翻譯\)
服務憑證會附加至雲端服務,並於進出服務時啟用安全通訊。 例如,如果您部署了一個 Web 角色,您會想要提供可以驗證公開的 HTTPS 端點的憑證。 在服務定義中定義的服務憑證會自動部署至執行您角色的執行個體的虛擬機器。
您可以使用 Azure 入口網站或者傳統部署模型,將服務憑證上傳至 Azure。 服務憑證與特定的雲端服務相關聯。 服務定義檔會將它們指派至部署。
服務憑證可以與您的服務分開管理,且可以由不同的人員管理。 例如,開發人員可以上傳參考 IT 管理員先前上傳至 Azure 的憑證的服務封裝。 IT 管理員可以管理和更新該憑證 (變更服務的設定),而不需要上傳新的服務套件。 不使用新的服務套件進行更新是可行的,因為憑證的邏輯名稱、存放區名稱及位置是在服務定義檔中指定,而憑證指紋是在服務組態檔中指定。 若要更新憑證,只需要上傳新憑證,並變更服務組態檔中的憑證指紋值即可。
注意
雲端服務常見問題集:設定和管理文章有些憑證相關的實用資訊。
什麼是管理憑證? \(部分機器翻譯\)
管理憑證可讓您使用傳統部署模型進行驗證。 許多程式和工具 (例如 Visual Studio 或 Azure SDK) 都會使用這些憑證,將各種 Azure 服務的設定與部署自動化。 這些憑證與雲端服務無關。
警告
請務必小心! 這些憑證類型允許使用它們進行驗證的任何人管理與他們相關聯的訂用帳戶。
限制
每個訂用帳戶有 100 個管理憑證的限制。 此外,在特定服務管理員的使用者識別碼底下的所有訂用帳戶,也有 100 個管理憑證的限制。 如果帳戶系統管理員的使用者識別碼已經用來新增 100 個管理憑證,而且還需要有更多憑證,您可以新增共同管理員來新增更多憑證。
此外,由於雲端解決方案提供者 (CSP) 訂用帳戶僅支援 Azure Resource Manager 部署模型,而管理憑證則使用傳統部署模型管理,因此憑證無法搭配 CSP 訂用帳戶使用。 參考 Azure Resource Manager 與傳統部署模型及了解如何驗證 Azure SDK for .NET,以取得 CSP 訂用帳戶選項的詳細資訊。
建立新的自我簽署憑證
您可以使用任何可用的工具建立自我簽署的憑證,前提是,這些憑證遵守以下設定:
X.509 憑證。
包含公開金鑰。
針對金鑰交換 (.pfx 檔案) 而建立。
主體名稱必須符合用來存取雲端服務的網域。
您無法取得 cloudapp.net 網域 (或針對任何 Azure 相關網域) 的 TLS/SSL 憑證;憑證的主體名稱須符合存取應用程式所用的自訂網域名稱。 例如,contoso.net,而非 contoso.cloudapp.net。
至少為 2048 位元加密。
僅限服務憑證:用戶端憑證必須位於 個人 憑證存放區。
在 Windows 上建立憑證有兩個簡單的方法:使用 makecert.exe
公用程式或 IIS。
Makecert.exe
此公用程式已淘汰,此處不再記載。 如需詳細資訊,請參閱此 Microsoft Developer Network (MSDN) 文章。
PowerShell
$cert = New-SelfSignedCertificate -DnsName yourdomain.cloudapp.net -CertStoreLocation "cert:\LocalMachine\My" -KeyLength 2048 -KeySpec "KeyExchange"
$password = ConvertTo-SecureString -String "your-password" -Force -AsPlainText
Export-PfxCertificate -Cert $cert -FilePath ".\my-cert-file.pfx" -Password $password
注意
如果您想要搭配 IP 位址 (而不是網域) 來使用憑證,請在 -DnsName 參數中使用 IP 位址。
如果您想要使用這個 憑證搭配管理入口網站,請將它匯出至 .cer 檔案:
Export-Certificate -Type CERT -Cert $cert -FilePath .\my-cert-file.cer
Internet Information Services (IIS)
網際網路上有許多網頁說明如何使用 IIS 建立憑證,例如使用 IIS 自我簽署憑證的時機。
Linux
快速步驟:在 Azure 中建立和使用 Linux VM 的 SSH 公開和私密金鑰組描述如何使用 SSH 建立憑證。
下一步
將管理 API 憑證上傳至 Azure 入口網站。