Azure Key Vault のキー、シークレット、証明書の概要
Azure Key Vault を使用すると、Microsoft Azure アプリケーションとユーザーは、いくつかの種類のシークレットおよびキーのデータ (キー、シークレット、証明書) を保存して使用できます。 キー、シークレット、証明書は、まとめて "オブジェクト" と呼ばれます。
オブジェクト ID
オブジェクトは、オブジェクト識別子と呼ばれる大文字と小文字を区別しない識別子を使用して、Key Vault 内で一意に識別されます。 地理的場所に関係なく、システム内の複数のオブジェクトが同じ識別子を持つことはありません。 識別子は、キー コンテナーを示すプレフィックス、オブジェクトの種類、ユーザー指定のオブジェクト名、オブジェクトのバージョンで構成されます。 オブジェクトのバージョンを含まない識別子は、"ベース識別子" と呼ばれます。 Key Vault のオブジェクト識別子は有効な URL でもありますが、常に大文字と小文字を区別しない文字列として比較する必要があります。
詳しくは、「Authentication, requests, and responses」(認証、要求、応答) をご覧ください。
オブジェクト識別子の一般的な形式は次のとおりです (コンテナーの種類に依存)。
コンテナーの場合:
https://{vault-name}.vault.azure.net/{object-type}/{object-name}/{object-version}
Managed HSM プールの場合:
https://{hsm-name}.managedhsm.azure.net/{object-type}/{object-name}/{object-version}
Note
各コンテナーの種類でサポートされているオブジェクトの種類については、オブジェクトの種類のサポートに関するセクションを参照してください。
各値の説明:
要素 | 説明 |
---|---|
vault-name または hsm-name |
Microsoft Azure Key Vault サービスでのキー コンテナーまたは Managed HSM プールの名前。 コンテナーの名前と Managed HSM プールの名前は、ユーザーによって選択され、グローバルに一意です。 コンテナーの名前と Managed HSM プールの名前は、0 から 9、a から z、A から Z のみを連続せずに含む、3 から 24 文字の文字列である必要があります。 |
object-type |
オブジェクトの種類で、"keys"、"secrets"、"certificates" のいずれかになります。 |
object-name |
object-name は、ユーザーが指定する名前で、キー コンテナー内で一意である必要があります。 名前は、0 ~ 9、a ~ z、A ~ Z、- のみを使った 1 ~ 127 文字の文字列である必要があります。 |
object-version |
object-version はシステムが生成し、オブジェクトの一意のバージョンに対応するために必要に応じて使用される 32 文字の文字列識別子です。 |
オブジェクト識別子の DNS サフィックス
Azure Key Vault リソース プロバイダーでは、コンテナーとマネージド HSM という 2 種類のリソースがサポートされています。 この表は、さまざまなクラウド環境でコンテナーとマネージド HSM プールのデータプレーン エンドポイントによって使用される DNS サフィックスを示しています。
クラウド環境 | コンテナーの DNS サフィックス | マネージド HSM の DNS サフィックス |
---|---|---|
Azure Cloud | .vault.azure.net | .managedhsm.azure.net |
21Vianet によって運営される Microsoft Azure クラウド | .vault.azure.cn | サポートされていません |
Azure 米国政府機関 | .vault.usgovcloudapi.net | サポートされていません |
Azure German Cloud | .vault.microsoftazure.de | サポートされていません |
オブジェクトの型
この表は、オブジェクト識別子におけるオブジェクトの種類とそのサフィックスを示しています。
オブジェクトの種類 | 識別子サフィックス | コンテナー | Managed HSM プール |
---|---|---|---|
HSM で保護されたキー | /keys | サポートされています | サポートされています |
ソフトウェアで保護されるキー | /keys | サポートされています | サポートされていません |
シークレット | /secrets | サポートされています | サポートされていません |
証明書 | /certificates | サポートされています | サポートされていません |
ストレージ アカウント キー | /storage | サポートされています | サポートされていません |
- 暗号化キー: 複数のキーの種類とアルゴリズムをサポートし、ソフトウェアによって保護されるキーと HSM によって保護されるキーを使用できるようにします。 詳細については、キーについてのページを参照してください。
- シークレット: パスワードやデータベース接続文字列などのシークレットのセキュリティで保護されたストレージを提供します。 詳細については、シークレットについてのページを参照してください。
- [Certificates](証明書) : キーとシークレットを基に構築され、自動更新機能を追加します。 証明書が作成されると、アドレス指定可能なキーとシークレットも同じ名前で作成されることに留意してください。 詳細については、証明書についてのページを参照してください。
- Azure ストレージ アカウント キー: Azure Storage アカウントのキーを自動的に管理できます。 内部的には、Key Vault は Azure ストレージ アカウントのキーを一覧表示し (同期)、定期的にキーを再生成 (ローテーション) できます。 詳細については、Key Vault を使用してストレージ アカウント キーを管理する方法に関するページを参照してください。
Key Vault の一般的な情報については、「Azure Key Vault について」を参照してください。 Managed HSM プールの詳細については、「Azure Key Vault Managed HSM とは」を参照してください
データ型
キー、暗号化、および署名に関連するデータ型については、JOSE の仕様をご覧ください。
- algorithm - キーの操作に対してサポートされるアルゴリズムです (RSA1_5 など)
- ciphertext-value - Base64URL を使用してエンコードされた暗号テキスト オクテットです
- digest-value - Base64URL を使用してエンコードされたハッシュ アルゴリズムの出力です
- key-type - サポートされているキーの種類の 1 つです (RSA (Rivest-Shamir-Adleman) など)。
- plaintext-value - Base64URL を使用してエンコードされたプレーンテキスト オクテットです
- signature-value - Base64URL を使用してエンコードされた署名アルゴリズムの出力です
- base64URL - Base64URL [RFC4648] でエンコードされたバイナリ値です
- boolean - true または false です
- ID - Microsoft Entra ID からの ID。
- IntDate - 1970-01-01T0:0:0Z UTC から指定された UTC 日時までの秒数を表す JSON 10 進値です。 一般的および UTC 固有の日付/時刻に関する詳細については、RFC3339 をご覧ください。
オブジェクト、識別子、バージョン管理
Key Vault に格納されるオブジェクトは、オブジェクトの新しいインスタンスが作成されるたびにバージョン管理されます。 各バージョンには、一意のオブジェクト識別子が割り当てられます。 オブジェクトが最初に作成されるときに、オブジェクトに一意のバージョン識別子が指定され、オブジェクトの現在のバージョンとしてマークされます。 同じオブジェクト名の新しいインスタンスが作成されると、新しいオブジェクトに一意のバージョン識別子が与えられ、現在のバージョンになります。
Key Vault 内のオブジェクトは、バージョンを指定して取得する、またはバージョン指定を省略してオブジェクトの最新バージョンを取得できます。 オブジェクトに対して操作を実行するには、特定のバージョンのオブジェクトを使用するバージョンを指定する必要があります。
注意
Azure リソースまたはオブジェクトの ID に指定した値は、サービスを実行するためにグローバルにコピーされる場合があります。 指定する値には、個人を特定できる情報や機密情報を含めてはなりません。