次の方法で共有


JavaScript 用 Azure Key Vault 管理クライアント ライブラリ - バージョン 4.7.0

Azure Key Vault Managed HSM は、FIPS 140-2 レベル 3 で検証された HSM を使用してクラウド アプリケーションの暗号化キーを保護できるようにする、フル マネージドの高可用性シングルテナントの標準準拠クラウド サービスです。 Azure Key Vault Managed HSM の詳細については、「Azure Key Vault Managed HSM とは」を参照してください。

パッケージ @azure/keyvault-admin では、完全バックアップ/復元、キー レベルのロールベースのアクセス制御 (RBAC) などの管理 Key Vault タスクがサポートされます。

注: 管理ライブラリは、Azure Key Vault Managed HSM でのみ機能します。Key Vault を対象とする関数は失敗します。

注: このパッケージは、Azure Key Vault サービスの制限によりブラウザーで使用できません。ガイダンスについては、このドキュメント 参照してください。

主要なリンク:

作業の開始

パッケージをインストールする

NPMを使用して、JavaScript および TypeScript 用の Azure Key Vault 管理クライアント ライブラリをインストールします。

npm install @azure/keyvault-admin

TypeScript の構成

TypeScript ユーザーには、Node 型の定義がインストールされている必要があります。

npm install @types/node

また、tsconfig.jsonで compilerOptions.allowSyntheticDefaultImports を有効にする必要があります。 compilerOptions.esModuleInteropを有効にした場合、allowSyntheticDefaultImports は既定で有効になっています。 詳細については、TypeScript のコンパイラ オプション ハンドブックの を参照してください。

現在サポートされている環境

[前提条件]

クライアントを認証する

Azure Key Vault サービスと対話するには、KeyVaultAccessControlClient クラスまたは KeyVaultBackupClient クラスのインスタンスと、コンテナーの URL (Azure Portal では "DNS 名" と表示される場合があります) と資格情報オブジェクトを作成する必要があります。 このドキュメントに示す例では、DefaultAzureCredentialという名前の資格情報オブジェクトを使用します。これは、ローカルの開発環境や運用環境など、ほとんどのシナリオに適しています。 さらに、運用環境での認証には、マネージド ID を使用することをお勧めします。

認証のさまざまな方法とそれに対応する資格情報の種類の詳細については、Azure ID のドキュメントを参照してください。

KeyVaultAccessControlClient の作成

最適な に適した認証方法認証したら、次のように KeyVaultAccessControlClient を作成し、コンストラクターの Managed HSM URL に置き換えることができます。

import { DefaultAzureCredential } from "@azure/identity";
import { KeyVaultAccessControlClient } from "@azure/keyvault-admin";

const vaultUrl = `https://<MY KEY VAULT HERE>.vault.azure.net`;
const credentials = new DefaultAzureCredential();
const client = new KeyVaultAccessControlClient(vaultUrl, credentials);

KeyVaultBackupClient の作成

最適な に適した認証方法認証したら、次のように KeyVaultBackupClient を作成し、コンストラクターの Managed HSM URL に置き換えることができます。

import { DefaultAzureCredential } from "@azure/identity";
import { KeyVaultBackupClient } from "@azure/keyvault-admin";

const vaultUrl = `https://<MY KEY VAULT HERE>.vault.azure.net`;
const credentials = new DefaultAzureCredential();
const client = new KeyVaultBackupClient(vaultUrl, credentials);

重要な概念

KeyVaultRoleDefinition

ロール定義は、アクセス許可のコレクションです。 ロール定義は、読み取り、書き込み、削除など、実行できる操作を定義します。 また、許可された操作から除外される操作を定義することもできます。

ロール定義は、KeyVaultRoleAssignmentの一部として一覧表示および指定できます。

KeyVaultRoleAssignment

ロールの割り当ては、ロール定義とサービス プリンシパルの関連付けです。 これらは、作成、一覧表示、個別にフェッチ、および削除できます。

KeyVaultAccessControlClient

KeyVaultAccessControlClient では、ロール定義 (KeyVaultRoleDefinitionのインスタンス) とロールの割り当て (KeyVaultRoleAssignmentのインスタンス) を管理できる操作が提供されます。

KeyVaultバックアップクライアント

KeyVaultBackupClient では、完全キー バックアップ、完全キー復元、および選択的キー復元を実行するための操作が提供されます。

実行時間の長い操作

KeyVaultBackupClient によって実行される操作には、Azure リソースで必要なだけ時間がかかる場合があり、クライアント レイヤーは、操作の完了を待機するプログラムのライフサイクルを通じて操作を追跡、シリアル化、再開する必要があります。 これは、パッケージ @azure/core-lroを通じて一般的な抽象化によって行われます。

KeyVaultBackupClient には、実行時間の長い操作を実行する 3 つのメソッドが用意されています。

  • beginBackup、指定したストレージ BLOB アカウントで Azure Key Vault Managed HSM のバックアップの生成を開始します。
  • beginRestore、以前に格納された Azure Blob Storage バックアップ フォルダーを指す SAS トークンを使用して、すべてのキー マテリアルの復元を開始します。
  • beginSelectiveRestore、以前に格納された Azure Blob Storage バックアップ フォルダーを指すユーザー指定の SAS トークンを使用して、特定のキーのすべてのキー バージョンの復元を開始します。

実行時間の長い操作を開始するメソッドは、操作が完了するまで無期限に待機できるポーリングャーを返します。 詳細については、以下の例を参照してください。

例示

このパッケージのアクセス制御とバックアップ/復元機能を示す JavaScript と TypeScript の両方のサンプルがあります。 サンプルを実行する詳細な手順については、対応する readmes に従ってください。

トラブルシューティング

さまざまな障害シナリオを診断する方法の詳細については、トラブルシューティング ガイドの を参照してください。

ログ記録を有効にすると、エラーに関する有用な情報を明らかにするのに役立つ場合があります。 HTTP 要求と応答のログを表示するには、AZURE_LOG_LEVEL 環境変数を infoに設定します。 または、setLogLevel@azure/logger を呼び出すことによって、実行時にログを有効にすることもできます。

import { setLogLevel } from "@azure/logger";

setLogLevel("info");

次のステップ

その他のコード サンプルについては、次のリンクを参照してください。

投稿

このライブラリに投稿する場合は、コードをビルドしてテストする方法の詳細については、投稿ガイド を参照してください。