このページは役に立ちましたか。
このページのコンテンツについての ご意見をお待ちしております
その他にご意見はありますか。
残り 1500 文字
証明書とキー

証明書とキー

発行: 2011年4月

更新日: 2015年6月

適用対象: Azure

Microsoft Azure Active Directory アクセス制御 (アクセス制御サービスまたは ACS) はトークンの署名および暗号化を行う 2 つの異なる方法を提供します。1 つは秘密キーを含む X.509 証明を使用し、もう 1 つは 256 ビット対称キーを使用する方法です。各証明書またはキーを、名前空間における特定の証明書利用者アプリケーションまたはすべての証明書利用者アプリケーションのトークンに署名するように構成し、証明書とキーをプライマリまたはセカンダリとして指定できます。トークンの署名、暗号化、および暗号化解除証明書とキーを追加および構成するには、ACS 管理サービスまたは ACS 管理ポータルを使用します。

ACS は、X.509 証明書 (秘密キーを含む) または 256 ビット対称キーを使用して、自身が発行するすべてのセキュリティ トークンに署名します。選択する署名資格情報の種類 (証明書またはキー) は、ACS が発行するトークンに対して選択するトークン形式によって異なります。詳細については、「証明書利用者アプリケーション」の「トークン署名」を参照してください。作成する署名資格情報の種類を選択する場合は、次のことを考慮してください。

  • SAML トークンは X.509 証明書で署名されます。SAML は、Windows Identity Foundation (WIF) で構築されたアプリケーションによって使用される既定のトークン形式です。SAML トークンは、WS-Federation や WS-Trust などの、複数のプロトコルで発行できます。

  • SWT トークンは 256 ビット対称キーで署名されます。SWT トークンは、OAuth WRAP や WS-Federation などの、複数のプロトコルで発行できます。

  • JWT トークンは X.509 証明書または 256 ビット対称キーで署名できます。JWT トークンは、WS-Federation、WS-Trust、および OAuth 2.0 などの、複数のプロトコルで発行できます。

アクセス制御名前空間 全体または名前空間における特定の証明書利用者アプリケーションのみで使用されるように、署名証明書または対称キーを構成することができます。違いは次のとおりです。

  • アクセス制御名前空間 - 署名証明書またはキーが アクセス制御名前空間 全体に構成されている場合、ACS はその証明書またはキーを使用して、この名前空間のすべての証明書利用者アプリケーション (アプリケーション固有の証明書またはキーを持たない) のトークンに署名します。名前空間スコープの証明書は、ACS WS-Federation メタデータへの署名にも使用されます。

  • 専用 - 特定の証明書利用者アプリケーションで使用するように署名証明書またはキーを構成すると、ACS は、指定された証明書利用者アプリケーションに配信されるトークンに署名する場合にのみ、その署名証明書またはキーを使用します。

    専用対称キーを作成または入力すると、ACS はその専用キーを使用して、アプリケーションのトークンに署名します。専用キーが期限切れになり、置き換えられないと、ACS は アクセス制御名前空間 の対称キーを使用して、アプリケーションのトークンに署名します。

noteメモ
  • セキュリティのベスト プラクティスとして、対称キーを使用する場合は、各証明書利用者アプリケーションの専用キーを作成します。X.509 証明書は、アクセス制御名前空間 の複数のアプリケーションで安全に共有できます。

  • Microsoft が管理する証明書利用者アプリケーションを管理対象の名前空間に追加する (Service Bus 証明書利用者アプリケーションを Service Bus 名前空間に追加するなど) 場合は、アプリケーション固有 (専用) の証明書やキーを使用しないでください。代わりに、管理対象の名前空間のすべてのアプリケーションに対して構成された証明書とキーを使用する ACS オプションを選択します。他のすべての証明書利用者アプリケーションには、アプリケーション固有の証明書とキーを使用します。詳細については、「管理対象名前空間」を参照してください。

  • JWT トークンに署名するために アクセス制御名前空間 の X.509 証明書を使用する証明書利用者アプリケーションを構成すると、ACS 管理ポータルの証明書利用者アプリケーションのページに、アクセス制御名前空間 証明書と アクセス制御名前空間 キーへのリンクが表示されます。ただし、ACS は名前空間証明書のみを使用して、証明書利用者アプリケーションのトークンに署名します。

署名証明書は通常、名前空間におけるすべての証明書利用者アプリケーションのトークンに署名するために使用されます。名前空間署名証明書の公開キー コンポーネントは ACS WS-Federation メタデータで公開されます。これにより、証明書利用者アプリケーションでその構成を自動化できます。特定の証明書利用者アプリケーションにのみ割り当てられている証明書の公開キーは ACS WS-Federation メタデータにはなく、証明書利用者アプリケーションの署名証明書の独立制御が必要な場合にのみ使用されます。

ACS では、いくつかの証明書とキーを維持できますが、トークンへの署名に使用できるのは指定された証明書とキーのみです。署名用に指定された証明書およびキーは、プライマリ証明書およびキーと呼ばれます。

証明書またはキーをプライマリとして指定するには、証明書またはキーのページで [プライマリにする] 項目を選択します。別の証明書をプライマリとして指定するには、他の証明書またはキーのページで [プライマリにする] 項目を選択します。そうすると、ACS が自動的に既存のプライマリ証明書またはキーを非プライマリに降格します。

1 つ以上の証明書またはキーがプライマリである場合、そのプライマリ証明書またはキーが無効か期限切れになっても、非プライマリ証明書とキーは、管理者によってプライマリ ステータスに昇格されるまで署名では使用されません。ただし、プライマリ証明書 (またはキー) がない場合、ACS は有効な最早開始日が指定された非プライマリ証明書を使用します。

プライマリと非プライマリの両方の証明書の公開キー コンポーネントは、プログラムによる証明書ロールオーバーを有効にするために、ACS WS-Federation メタデータで公開されます。ただし、ACS がトークンへの署名で使用するのは、プライマリ証明書とキーのみです。

256 ビット対称キーを追加する場合は、有効日と有効期限も指定する必要があります。有効日はこのキーが有効になる日付を示します。有効期限は、このキーが期限切れとなり、トークンへの署名で使用できなくなる日付を示します。

ACS では、ACS が証明書利用者アプリケーションに発行する SAML 1.1 または SAML 2.0 トークンを暗号化することを選択できます。

Important重要
ACS は SWT や JWT トークンの暗号化をサポートしません。

トークンの暗号化は、WS-Trust プロトコルで proof-of-possession トークンを使用する Web サービスで必要です。ACS を使用して証明書利用者アプリケーションの認証を管理する場合は、この証明書利用者アプリケーションに対して ACS が発行したすべてのトークンを暗号化する必要があります。他のすべてのシナリオでは、トークンの暗号化は省略できます。

ACS は、公開キーを含む X.509 証明書 (.cer ファイル) を使用して SAML トークンを暗号化します。証明書利用者アプリケーション トークンは、その X.509 証明書の秘密キーを使用して、トークンの暗号化を解除します。詳細については、「証明書利用者アプリケーション」の「トークンの暗号化」を参照してください。

ACS は、 などの、WS-Federation ID プロバイダーからの暗号化されたトークンを受け入れることができます。WS-Federation ID プロバイダーは、ACS からの WS-Federation メタデータのインポート時に X.509 証明書の公開キーを受け取り、この公開キーを使用して、ACS に転送されるセキュリティ トークンを暗号化します。ACS は、この X.509 証明書の秘密キーを使用してトークンの暗号化を解除します。詳細については、「方法:AD FS 2.0 を ID プロバイダーとして構成する」を参照してください。

証明書利用者アプリケーションまたは アクセス制御名前空間 の複数のトークン暗号化解除証明書を維持することができます。証明書をプライマリとして指定すると、ACS はその証明書を使用して、WS-Federation ID プロバイダーからのトークンの暗号化を解除し、プライマリ証明書の使用を試みて失敗した場合にのみ、非プライマリ証明書を使用します。

暗号化解除証明書をプライマリとして指定するには、その証明書のページで [プライマリにする] 項目を選択します。別の証明書をプライマリとして指定するには、他の証明書のページで [プライマリにする] 項目を選択します。そうすると、ACS が自動的に既存のプライマリ暗号化解除証明書を非プライマリに降格します。

ACS では、サービス ID の作成時や ID プロバイダーの署名の検証時、または SAML トークンの暗号化解除時に、公開キーのみを含む X.509 証明書 (.cer ファイル) を使用できます。公開キーのみを含む X.509 証明書ファイル (.cer ファイル) を ACS で使用する場合は DER エンコードする必要があります。Base64 でエンコードされた証明書ファイルは現在サポートされていません。base64 でエンコードされた証明書を ACS にアップロードすると、ACS がその証明書を必要とする受信トークンを受け取ったときに検証エラーが発生します。

ACS では、X.509 証明書に自己署名するか、署名してから直接公開証明機関にチェーンする必要があります。ACS は、秘密証明機関によって発行される証明書を処理しません。

noteメモ
ACS にインポートされた X.509 証明書の期限が切れないようにする必要があります。

トークン署名、トークン暗号化、または暗号化解除で使用する X.509 証明書を取得する方法はいくつかあります。使用する方法は、要件と組織で使用可能なツールによって異なります。

商用証明機関 - 商用証明機関から X.509 証明書を購入することができます。

自己署名証明書の生成 - 独自の自己署名証明書を生成して、ACS で使用することができます。Windows ベースのオペレーティング システムを実行している場合は、Microsoft Windows Software Development Kit (http://go.microsoft.com/fwlink/?LinkID=214104) に含まれているツール MakeCert.exe を使用して、自己署名証明書を生成することができます。

たとえば、以下のコマンドでは個人証明書ストアに自己署名証明書が生成されます。

MakeCert.exe -r -pe -n "CN=<service_namespace_name>.accesscontrol.windows.net" -sky exchange -ss my -len 2048 –e <1 year from today>

ここで、<service_namespace_name> は アクセス制御名前空間 の名前です。

その後、個人ストアから秘密キーを .pfx ファイルとしてエクスポートし、ACS 管理ポータルを使用して ACS にアップロードできます。

ここでは、Windows 8、Windows Server 2012、、または を実行しているコンピューターから自己署名証明書をエクスポートする方法について説明します。

  1. MMC.exe を開始して、証明書スナップインを MMC コンソールに追加します。

  2. [証明書 - 現在のユーザー]、[個人]、[証明書] の順にダブルクリックします。

  3. 証明書を右クリックし、[すべてのタスク] をクリックしてから [エクスポート] をクリックします。

  4. 証明書のエクスポート ウィザードの [ようこそ] ページで、[次へ] をクリックします。

  5. [秘密キーのエクスポート] ページで、[はい、秘密キーをエクスポートします] をクリックしてから [次へ] をクリックします。

  6. [エクスポート ファイルの形式] ページで、[Personal Information Exchange - PKCS #12 (.PFX)] をクリックします。

  7. [パスワード] フィールドに、パスワードと確認用のパスワードを入力してから [次へ] をクリックします。

  8. [ファイル名] フィールドに、パスとファイル名拡張子が .pfx のファイル名を入力してから [次へ] をクリックします。

  9. [完了] をクリックします。

ACS は、協定世界時 (UTC) で証明書とキーの開始日と終了日 (および日時) を評価します。その結果、ACS は、キーと証明書がローカル コンピューターの現地時刻または別のタイム ゾーンで有効な場合でも、無効と見なすことがあります。

証明書またはキーが有効であることをすぐに確認するには、日付を UTC 時刻に合わせます。そうしないと、キーまたは証明書がまだ有効ではないため、ACS はトークンの発行に失敗する場合があります。

関連項目

コミュニティの追加

追加
表示:
© 2015 Microsoft