Azure Cloud Services の証明書の概要Certificates overview for Azure Cloud Services

証明書は、Azure でクラウド サービス (サービス証明書)、および管理 API の認証に使われます (管理証明書)。Certificates are used in Azure for cloud services (service certificates) and for authenticating with the management API (management certificates). このトピックでは、両方の種類の証明書の一般的な概要、これらを作成する方法、および Azure にデプロイする方法について説明します。This topic gives a general overview of both certificate types, how to create and deploy them to Azure.

Azure で使用される証明書は x.509 v3 証明書であり、別の信頼された証明書によって署名することも、自己署名することもできます。Certificates used in Azure are x.509 v3 certificates and can be signed by another trusted certificate or they can be self-signed. 自己署名証明書は、作成者自身が署名するため、既定では信頼されません。A self-signed certificate is signed by its own creator, therefore it is not trusted by default. ほとんどのブラウザーではこの問題を無視できます。Most browsers can ignore this problem. 自己署名証明書は、クラウド サービスを開発し、テストする際にのみ使用することをお勧めします。You should only use self-signed certificates when developing and testing your cloud services.

Azure が使用する証明書には、プライベート キーか公開キーを含めることができます。Certificates used by Azure can contain a private or a public key. 証明書には、それらを明確な方法で識別する手段を提供する拇印があります。Certificates have a thumbprint that provides a means to identify them in an unambiguous way. この拇印は、Azure の 構成ファイル で使用され、クラウド サービスで使用すべき証明書を識別します。This thumbprint is used in the Azure configuration file to identify which certificate a cloud service should use.

注意

Azure Cloud Services は、AES256-SHA256 で暗号化された証明書を受け付けません。Azure Cloud Services does not accept AES256-SHA256 encrypted certificate.

サービス証明書とは何でしょうか。What are service certificates?

サービス証明書はクラウド サービスに付属して、サービスとの間のセキュリティで保護された通信を有効にします。Service certificates are attached to cloud services and enable secure communication to and from the service. 次の例では、Web ロールをデプロイして、公開されている HTTPS エンドポイントを認証できる証明書を指定します。For example, if you deployed a web role, you would want to supply a certificate that can authenticate an exposed HTTPS endpoint. サービス定義で定義されているサービス証明書は、ロールのインスタンスを実行している仮想マシンに自動的にデプロイされます。Service certificates, defined in your service definition, are automatically deployed to the virtual machine that is running an instance of your role.

Azure Portal または Azure クラシック デプロイ モデルを使って、サービス証明書を Azure にアップロードすることができます。You can upload service certificates to Azure either using the Azure portal or by using the classic deployment model. サービス証明書は特定のクラウド サービスに関連付けられ、Service certificates are associated with a specific cloud service. サービス定義ファイルのデプロイメントに割り当てられています。They are assigned to a deployment in the service definition file.

サービス証明書は、サービスとは別に管理することができ、別の人が管理する場合があります。Service certificates can be managed separately from your services, and may be managed by different individuals. たとえば、開発者が IT 管理者が 以前 Azure にアップロードした証明書を参照するサービス パッケージをアップロードする場合があります。For example, a developer may upload a service package that refers to a certificate that an IT manager has previously uploaded to Azure. IT 管理者は、新しいサービス パッケージをアップロードすることなくサービスの構成を変更する証明書を管理および更新できます。An IT manager can manage and renew that certificate (changing the configuration of the service) without needing to upload a new service package. 論理名、ストアの名前、証明書の場所がサービス定義ファイルにあり、証明書の拇印はサービス構成ファイルで指定されているため、新しいサービス パッケージなしで更新することは可能です。Updating without a new service package is possible because the logical name, store name, and location of the certificate is in the service definition file and while the certificate thumbprint is specified in the service configuration file. 証明書を更新するには、サービス構成ファイルに新しい証明書をアップロードし、拇印値を変更するだけです。To update the certificate, it's only necessary to upload a new certificate and change the thumbprint value in the service configuration file.

注意

Cloud Services に関する FAQ」記事には、証明書に関する役立つ情報が載せられています。The Cloud Services FAQ article has some helpful information about certificates.

管理証明書とは何でしょうか。What are management certificates?

管理証明書により、クラシック デプロイ モデルで認証することができます。Management certificates allow you to authenticate with the classic deployment model. 多くのプログラムとツール (Visual Studio や Azure SDK など) でこれらの証明書が使用され、さまざまな Azure サービスの構成とデプロイメントが自動化されます。Many programs and tools (such as Visual Studio or the Azure SDK) use these certificates to automate configuration and deployment of various Azure services. これらはクラウド サービスには実際には関連がありません。These are not really related to cloud services.

警告

ご注意ください。Be careful! これらの種類の証明書を使用して認証する場合、関連付けられているサブスクリプションを管理できます。These types of certificates allow anyone who authenticates with them to manage the subscription they are associated with.

制限事項Limitations

各サブスクリプションでは、管理証明書の数は 100 個までに制限されています。There is a limit of 100 management certificates per subscription. また、特定のサービス管理者のユーザー ID の下にあるすべてのサブスクリプションでも、管理証明書の数は 100 個までに制限されています。There is also a limit of 100 management certificates for all subscriptions under a specific service administrator’s user ID. アカウント管理者のユーザー ID が既に 100 の管理証明書の追加に使用されていて、さらに証明書が必要な場合は、証明書を追加する共同管理者を追加できます。If the user ID for the account administrator has already been used to add 100 management certificates and there is a need for more certificates, you can add a co-administrator to add the additional certificates.

新しい自己署名証明書を作成するCreate a new self-signed certificate

次の設定に準拠していれば、使用可能な任意のツールを使用して自己署名証明書を作成することができます。You can use any tool available to create a self-signed certificate as long as they adhere to these settings:

  • X.509 証明書。An X.509 certificate.

  • 秘密キーが含まれている。Contains a private key.

  • キー交換用に作成される (.pfx ファイル)。Created for key exchange (.pfx file).

  • 証明書の件名はクラウド サービスへのアクセスに使用されるドメインと一致する必要があります。Subject name must match the domain used to access the cloud service.

    cloudapp.net ドメイン (または Azure に関連するドメイン) の SSL 証明書を取得することはできません。証明書の件名は、アプリケーションへの接続に使用されるカスタム ドメイン名と一致している必要があります。You cannot acquire an SSL certificate for the cloudapp.net (or for any Azure-related) domain; the certificate's subject name must match the custom domain name used to access your application. たとえば、contoso.cloudapp.net ではなく、contoso.net を使います。For example, contoso.net, not contoso.cloudapp.net.

  • 最大で 2048 ビットの暗号化。Minimum of 2048-bit encryption.

  • サービス証明書のみ:クライアント側の証明書は "個人" 証明書ストアに格納されている必要があります。Service Certificate Only: Client-side certificate must reside in the Personal certificate store.

Windows で証明書を作成する簡単な方法として、 makecert.exe ユーティリティを使用する方法と IIS を使用する方法の 2 つがあります。There are two easy ways to create a certificate on Windows, with the makecert.exe utility, or IIS.

Makecert.exeMakecert.exe

このユーティリティは非推奨になったため、ここに記載されなくなりました。This utility has been deprecated and is no longer documented here. 詳細については、 こちらの MSDN 記事を参照してください。For more information, see this MSDN article.

PowerShellPowerShell

$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 アドレスを使用します。If you want to use the certificate with an IP address instead of a domain, use the IP address in the -DnsName parameter.

この 証明書を管理ポータルで使用する場合は、 .cer ファイルにエクスポートしてください。If you want to use this certificate with the management portal, export it to a .cer file:

Export-Certificate -Type CERT -Cert $cert -FilePath .\my-cert-file.cer

インターネット インフォメーション サービス (IIS)Internet Information Services (IIS)

インターネット上には、IIS を使用した実行方法について説明する多くのページがあります。There are many pages on the internet that cover how to do this with IIS. ここ では、わかりやすく説明しているページを紹介します。Here is a great one I found that I think explains it well.

LinuxLinux

この記事では、SSH で証明書を作成する方法について説明します。This article describes how to create certificates with SSH.

次の手順Next steps

サービス証明書を Azure Portal にアップロードしますUpload your service certificate to the Azure portal.

管理 API 証明書 を Azure Portal にアップロードします。Upload a management API certificate to the Azure portal.