証明書、シークレット、キーを管理する

完了

Azure Key Vault 証明書のサポートにより、X.509 証明書が管理されるようになります。動作は次のとおりです。

  • 証明書の所有者が、キー コンテナー作成プロセスを介して、または既存の証明書をインポートして、証明書を作成できます。 インポートされた証明書には、自己署名証明書と、証明機関 (CA) から生成された証明書の両方が含まれます。
  • Key Vault 証明書の所有者は、秘密キー マテリアルを操作せずに、X.509 証明書のセキュリティ保護されたストレージと管理を実装できます。
  • 証明書所有者が、証明書のライフサイクルを管理するように Key Vault に指示するポリシーを作成できます。
  • 証明書所有者が、有効期限と更新のライフサイクル イベントに関する通知の連絡先情報を提供できるようにします。
  • 選択した発行者 (Key Vault パートナー X.509 証明書プロバイダーと CA) による自動更新をサポートします。

証明書の構成

Key Vault 証明書が作成されると、アドレス指定可能なキーとシークレットも同じ名前で作成されます。 Key Vault のキーによってキーの操作が可能になり、Key Vault のシークレットによってシークレットとして証明書の値を取得できます。 Key Vault 証明書には、公開 X.509 証明書メタデータも含まれます。

証明書の識別子とバージョンは、キーとシークレットのものと似ています。 Key Vault 証明書のバージョンで作成されるアドレス指定可能なキーとシークレットの特定のバージョンは、Key Vault 証明書の応答で使用できます。

証明書の構成の例を示すダイアグラム。

エクスポート可能なキーまたはエクスポート不可能なキー

Key Vault 証明書が作成されるとき、秘密キーと共にアドレス指定可能なシークレットから PFX または PEM 形式で取得できます。 証明書の作成に使用されるポリシーでは、キーがエクスポート可能であることが示されている必要があります。 ポリシーでキーがエクスポートできないことが示されている場合、秘密キーはシークレットとして取得されるときに値の一部ではありません。

アドレス指定可能なキーは、エクスポートできない Key Vault 証明書とより関連性が高くなります。 アドレス指定可能な Key Vault キーの操作は、Key Vault 証明書の作成に使用された Key Vault 証明書ポリシーのキー使用法フィールドからマップされます。

次の表に、サポートされているキーの種類を示します。

キー About Security
RSA ソフトウェアで保護された RSA キー FIPS 140-2 レベル 1
RSA-HSM HSM で保護された RSA キー (Premium SKU のみ) FIPS 140-2 レベル 2 HSM
EC ソフトウェアで保護される楕円曲線キー FIPS 140-2 レベル 1
EC-HSM HSM で保護された楕円曲線キー (Premium SKU のみ) FIPS 140-2 レベル 2 HSM
octet (オクテット) ソフトウェアで保護されたオクテット キー FIPS 140-2 レベル 1

エクスポート可能なキーは、RSA と EC でのみ許可されます。 HSM キーはエクスポートできません。

証明書の属性とタグ

証明書のメタデータ、アドレス指定可能なキー、およびアドレス指定可能なシークレットだけでなく、Key Vault 証明書にも属性とタグが含まれます。

属性

証明書の属性は、Key Vault 証明書の作成時に作成されるアドレス指定可能なキーとシークレットの属性にミラー化されます。

Key Vault 証明書には次の属性があります。

  • enabled: このブール値の属性は省略可能です。 既定値は True です。 この属性を指定して、証明書のデータをシークレットとして取得できるか、またはキーとして操作可能かを示すことができます。
    • この属性は、nbf と exp の間に操作が発生するときにも nbf および exp と共に使われます。ただし、enabled が true に設定されている場合に限ります。 nbf から exp までのウィンドウの外側の操作は、自動的に禁止されます。

応答には、次の追加の読み取り専用属性が含まれます。

  • created: IntDateは、このバージョンの証明書がいつ作成されたかを示します。
  • updated: IntDateは、このバージョンの証明書がいつ更新されたかを示します。
  • exp: IntDate は、X.509 証明書の有効期限の値を含みます。
  • nbf: IntDate は、X.509 証明書の "有効期間の開始時刻" の日付の値を含みます。

Note

"Key Vault 証明書は、有効期限が切れても取得できますが、証明書の有効期限が検証されるトランスポート層セキュリティ保護などのシナリオでは、証明書が機能しなくなる可能性があります。"

タグ

証明書のタグは、キーとシークレットのタグと同様に、キーと値のペアのクライアント指定のディクショナリです。

Note

"呼び出し元は、そのオブジェクトの種類 (キー、シークレット、または証明書) に対して list または get アクセス許可を持っている場合、タグを読み取ることができます。"

証明書ポリシー

証明書ポリシーには、Key Vault 証明書のライフサイクルを作成して管理する方法に関する情報が含まれています。 秘密キーを含む証明書がキー コンテナーにインポートされると、Key Vault サービスは X.509 証明書を読み取って既定のポリシーを作成します。

Key Vault 証明書を最初から作成するときは、ポリシーを提供する必要があります。 このポリシーでは、この Key Vault 証明書バージョンまたは次の Key Vault 証明書バージョンを作成する方法を指定します。 ポリシーが確立された後は、将来のバージョンに対する後続の作成操作では必要はありません。 Key Vault 証明書のすべてのバージョンに対して、ポリシーのインスタンスは 1 つだけ存在します。

大まかに言えば、証明書ポリシーには次の情報が含まれています。

  • X.509 証明書のプロパティ。サブジェクト名、サブジェクト代替名、および X.509 証明書要求の作成に使用されるその他のプロパティが含まれます。
  • キーのプロパティ。キーの種類、キーの長さ、エクスポート可能、ReuseKeyOnRenewal フィールドが含まれています。 これらのフィールドは、Key Vault にキーの生成方法を示します。
    • サポートされているキーの種類は、RSA、RSA-HSM、EC、EC-HSM、オクテットです。
  • 証明書をシークレットとして取得するための、シークレット値を生成するアドレス指定可能なシークレットのコンテンツ タイプなどのシークレット プロパティ。
  • Key Vault 証明書の有効期間アクション。 各有効期間アクションには次のものが含まれています。
  • トリガー: 有効期限までの日数または有効期間のパーセンテージで指定されます。
  • アクション: emailContacts または autoRenew
  • 証明書の検証の種類: DigiCert および GlobalSign 発行者に対する組織検証 (Organization Validated-Secure Socket Layer) と拡張検証 (Extended Validation-Secure Socket Layer)。
  • X.509 証明書の発行に使用する証明書発行者に関するパラメーター。
  • ポリシーに関連付けられている属性。

X.509 の使用状況を主要な操作にマッピングする

次の表は、X.509 キー使用ポリシーと、Key Vault 証明書作成の一部として作成されるキーの有効なキー操作との対応を示しています。

X.509 キーの使用フラグ Key Vault のキー操作 既定の動作
DataEncipherment encrypt、decrypt 適用なし
DecipherOnly 復号化 適用なし
DigitalSignature sign、verify 証明書作成時に使用方法が指定されてない場合の Key Vault の既定値
EncipherOnly encrypt 適用なし
KeyCertSign sign、verify 適用なし
KeyEncipherment wrapKey、unwrapKey 証明書作成時に使用方法が指定されてない場合の Key Vault の既定値
NonRepudiation sign、verify 適用なし
crlsign sign、verify 適用なし

証明書の発行者

Key Vault 証明書オブジェクトは、X.509 証明書を要求するための選択された証明書発行者プロバイダーとの通信に使用される構成を保持しています。

Key Vault は、トランスポート層セキュリティまたは Secure Sockets Layer 証明書の次の証明書発行者プロバイダーと提携しています。

プロバイダー名 場所
DigiCert パブリック クラウドおよび Azure Government 内のすべての Key Vault サービスの場所でサポートされます
GlobalSign パブリック クラウドおよび Azure Government 内のすべての Key Vault サービスの場所でサポートされます

キー コンテナーで証明書の発行者を作成する前に、管理者は次の前提条件の手順を実行する必要があります。

  1. 少なくとも 1 つの CA プロバイダーを使用して組織をオンボードします。
  2. Key Vault でトランスポート層セキュリティまたは Secure Sockets Layer 証明書を登録 (および更新) するために、要求者資格情報を作成します。 この手順では、キー コンテナー内のプロバイダーの発行者オブジェクトを作成するための構成を提供します。

Key Vault では、異なる発行者プロバイダー構成で複数の発行者オブジェクトを作成できます。 発行者オブジェクトが作成されたら、その名前を 1 つまたは複数の証明書ポリシーで参照できます。 発行者オブジェクトを参照することで、証明書の作成と更新中に CA プロバイダーに X.509 証明書を要求するときに、発行者オブジェクトで指定されている構成を使用するよう Key Vault に指示します。

発行者オブジェクトはコンテナーに作成されます。 これらは、同じコンテナー内の Key Vault 証明書でのみ使用できます。

証明書の連絡先

証明書の連絡先には、証明書有効期間イベントによってトリガーされる通知を送信するための連絡先情報が含まれています。 連絡先情報は、キー コンテナー内のすべての証明書によって共有されます。

通知は、キー コンテナー内の任意の証明書のイベントに指定されているすべての連絡先に送信されます。

証明書のアクセスの制御

Key Vault によって証明書のアクセス制御が管理されます。 これらの証明書を含むキー コンテナーによって、アクセス制御が提供されます。 証明書のアクセス制御ポリシーは、同じキー コンテナー内のキーとシークレットに対するアクセス制御ポリシーとは別です。

ユーザーは、1 つまたは複数のコンテナーを作成して証明書を保持し、証明書のセグメント化と管理に適切なシナリオを維持することができます。

証明書のユース ケース

セキュリティで保護された通信と認証

トランスポート層セキュリティ証明書は、インターネット経由の通信を暗号化し、Web サイトの ID を確立するのに役立ちます。 この暗号化により、エントリ ポイントと通信モードのセキュリティが強化されます。 さらに、パブリック CA によって署名されたチェーン証明書は、その証明書を保持しているエンティティが正当であることを確認するのに役立ちます。

例として、証明書を使用して通信をセキュリティで保護し、認証を有効にするユース ケースを次に示します。

  • イントラネットまたはインターネットの Web サイト: イントラネット サイトへのアクセスを保護し、トランスポート層セキュリティ証明書を介してインターネット経由で暗号化されたデータ転送を保証します。
  • IoT およびネットワーク デバイス: 認証と通信に証明書を使用することで、デバイスを保護し、セキュリティで保護します。
  • クラウドまたはマルチクラウド: オンプレミス、クロスクラウド、クラウド プロバイダーのテナントで、クラウドベースのアプリケーションをセキュリティで保護します。

コード署名

証明書は、ソフトウェアのコードやスクリプトをセキュリティで保護するのに役立ち、作成者が悪意のあるエンティティによる干渉を受けることなく、インターネット経由でソフトウェアを共有できるようにします。 作成者が証明書を使用し、コード署名テクノロジを利用してコードに署名すると、そのソフトウェアには、作成者とその Web サイトを表示する認証スタンプが付けられます。 コード署名で使用される証明書は、ソフトウェアの信頼性を検証し、エンドツーエンドのセキュリティを促進するのに役立ちます。