証明書およびキーの管理ガイドライン

適用対象

  • Microsoft Azure Active Directory アクセス制御 (アクセス制御サービスまたは ACS)

まとめ

このトピックでは、ACS で証明書とキーを使用するためのガイドラインについて説明します。 証明書とキーは設計上期限切れになるため、ACS を使用するアプリケーションが中断することなく正常に機能し続けるために、有効期限を追跡し、有効期限の前に適切なアクションを実行することが重要です。

重要

有効期限を追跡し、Access Control名前空間、証明書利用者アプリケーション、サービス ID、ACS 管理サービス アカウントで使用される証明書、キー、パスワードを更新します。

目標

  • 有効期限を追跡する必要がある証明書とキーを一覧にする

  • 証明書とキーの更新手順の概要を示す

    重要

    エラー メッセージと更新処理については、このトピックにある証明書、資格情報またはキーに関する特定のセクションを参照してください。

概要

証明書は必ず期限切れになるため、現在の証明書の有効期限が切れる前に十分な余裕をもって新しい証明書をアップロードすることをお勧めします。 使用する大まかな手順は次のとおりです。

  • 新しいセカンダリ証明書をアップロードします。

  • 変更が予定されているサービスを使用しているパートナーに通知します。 パートナーは、証明書利用者の証明書構成 (たとえば、ASP.NET Web アプリケーションの trustedIssuers ノードの web.config で構成された証明書のサムプリント) を更新する必要があります。

  • 合理的な猶予期間中は、以前の証明書を維持しながら、新しい証明書に署名を切り替えます (プライマリとマークします)。

  • 猶予期間が終了したら、古い証明書を 削除 します。 

証明書またはキーの有効期限が切れると、ACS によるトークンの発行が失敗し、証明書利用者アプリケーションが正常に動作できません。 ACS では有効期限が切れた証明書とキーが無視され、証明書またはキーが構成されていない場合にスローされるのと同じ例外が発生します。

次のセクションでは、ACS が使用する証明書とキーの管理、証明書とキーの更新方法、有効期限が近づいているか期限切れになっている証明書とキーを識別する方法について説明します。

  • Access Control名前空間と証明書利用者アプリケーションの証明書とキーを管理するには、ACS 管理ポータルの [証明書とキー] ページを使用します。 これらの資格情報の種類の詳細については、「 証明書とキー」を参照してください。

  • サービス ID の資格情報 (証明書、キー、またはパスワード) を管理するには、ACS 管理ポータルの [サービス ID] ページを使用します。 サービス ID の詳細については、「 サービス ID」を参照してください。

  • ACS 管理サービス アカウントの資格情報 (証明書、キー、またはパスワード) を管理するには、ACS 管理ポータルの [管理サービス] ページを使用します。 ACS 管理サービスの詳細については、 ACS 管理サービスを参照してください。

  • AD FS 2.0 など、WS-Federation ID プロバイダーの証明書を管理するには、ACS 管理ポータルの [ID プロバイダー] ページを使用します。 詳細については、「WS-Federation ID プロバイダー証明書と WS フェデレーション ID プロバイダー」を参照してください。

    ID プロバイダーの証明書とキーWS-Federationプログラムで表示および更新するには、 ACS 管理サービスを使用します。 証明書の有効な日付を確認するには、IdentityProviderKey エンティティの StartDate プロパティと EndDate プロパティの値に対してクエリを実行します。 詳細については、KeyManagement のコード サンプル「 コード サンプル: キー管理」をダウンロードしてください。

有効期限が切れた証明書またはキーによって署名されたトークンを要求すると、ACS は証明書またはキーに固有の ACS エラー コード を持つ例外をスローします。 具体的なエラー コードについては、以下のセクションを参照してください。

使用可能な証明書とキー

次の一覧には、ACS で使用され、有効期限を追跡する必要がある使用可能な証明書とキーが表示されます。

重要

エラー メッセージと更新処理については、このトピックにある証明書、資格情報またはキーに関する特定のセクションを参照してください。

  • トークン署名証明書

  • トークン署名キー

  • トークン暗号化証明書

  • トークン暗号化解除証明書

  • サービス ID 資格情報

  • ACS Management Service アカウントの資格情報

  • WS-Federation ID プロバイダーの署名および暗号化証明書

このトピックの後の部分では、各証明書とキーについて詳細に説明します。

トークン署名証明書

ACS は、発行されるすべてのセキュリティ トークンに署名します。 X.509 証明書を使用して、アプリケーションの SAML トークンに署名します。

署名証明書の有効期限が切れた場合、トークンを要求すると ACS は次のエラーを返します。

エラー コード Message 解決方法

ACS50004

プライマリ X.509 署名証明書が構成されていません。 SAML には署名証明書が必要です。

選択した証明書利用者が SAML トークンを使用する場合は、証明書利用者またはAccess Control名前空間に対して有効な X.509 証明書が構成されていることを確認します。 証明書はプライマリに設定し、有効期限が切れていない必要があります。

署名証明書を更新するには:

  1. Microsoft Azure管理ポータル (https://manage.WindowsAzure.com) に移動し、サインインし、[Active Directory] をクリックします。 (トラブルシューティングのヒント: "Active Directory" 項目が見つからないか、使用できません)

  2. アクセス制御名前空間を管理するには、名前空間をクリックしてしてから [管理] をクリックします。 または、[アクセス制御名前空間] をクリックして名前空間を選択し、[管理] をクリックします。

  3. [証明書とキー] をクリックします。

  4. 状態が [期限切れ間近] または [期限切れ] の資格情報を選択します。

    注意

    [証明書とキー] セクションでは、Access Control名前空間の証明書とキーに「サービス名前空間」というラベルが付けられています。

  5. 必要に応じて証明書を入力または生成します。

  6. [有効] と [有効期限] の日付を更新します。

  7. [保存] をクリックして完了します。

トークン署名キー

ACS は、発行されるすべてのセキュリティ トークンに署名します。 ACS は、ACS によって発行された SWT トークンを使用するアプリケーションに 256 ビット対称署名キーを使用します。

署名キーの有効期限が切れた場合、トークンを要求すると ACS は次のエラーを返します。

エラー コード Message 解決方法

ACS50003

プライマリ対称署名キーが構成されていません。 SWT には対称署名キーが必要です。

選択した証明書利用者がトークンの種類として SWT を使用する場合は、証明書利用者またはAccess Control名前空間に対して対称キーが構成されていること、およびキーがプライマリに設定され、有効期限が切れていないことを確認します。

署名キーを更新するには:

  1. Microsoft Azure管理ポータル (https://manage.WindowsAzure.com) に移動し、サインインし、[Active Directory] をクリックします。 (トラブルシューティングのヒント: "Active Directory" 項目が見つからないか、使用できません)

  2. アクセス制御名前空間を管理するには、名前空間をクリックしてしてから [管理] をクリックします。 または、[アクセス制御名前空間] をクリックして名前空間を選択し、[管理] をクリックします。

  3. [証明書とキー] をクリックします。

  4. 状態が [期限切れ間近] または [期限切れ] のキーを選択します。

    注意

    [証明書とキー] セクションでは、Access Control名前空間の証明書とキーに「サービス名前空間」というラベルが付けられています。

  5. 必要に応じてキーを入力または生成します。

  6. [有効] と [有効期限] の日付を更新します。

  7. [保存] をクリックして完了します。

トークン暗号化証明書

証明書利用者アプリケーションが、WS-Trust プロトコルで所有の証明トークンを使用する場合、トークンの暗号化が必要です。 その他の場合、トークンの暗号化はオプションです。

暗号化証明書の有効期限が切れた場合、トークンを要求すると ACS は次のエラーを返します。

エラー コード Message 解決方法

ACS50005

トークンの暗号化が必要ですが、証明書利用者に対して暗号化証明書が構成されていません。

選択された証明書利用者に対してトークンの暗号化を無効にするか、トークンの暗号化に使用する X.509 証明書をアップロードします。

暗号化証明書を更新するには:

  1. Microsoft Azure管理ポータル (https://manage.WindowsAzure.com) に移動し、サインインし、[Active Directory] をクリックします。 (トラブルシューティングのヒント: "Active Directory" 項目が見つからないか、使用できません)

  2. アクセス制御名前空間を管理するには、名前空間をクリックしてしてから [管理] をクリックします。 または、[アクセス制御名前空間] をクリックして名前空間を選択し、[管理] をクリックします。

  3. [証明書とキー] をクリックします。

  4. 状態が [期限切れ間近] または [期限切れ] の資格情報を選択します。

    注意

    [証明書とキー] セクションで、Access Control名前空間の証明書とキーに「サービス名前空間」というラベルが付けられます。

  5. 新しい証明書ファイルを入力または参照し、そのファイルのパスワードを入力します。

  6. [保存] をクリックして完了します。

トークン暗号化解除証明書

ACS は、AD FS 2.0 などのWS-Federation ID プロバイダーからの暗号化されたトークンを受け入れます。 ACS は、暗号化解除のために ACS でホストされている X.509 証明書を使用します。

暗号化解除証明書の有効期限が切れた場合、トークンを要求すると ACS は次のエラーを返します。

エラー コード Message

ACS10001

SOAP ヘッダーの処理中にエラーが発生しました。

ACS20001

WS-Federation サインイン応答の処理中にエラーが発生しました。

暗号化解除証明書を更新するには:

  1. Microsoft Azure管理ポータル (https://manage.WindowsAzure.com) に移動し、サインインし、[Active Directory] をクリックします。 (トラブルシューティングのヒント: "Active Directory" 項目が見つからないか、使用できません)

  2. アクセス制御名前空間を管理するには、名前空間をクリックしてしてから [管理] をクリックします。 または、[アクセス制御名前空間] をクリックして名前空間を選択し、[管理] をクリックします。

  3. [証明書とキー] をクリックします。

  4. ACS 管理ポータルの [証明書とキー] セクションを使用して、Access Control名前空間と証明書利用者アプリケーションに関連する証明書またはキーを管理します。

  5. 状態が [期限切れ間近] または [期限切れ] の資格情報を選択します。

    注意

    [証明書とキー] セクションで、Access Control名前空間の証明書とキーに「サービス名前空間」というラベルが付けられます。

  6. 新しい証明書ファイルを入力するか参照し、そのファイルのパスワードを入力します。

  7. [保存] をクリックして完了します。

サービス ID 資格情報

サービス ID は、Access Control名前空間用にグローバルに構成された資格情報です。 これにより、アプリケーションまたはクライアントは ACS で直接認証し、トークンを受け取ります。 ACS サービス ID には、対称キー、パスワード、X.509 証明書を使用できます。 資格情報の有効期限が切れると、ACS は次の例外をスローします。

資格情報 エラー コード Message 解決方法

対称キー、パスワード

ACS50006

署名の確認に失敗しました。 (M の詳細はメッセージに含まれています)

X.509 証明書

ACS50016

サブジェクト '証明書サブジェクト名>' と拇印 '<<証明書拇印>' を持つ X509Certificate は、構成されている証明書と一致しません。

要求された証明書が ACS にアップロードされたことを確認します。

対称キーまたはパスワードの有効期限を確認して更新したり、新しい証明書をサービス ID 資格情報としてアップロードしたりするには、「 方法: X.509 証明書、パスワード、または対称キーを使用してサービス ID を追加する」で説明されている手順に従います。 使用できるサービス ID 資格情報の一覧が、[サービス ID の編集] ページにあります。

  1. ACS 管理ポータルの [サービス ID] ページに移動します。

  2. サービス ID を選択します。

  3. 状態が [期限切れ] または [期限切れ間近] の資格情報、対称キー、パスワード、または X.509 証明書を選択します。

  4. 対称キーの場合は、新しいキーを入力または生成し、有効日有効期限を入力します。 [保存] をクリックします。

  5. パスワードには、新しいパスワードを入力し、[有効] と [有効期限] の日付を入力します。 [保存] をクリックします。

  6. X.509 証明書の場合、新しい証明書ファイルを入力または参照し、[保存] をクリックします。

管理サービスの資格情報

ACS 管理サービスは ACS の重要なコンポーネントであり、Access Control名前空間の設定をプログラムで管理および構成できます。 ACS 管理サービス アカウントでは、対称キー、パスワード、X.509 証明書を使用できます。 これらの資格情報の有効期限が切れている場合、ACS は次の例外をスローします。

資格情報 エラー コード Message 解決方法

対称キーまたはパスワード

ACS50006

署名の確認に失敗しました。 (メッセージに詳細が示されている場合があります)

X.509 証明書

ACS50016

サブジェクト '証明書サブジェクト名>' と拇印 '<<証明書拇印>' を持つ X509Certificate は、構成されている証明書と一致しません。

要求された証明書が ACS にアップロードされたことを確認します。

ACS 管理サービス アカウント資格情報の一覧は、ACS 管理ポータルの [管理サービス アカウントの編集 ] ページに表示されます。

  1. ACS 管理ポータルの [管理サービス ] ページに移動します。

  2. 管理サービス アカウントを選択します。

  3. 状態が [期限切れ ] または [期限切れ 近く] の資格情報、対称キー、パスワード、または X.509 証明書を選択します。

  4. 対称キーの場合は、新しいキーを入力または生成し、 有効 日と 有効期限 を入力します。 [保存] をクリックします。

  5. パスワードには、新しいパスワードを入力し、[有効] と [有効期限] の日付を入力します。 [保存] をクリックします。

  6. X.509 証明書の場合、新しい証明書を入力または参照し、[保存] をクリックします。

WS-Federation ID プロバイダーの証明書

WS-Federation ID プロバイダーのフェデレーション メタデータ ドキュメントには、ID プロバイダーのトークンに署名するために使用される X.509 証明書を識別するサムプリントが含まれています。

WS-Federation ID プロバイダー証明書が有効な日付の範囲内にあるかどうかを判断するには、ACS 管理サービスまたは ACS 管理ポータルを使用します。

ACS 管理ポータルを使用するには:

  1. Azure 管理ポータル https://manage.WindowsAzure.comにログインします。

  2. Access Control 名前空間を選択し、[管理] をクリックします。 または、[Access Control 名前空間] をクリックしてアクセス制御名前空間を選択し、[管理] をクリックします。

  3. ACS 管理ポータルで、[ID プロバイダー] をクリックし、WS-Federation ID プロバイダーを選択します。

  4. [トークン署名証明書] セクションで、WS-Federation ID プロバイダー証明書の有効期限と [状態] を表示します。

  5. 証明書の状態が [期限切れ] または [期限切れ間近] の場合は、WS-Federation ID プロバイダー (AD FS またはカスタム ID プロバイダー) が、セカンダリ署名証明書を追加したことを確認します。

    WS-Federation ID プロバイダーのフェデレーション メタデータを識別するために URL を使用した場合は、[保存時に WS-Federation メタデータ URL からデータを再インポート] を選択し、[保存] をクリックします。 WS-Federation メタデータをローカル ファイルとしてアップロードした場合は、もう一度新しい WS-Federation メタデータ ファイルをアップロードし、[保存] をクリックします。

ACS が、有効期限が切れているか不明な証明書で署名されたトークンを ID プロバイダーから受け取った場合、ACS は次の例外をスローします。

エラー コード Message

ACS10001

SOAP ヘッダーの処理中にエラーが発生しました。

ACS20001

WS-Federation サインイン応答の処理中にエラーが発生しました。

ACS50006

署名の確認に失敗しました。 (メッセージに詳細が示されている場合があります)

参照

タスク

コード サンプル: キー管理

概念

ACS エラー コード
ACS ガイドラインの索引
ACS の管理サービス
証明書とキー
方法: X.509 証明書、パスワード、または対称キーを使用してサービス ID を追加する
証明書利用者アプリケーション
サービス ID