Windows AzureでアプリケーションのSSLを構成する

画像



SSL(Secure Socket Layer)暗号化プロトコルは、インターネット上のデータを保護する最も一般的な方法です。 この例では、WebロールのHTTPSエンドポイントを設定し、SSL証明書をダウンロードしてアプリケーションを保護する方法を示します。



このプロセスには、次の手順が含まれます。





ステップ1:SSL証明書を取得する



アプリケーション用にSSLを構成するには、まず、認可された独立した認証局によって署名されたSSL証明書を取得する必要があります。 SSL証明書をまだお持ちでない場合は、それらを販売している会社から購入してください。



Windows AzureのSSL証明書は、次の要件を満たしている必要があります。





テスト用に自己署名証明書を作成できます。 IISマネージャーで自己署名証明書を作成する方法の詳細については、 「ロールの証明書を作成する方法」を参照してください。



次に、証明書の情報をサービス定義とその構成ファイルに追加する必要があります。



ステップ2:サービス定義および構成ファイルを変更する



証明書を使用してHTTPSエンドポイントを追加するようにアプリケーションを構成する必要があります。 その結果、サービスの定義および構成ファイルを更新する必要があります。



開発環境でサービス定義ファイル(CSDEF)を開き、 WebRoleセクションにCertificatesサブキーを追加してから、次の証明書情報を提供します。



<WebRole name="CertificateTesting" vmsize="Small"> ... <Certificates> <Certificate name="SampleCertificate" storeLocation="LocalMachine" storeName="CA" /> </Certificates> ... </WebRole>
      
      





[ 証明書]サブセクションで、証明書の名前、場所、および証明書が置かれているストアの名前を指定します。 この例では、証明書は認証局に保存されていますが、別の場所を選択できます。 詳細については、 「証明書をサービスに関連付ける方法 」セクションを参照してください



サービス定義ファイルを開き、 エンドポイントセクションにInputEndpoint要素を追加して、HTTPSの使用を有効にします。



 <WebRole name="CertificateTesting" vmsize="Small"> ... <Endpoints> <InputEndpoint name="HttpsIn" protocol="https" port="443" certificate="SampleCertificate" /> </Endpoints> ... </WebRole>
      
      





サービス定義ファイルを開き、 Bindings要素をSitesセクションに追加します。 その結果、エンドポイントとサイトの間にHTTPSバインディングが作成されます。



 <WebRole name="CertificateTesting" vmsize="Small"> ... <Sites> <Site name="Web"> <Bindings> <Binding name="HttpsIn" endpointName="HttpsIn" /> </Bindings> </Site> </Sites> ... </WebRole>
      
      





これで、サービス定義ファイルに必要なすべての変更が行われました。 証明書情報をサービス構成ファイルに追加します。



サービス構成ファイル(CSCFG)を開き、 証明書のサブキーを[ 役割]セクションに追加し、次の指紋を証明書の対応する値に置き換えます。



 <Role name="Deployment"> ... <Certificates> <Certificate name="SampleCertificate" thumbprint="9427befa18ec6865a9ebdc79d4c38de50e6316ff" thumbprintAlgorithm="sha1" /> </Certificates> ... </Role>
      
      





サービス定義および構成ファイルを更新した後、アプリケーションインストールパッケージを作成し、Windows Azureにダウンロードします。 cspackツールを使用する場合は、 / generateConfigurationFileフラグが無効になっていることを確認してください。無効にしないと、指定した証明書情報が上書きされます。



手順3:展開パッケージと証明書をダウンロードする



インストールパッケージは正しい証明書を使用し、HTTPSエンドポイントが追加されます。 これで、管理ポータルからパッケージと証明書をWindows Azureにダウンロードできます。



Windows Azure管理ポータルにログインし、[ホストされたサービス]セクションを開きます。 [ 新しいホストサービス ] クリックし、サービスに関する必要な情報を入力して、[ 証明書の追加 ] クリックします。



clip_image002



[ 証明書アップロード]セクションで、SSL証明書ファイル(.pfx)へのパスと証明書のパスワードを指定し、[ OK ]をクリックします。



clip_image004



サービスを作成するには、[ OK ]をクリックします。 準備完了ステータスが表示されたら、次の手順に進みます。



ステップ4. HTTPSを介して役割インスタンスに接続する



Windows Azureにアプリケーションをデプロイして実行したら、HTTPS経由でアプリケーションに接続する必要があります。



管理ポータルでアプリケーションを選択し、[ プロパティ ]パネルでDNSという名前のリンクを右クリックして[ コピー ]を選択します。



clip_image006



このアドレスをWebブラウザウィンドウに貼り付け、アドレスがhttpではなくhttpsで始まることを確認して、ページに移動します。



ブラウザにアドレスが緑色で表示され、HTTPS接続が使用されていることが通知されます。 また、アプリケーションがSSLで正しく機能することも意味します。



ご注意 自己署名証明書を使用している場合、自己署名証明書に関連付けられているHTTPSエンドポイントに接続すると、ブラウザーにエラーが表示されます。 認定センターで証明書に署名することでこの問題を解決することも、単に無視することもできます。



clip_image008



追加のリソース




All Articles