Azure Cloud Services (クラシック) の証明書の概要
重要
2024 年 9 月 1 日に、すべてのお客様に対して Cloud Services (クラシック) は非推奨になりました。 既存の実行中のデプロイはすべて Microsoft によって停止およびシャットダウンされ、2024 年 10 月以降、データは永久的に失われます。 新しいデプロイでは、新しい Azure Resource Manager ベースのデプロイ モデル、 Azure Cloud Services (延長サポート) を使用してください。
証明書は、Azure でクラウド サービス (サービス証明書)、および管理 API の認証に使われます (管理証明書)。 この記事では、両方の証明書の種類の全般的な概要を示すとともに、これらを作成して Azure にデプロイする方法を説明します。
Azure で使用される証明書は x.509 v3 証明書です。 自己署名することも、別の信頼できる証明書によって署名することもできます。 自己署名の証明書とは、作成者によって署名されたものです。 自己署名証明書は、既定では信頼されませんが、ほとんどのブラウザーはこの問題を無視できます。 自己署名証明書は、クラウド サービスを開発し、テストする際にのみ使用することをお勧めします。
Azure で使用される証明書には、公開キーを含めることができます。 証明書には、それらを明確な方法で識別する手段を提供する拇印があります。 この拇印は、Azure の 構成ファイル で使用され、クラウド サービスで使用すべき証明書を識別します。
注意
Azure Cloud Services は、AES256-SHA256 で暗号化された証明書を受け付けません。
サービス証明書とは何でしょうか。
サービス証明書はクラウド サービスに付属して、サービスとの間のセキュリティで保護された通信を有効にします。 次の例では、Web ロールをデプロイして、公開されている HTTPS エンドポイントを認証できる証明書を指定します。 サービス定義で定義されているサービス証明書は、ロールのインスタンスを実行している仮想マシンに自動的にデプロイされます。
Azure Portal または Azure クラシック デプロイ モデルを使って、サービス証明書を Azure にアップロードすることができます。 サービス証明書は、特定のクラウド サービスに関連付けられます。 サービス定義ファイルによって 1 つのデプロイに割り当てられます。
サービス証明書は、サービスとは別に管理することができ、それぞれを別の個人が管理することもあります。 たとえば、開発者がアップロードするサービス パッケージで参照される証明書が、IT 管理者によって Azure にアップロードされたものということもあります。 IT 管理者は、新しいサービス パッケージをアップロードすることなくサービスの構成を変更する証明書を管理および更新できます。 論理名、ストアの名前、証明書の場所がサービス定義ファイルにあり、証明書の拇印はサービス構成ファイルで指定されているため、新しいサービス パッケージなしで更新することは可能です。 証明書を更新するには、サービス構成ファイルに新しい証明書をアップロードし、拇印値を変更するだけです。
注意
Cloud Services の構成と管理についての FAQ に関する記事には、証明書に関して役に立つ情報があります。
管理証明書とは何でしょうか。
管理証明書により、クラシック デプロイ モデルで認証することができます。 多くのプログラムとツール (Visual Studio や Azure SDK など) でこれらの証明書が使用され、さまざまな Azure サービスの構成とデプロイメントが自動化されます。 これらの証明書はクラウド サービスに関連するものではありません。
警告
ご注意ください。 これらの種類の証明書を使用して認証する場合、関連付けられているサブスクリプションを管理できます。
制限事項
管理証明書の数は 1 サブスクリプションにつき 100 個という制限があります。 また、1 人のサービス管理者のユーザー ID の下にあるサブスクリプションすべての管理証明書の数についても 100 個までという制限があります。 アカウント管理者のユーザー ID を使用して追加された管理証明書の数が既に 100 に達していて、さらに証明書が必要な場合は、共同管理者を追加するとさらに証明書を追加できるようになります。
また、管理証明書をクラウド ソリューション プロバイダー (CSP) サブスクリプションで使用することはできません。CSP サブスクリプションでサポートされるのは Azure Resource Manager デプロイ モデルのみですが、管理証明書にはクラシック デプロイ モデルが使用されるためです。 CSP サブスクリプションのオプションの詳細については、Azure Resource Manager モデルとクラシック デプロイ モデルの比較に関するページと Azure SDK for .NET を使用した認証に関するページを参照してください。
新しい自己署名証明書を作成する
次の設定に準拠していれば、使用可能な任意のツールを使用して自己署名証明書を作成することができます。
X.509 証明書。
公開キーが含まれる。
キー交換用に作成される (.pfx ファイル)。
証明書の件名はクラウド サービスへのアクセスに使用されるドメインと一致する必要があります。
cloudapp.net (または Azure に関連する) ドメインの TLS または SSL 証明書を取得することはできません。証明書の件名は、アプリケーションへの接続に使用 されるカスタム ドメイン名と一致している必要があります。 たとえば、contoso.cloudapp.net ではなく、contoso.net を使います。
最大で 2048 ビットの暗号化。
サービス証明書のみ:クライアント側の証明書は "個人" 証明書ストアに格納されている必要があります。
Windows で証明書を作成する簡単な方法として、 makecert.exe
ユーティリティを使用する方法と IIS を使用する方法の 2 つがあります。
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
インターネット インフォメーション サービス (IIS)
インターネット上には、IIS での証明書作成方法を取り上げているページが多数あり、「いつ IIS 自己署名証明書を使用するか」もその 1 つです。
Linux
「簡単な手順: Azure 内に Linux VM 用の SSH 公開/秘密キーのペアを作成して使用する」で、SSH を使用する証明書の作成方法を説明しています。
次のステップ
サービス証明書を Azure Portal にアップロードします。
管理 API 証明書 を Azure Portal にアップロードします。