次の方法で共有


Azure CLI を使用してマネージド HSM を管理する

Key Vault は、コンテナーとマネージド HSM という 2 種類のリソースをサポートしています。 この記事では、 Managed HSM について説明します。 コンテナーを管理する方法については、 Azure CLI を使用した Key Vault の管理に関するページを参照してください。

Managed HSM の概要については、「Managed HSM とは」を参照してください。

前提条件

この記事の手順を完了するには、次のものが必要です。

Azure Cloud Shell

Azure は、ブラウザーから使用できる対話型シェル環境である Azure Cloud Shell をホストします。 Cloud Shell で Bash または PowerShell を使用して、Azure サービスを操作できます。 Cloud Shell にプレインストールされているコマンドを使用すると、ローカル環境に何もインストールしなくても、この記事のコードを実行できます。

Azure Cloud Shell を起動するには:

選択肢 例とリンク
コードまたはコマンド ブロックの右上隅にある [ してみる] を選択します。 [ してみる] を選択しても、コードまたはコマンドは Cloud Shell に自動的にコピーされません。 Azure Cloud Shell の Try It の例を示すスクリーンショット。
https://shell.azure.comに移動するか、[Cloud Shell の起動] ボタンを選択してブラウザーで Cloud Shell を開きます。 Azure Cloud Shell を起動するボタン。
Azure portal の右上にあるメニュー バーの Cloud Shell ボタンを選択します。 Azure portal の [Cloud Shell] ボタンを示すスクリーンショット

Azure Cloud Shell を使用するには、以下のようにします。

  1. Cloud Shell を起動します。

  2. コード ブロック (またはコマンド ブロック) の [コピー ] ボタンを選択して、コードまたはコマンドをコピーします。

  3. Windows および Linux で Ctrl+Shift+V を選択するか、macOS の Cmd+Shift+V を選択して、Cloud Shell セッションにコードまたはコマンドを貼り付けます。

  4. Enter キーを してコードまたはコマンドを実行します。

Azure にサインインする

次のように入力することで CLI を使用して、Azure にサインインします。

az login

CLI を使用したサインイン オプションの詳細については、Azure CLI でのサインインに関するページを参照してください。

以降のすべてのコマンドについて、2 つの使用方法が示されています。 1 つは --hsm-name--name (キー名用) パラメーターを使用し、もう 1 つは --id パラメーターを使用します。こちらは、必要に応じてキー名を含む URL 全体を指定できます。 後者の方法は、呼び出し元 (ユーザーまたはアプリケーション) にコントロール プレーンに対する読み取りアクセス権がなく、データ プレーンに対する制限付きアクセス権のみがあるときに便利です。

キー マテリアルとの一部のやり取りには、特定のローカル RBAC アクセス許可が必要です。 組み込みのローカル RBAC ロールとアクセス許可の完全な一覧については、「 Managed HSM ローカル RBAC の組み込みロール」を参照してください。 これらのアクセス許可をユーザーに割り当てるには、「マネージド HSM へのアクセスをセキュリティで保護する」を参照してください。

HSM キーを作成する

マネージド HSM に生成またはインポートされたキーはエクスポートできません。 エクスポートなしルールの唯一の例外は、特定のキー リリース ポリシーを使用してキーを作成する場合です。 このポリシーを使用すると、明示的に定義した信頼できるコンフィデンシャル コンピューティング環境 (セキュリティで保護されたエンクレーブ) にのみキーをエクスポートできます。 この制限付きエクスポート機能は、特定のセキュリティで保護されたコンピューティング シナリオ向けに設計されており、汎用キーのエクスポートと同じではありません。 主要な移植性と持続性については、推奨されるベスト プラクティスを参照してください。

キーを作成するには、az keyvault key create コマンドを使用します。

RSA キーを作成する

この例では、wrapKey、unwrapKey 操作 (--ops) にのみ使用される 3072 ビット RSA キーを作成する方法を示します。

az keyvault key create --hsm-name ContosoMHSM --name myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072

## OR
# Note the key name (myrsakey) in the URI

az keyvault key create --id https://ContosoMHSM.managedhsm.azure.net/keys/myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072

get 操作は、公開キーとキーの属性のみを返します。 秘密キー (非対称キーの場合) やキー マテリアル (対称キーの場合) は返しません。

EC キーを作成する

次の例は、署名と検証操作 (--ops) にのみ使用され、使用法アプリ名の 2 つのタグを持つ P-256 曲線を使用して EC キーを作成する方法を示しています。 タグは、追跡と管理のためにキーにメタデータを追加する場合に役立ちます。

az keyvault key create --hsm-name ContosoMHSM --name myec256key --ops sign verify  --tags ‘usage=signing] appname=myapp’ --kty EC-HSM --curve P-256

## OR
# Note the key name (myec256key) in the URI

az keyvault key create --id https://ContosoMHSM.managedhsm.azure.net/keys/myec256key --ops sign verify  --tags ‘usage=signing] appname=myapp’ --kty EC-HSM --curve P-256

256 ビット対称キーを作成する

この例では、暗号化と暗号化解除の操作 (--ops) にのみ使用される 256 ビット対称キーを作成する方法を示します。

az keyvault key create --hsm-name ContosoMHSM --name myaeskey --ops encrypt decrypt  --tags --kty oct-HSM --size 256

## OR
# Note the key name (myaeskey) in the URI

az keyvault key create --id https://ContosoMHSM.managedhsm.azure.net/keys/myaeskey --ops encrypt decrypt  --tags ‘usage=signing] appname=myapp’ --kty oct-HSM --size 256

キー属性とタグを表示する

キーの属性、バージョン、およびタグを表示するには、az keyvault key show コマンドを使用します。

az keyvault key show --hsm-name ContosoHSM --name myrsakey

## OR
# Note the key name (myaeskey) in the URI

az keyvault key show --id https://ContosoMHSM.managedhsm.azure.net/keys/myrsakey

キーのリスト

マネージド HSM 内のすべてのキーを一覧表示するには、az keyvault key list コマンドを使用します。

az keyvault key list --hsm-name ContosoHSM

## OR
# use full URI

az keyvault key list --id https://ContosoMHSM.managedhsm.azure.net/

キーの削除

マネージド HSM からキーを削除するには、az keyvault key delete コマンドを使用します。 論理的な削除は常に有効です。 そのため、削除されたキーは削除された状態のまま保持され、保持日数が経過してキーが消去 (完全に削除) されて復旧できなくなるまでは、復旧できます。

az keyvault key delete --hsm-name ContosoHSM --name myrsakey

## OR
# Note the key name (myaeskey) in the URI

az keyvault key delete --id https://ContosoMHSM.managedhsm.azure.net/keys/myrsakey

削除したキーを一覧表示する

マネージド HSM の削除状態のすべてのキーを一覧表示するには、az keyvault key list-deleted コマンドを使用します。

az keyvault key list-deleted --hsm-name ContosoHSM

## OR
# use full URI

az keyvault key list-deleted --id https://ContosoMHSM.managedhsm.azure.net/

削除したキーを復旧する (削除を取り消す)

マネージド HSM の削除状態のすべてのキーを一覧表示するには、az keyvault key list-deleted コマンドを使用します。 削除したキーを復旧するときに、--id パラメーターを使用してキーを復旧する (削除を取り消す) 必要がある場合は、recoveryId コマンドから取得した削除済みキーの az keyvault key list-deleted 値を書き留めておく必要があります。

az keyvault key recover --hsm-name ContosoHSM --name myrsakey

## OR
# Note the key name (myaeskey) in the URI

az keyvault key recover --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey

キーを消去 (完全に削除) する

キーを消去 (完全に削除) するには、az keyvault key purge コマンドを使用します。

マネージド HSM で消去保護が有効になっている場合、消去操作は許可されません。 保持期間を過ぎると、キーは自動的に消去されます。

az keyvault key purge --hsm-name ContosoHSM --name myrsakey

## OR
# Note the key name (myaeskey) in the URI

az keyvault key purge --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey

単一キーのバックアップを作成する

キーのバックアップを作成するには、az keyvault key backup を使用します。 バックアップ ファイルは、ソース HSM のセキュリティ ドメインに暗号的に結び付けられている、暗号化された BLOB です。 同じセキュリティ ドメインを共有する HSM でのみ復元できます。 セキュリティ ドメインの詳細を参照してください。

az keyvault key backup --hsm-name ContosoHSM --name myrsakey --file myrsakey.backup

## OR
# Note the key name (myaeskey) in the URI

az keyvault key backup --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey  --file myrsakey.backup

バックアップから単一キーを復元する

単一キーを復元するには、az keyvault key restore を使用します。 バックアップが作成されたソース HSM は、キーが復元されるターゲット HSM と同じセキュリティ ドメインを共有している必要があります。

同じ名前のキーがアクティブまたは削除済みの状態である場合、復元は成功しません。

az keyvault key restore --hsm-name ContosoHSM --name myrsakey --file myrsakey.backup

## OR
# Note the key name (myaeskey) in the URI

az keyvault key restore --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey --file myrsakey.backup

ファイルからキーをインポートする

ファイルからキー (RSA と EC のみ) をインポートするには、az keyvault key import コマンドを使用します。 証明書ファイルには秘密キーが必要であり、PEM エンコードを使用する必要があります (RFC 14211422、14231424 で定義されています)。

az keyvault key import --hsm-name ContosoHSM --name myrsakey --pem-file mycert.key --pem-password 'mypassword'

## OR
# Note the key name (myaeskey) in the URI

az keyvault key recover --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey --pem-file mycert.key --password 'mypassword'

オンプレミスの HSM からマネージド HSM にキーをインポートするには、「HSM で保護されたキーを Managed HSM (BYOK) にインポートする」を参照してください。

次のステップ