注
Key Vaultでは、コンテナーとマネージド HSM の 2 種類のリソースがサポートされています。 この記事では、 Managed HSM について説明します。 コンテナーを管理する方法については、「Quickstart: Azure CLIを参照してください。
Managed HSM の概要については、「Managed HSM とは」を参照してください。
前提条件
Azure サブスクリプションが必要です。 アカウントをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
以下も必要です。
注
次のコマンドはすべて、CLI の 2 つの使用方法を示しています。 1 つのメソッドでは、 --hsm-name と --name (キー名の場合) パラメーターを使用します。 もう 1 つの方法では、 --id パラメーターを使用します。必要に応じて、キー名を含む URL 全体を指定できます。 後者の方法は、呼び出し元 (ユーザーまたはアプリケーション) にコントロール プレーンに対する読み取りアクセス権がなく、データ プレーンに対する制限付きアクセス権のみがあるときに便利です。
キー マテリアルとのやり取りによっては、特定の Managed HSM ローカル RBAC アクセス許可が必要です。 組み込みの Managed HSM ローカル RBAC ロールとアクセス許可の完全な一覧については、 Managed HSM ローカル RBAC の組み込みロールに関するページを参照してください。 これらのアクセス許可をユーザーに割り当てるには、「 マネージド HSM へのアクセスをセキュリティで保護する」を参照してください。
HSM キーを作成する
注
生成または Managed HSM にインポートされたキーをエクスポートすることはできません。 エクスポートなしルールの唯一の例外は、特定のキー リリース ポリシーを使用してキーを作成する場合です。 このポリシーを使用すると、明示的に定義した信頼できるコンフィデンシャル コンピューティング環境 (セキュリティで保護されたエンクレーブ) にのみキーをエクスポートできます。 この制限付きエクスポート機能は、特定のセキュリティで保護されたコンピューティング シナリオ向けに設計されており、汎用キーのエクスポートと同じではありません。 主要な移植性と持続性に関する推奨されるベスト プラクティスについては、リンクされた記事を参照してください。
Azure ポータルで、Managed HSM リソースに移動します。
左側のメニューの [設定] で [ キー] を選択します。
[ バックアップの生成/インポート/ 復元] ドロップダウンから [ 生成/インポート ] を選択します。
キーの種類 (RSA-HSM、EC-HSM、oct-HSM) を選択し、キーのサイズまたは曲線、名前、および許可される操作を設定してから、[ 作成] を選択します。
az keyvault key create コマンドを使用してキーを作成します。
RSA キーを作成する
この例では、wrapKey 操作と unwrapKey 操作 () にのみ使用される 3072 ビット --ops キーを作成する方法を示します。
az keyvault key create --hsm-name <hsm-name> --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://<hsm-name>.managedhsm.azure.net/keys/myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072
get操作では、公開キーとキーの属性のみが返されます。 秘密キー (非対称キーの場合) またはキー マテリアル (対称キーの場合) は返されません。
EC キーを作成する
次の例は、P-256 曲線を使用して EC キーを作成する方法を示しています。 キーは 、署名と検証 操作 (--ops) のみを対象としており、 使用法 と appname という 2 つのタグがあります。 タグを使用して、追跡と管理のためにキーに追加のメタデータを追加します。
az keyvault key create --hsm-name <hsm-name> --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://<hsm-name>.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 <hsm-name> --name myaeskey --ops encrypt decrypt --tags 'usage=encryption' 'appname=myapp' --kty oct-HSM --size 256
## OR
# Note the key name (myaeskey) in the URI
az keyvault key create --id https://<hsm-name>.managedhsm.azure.net/keys/myaeskey --ops encrypt decrypt --tags 'usage=encryption' 'appname=myapp' --kty oct-HSM --size 256
Add-AzKeyVaultKey コマンドレットを使用してキーを作成します。
RSA キーを作成する
この例では、wrapKey 操作と unwrapKey 操作にのみ使用される 3072 ビット RSA キーを作成する方法を示します。
Add-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey -KeyType RSA-HSM -Size 3072 -KeyOps wrapKey,unwrapKey
EC キーを作成する
この例では、署名および検証操作用の P-256 曲線を使用して EC キーを作成する方法を示します。
Add-AzKeyVaultKey -HsmName <hsm-name> -Name myec256key -KeyType EC-HSM -CurveName P-256 -KeyOps sign,verify -Tag @{usage='signing'; appname='myapp'}
256 ビット対称キーを作成する
この例では、暗号化および復号化操作用の 256 ビット対称キーを作成する方法を示します。
Add-AzKeyVaultKey -HsmName <hsm-name> -Name myaeskey -KeyType oct-HSM -Size 256 -KeyOps encrypt,decrypt -Tag @{usage='encryption'; appname='myapp'}
Azure ポータルで、Managed HSM リソースに移動します。
左側のメニューの [設定] で [ キー] を選択します。
表示するキーを選択します。 ポータルには、キーの属性、バージョン、およびタグが表示されます。
az keyvault key show コマンドを使用して、キーの属性、バージョン、タグを表示します。
az keyvault key show --hsm-name <hsm-name> --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key show --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey
Get-AzKeyVaultKey コマンドレットを使用して、キーの属性、バージョン、タグを表示します。
Get-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey
キーのリスト
Azure ポータルで、Managed HSM リソースに移動します。
左側のメニューの [設定] で [ キー] を選択します。 ポータルには、Managed HSM 内のすべてのキーが一覧表示されます。
az keyvault key list コマンドを使用して、マネージド HSM 内のすべてのキーを一覧表示します。
az keyvault key list --hsm-name <hsm-name>
## OR
# use full URI
az keyvault key list --id https://<hsm-name>.managedhsm.azure.net/
Get-AzKeyVaultKey コマンドレットを使用して、Managed HSM 内のすべてのキーを一覧表示します。
Get-AzKeyVaultKey -HsmName <hsm-name>
キーの削除
Azure ポータルで、Managed HSM リソースに移動します。
左側のメニューの [設定] で [ キー] を選択します。
削除するキーを選択します。
削除を選択し、確認します。
az keyvault key delete コマンドを使用して、マネージド HSM からキーを削除します。 論理的な削除は常に有効です。 そのため、削除されたキーは削除された状態のままであり、保持日数が経過するまで回復できます。 その後、キーは消去 (完全に削除) され、復旧は不可能になります。
az keyvault key delete --hsm-name <hsm-name> --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key delete --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey
Remove-AzKeyVaultKey コマンドレットを使用してキーを削除します。 論理的な削除は常にオンになっているため、削除されたキーはリテンション期間が経過するまで回復可能なままになります。
Remove-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey
削除したキーを一覧表示する
Azure ポータルで、Managed HSM リソースに移動します。
左側のメニューの [設定] で [ キー] を選択します。
ソフト削除された状態のキーを表示するには、[削除されたキーの管理] を選択します。
az keyvault key list-deleted コマンドを使用して、マネージド HSM で削除された状態のすべてのキーを一覧表示します。
az keyvault key list-deleted --hsm-name <hsm-name>
## OR
# use full URI
az keyvault key list-deleted --id https://<hsm-name>.managedhsm.azure.net/
削除されたキーを一覧表示するには、Get-AzKeyVaultKey パラメーターと共に -InRemovedState コマンドレットを使用します。
Get-AzKeyVaultKey -HsmName <hsm-name> -InRemovedState
削除したキーを復旧する (削除を取り消す)
Azure ポータルで、Managed HSM リソースに移動します。
左側のメニューの [設定] で [ キー] を選択し、[ 削除されたキーの管理] を選択します。
回復する削除されたキーを選択します。
[ 回復] を選択します。
az keyvault key list-deleted コマンドを使用して、マネージド HSM で削除済み状態のすべてのキーを一覧表示します。 キーを回復 (削除解除) するには、 --id パラメーターを使用します。
recoveryId コマンドから取得した削除されたキーのaz keyvault key list-deleted値をメモする必要があります。
az keyvault key recover --hsm-name <hsm-name> --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key recover --id https://<hsm-name>.managedhsm.azure.net/deletedKeys/myrsakey
削除されたキーを回復するには、 Undo-AzKeyVaultKeyRemoval コマンドレットを使用します。
Undo-AzKeyVaultKeyRemoval -HsmName <hsm-name> -Name myrsakey
キーを消去 (完全に削除) する
注
マネージド HSM で消去保護が有効になっている場合、消去操作は許可されません。 キーは、リテンション期間が経過すると自動的に消去されます。
Azure ポータルで、Managed HSM リソースに移動します。
左側のメニューの [設定] で [ キー] を選択し、[ 削除されたキーの管理] を選択します。
消去する削除済みキーを選択します。
[ 消去] を選択し、確認します。
Warnung
この操作により、キーが完全に削除されます。
az keyvault key purge コマンドを使用して、キーを消去 (完全に削除) します。
az keyvault key purge --hsm-name <hsm-name> --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key purge --id https://<hsm-name>.managedhsm.azure.net/deletedKeys/myrsakey
削除されたキーを消去するには、Remove-AzKeyVaultKey パラメーターと共に -InRemovedState コマンドレットを使用します。
Remove-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey -InRemovedState
Warnung
この操作により、キーが完全に削除されます。
単一キーのバックアップを作成する
キー バックアップは現在、Azure ポータルでは使用できません。 Azure CLIまたはAzure PowerShellを使用します。
キーのバックアップを作成するには、az keyvault key backup を使用します。 バックアップ ファイルは、ソース HSM のセキュリティ ドメインに暗号的に結び付けられている、暗号化された BLOB です。 復元できるのは、同じセキュリティ ドメインを共有する HSM のみです。
セキュリティ ドメインの詳細を参照してください。
az keyvault key backup --hsm-name <hsm-name> --name myrsakey --file myrsakey.backup
## OR
# Note the key name (myaeskey) in the URI
az keyvault key backup --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey --file myrsakey.backup
キー バックアップを作成するには、 Backup-AzKeyVaultKey コマンドレットを使用します。 バックアップ ファイルは、ソース HSM のセキュリティ ドメインに暗号的に結び付けられている、暗号化された BLOB です。
Backup-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey -OutputFile myrsakey.backup
バックアップから単一キーを復元する
Azure ポータルで、Managed HSM リソースに移動します。
左側のメニューの [設定] で [ キー] を選択します。
[ バックアップの生成/インポート/復元] を選択し、[ バックアップからキーを復元] を選択します。
バックアップ ファイルを参照して選択し、[復元] を選択 します。
単一キーを復元するには、az keyvault key restore を使用します。 バックアップを作成したソース HSM は、キーを復元するターゲット HSM と同じセキュリティ ドメインを共有する必要があります。
注
同じ名前のキーがアクティブまたは削除された状態にある場合、復元操作は失敗します。
az keyvault key restore --hsm-name <hsm-name> --name myrsakey --file myrsakey.backup
## OR
# Note the key name (myaeskey) in the URI
az keyvault key restore --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey --file myrsakey.backup
Restore-AzKeyVaultKey コマンドレットを使用して、1 つのキーを復元します。 バックアップを作成したソース HSM は、ターゲット HSM と同じセキュリティ ドメインを共有する必要があります。
注
同じ名前のキーがアクティブまたは削除された状態にある場合、復元操作は失敗します。
Restore-AzKeyVaultKey -HsmName <hsm-name> -InputFile myrsakey.backup
ファイルからキーをインポートする
キーのインポートは現在、Azure ポータルでは使用できません。 Azure CLIまたはAzure PowerShellを使用します。
az keyvault key import コマンドを使用して、キー (RSA および EC のみ) をファイルからインポートします。 証明書ファイルには秘密キーが必要であり、PEM エンコードを使用する必要があります (RFC 1421、1422、1423、1424 で定義されています)。
az keyvault key import --hsm-name <hsm-name> --name myrsakey --pem-file mycert.key --pem-password 'mypassword'
## OR
# Note the key name (<key-name>) in the URI
az keyvault key import --id https://<hsm-name>.managedhsm.azure.net/keys/<key-name> --pem-file mycert.key --password 'mypassword'
pem ファイルからキーをインポートするには、Add-AzKeyVaultKey パラメーターと共に -KeyFilePath コマンドレットを使用します。
Add-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey -KeyFilePath ./mycert.key -KeyFilePassword (ConvertTo-SecureString -String 'mypassword' -AsPlainText -Force) -KeyType RSA-HSM
オンプレミスの HSM からマネージド HSM にキーをインポートするには、「 HSM で保護されたキーを Managed HSM (BYOK) にインポートする」を参照してください。
次のステップ