Azure 雲端服務 (傳統) 的憑證概觀

重要

針對新客戶目前已取代 Azure 雲端服務 (傳統),而針對所有客戶,該服務將從 2024 年 8 月 31 日起完全淘汰。 新部署應該使用 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

此公用程式已被取代,此處不再說明。 如需詳細資訊,請參閱此 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 執行這項操作的網頁。 這裡 是我找到的其中一個我認為說明得很好的網頁。

Linux

本文說明如何使用 SSH 建立憑證。

下一步

將服務憑證上傳到 Azure 入口網站

管理 API 憑證上傳至 Azure 入口網站。