✔️ 適用対象: Microsoft.Storage リソース プロバイダーで作成されたクラシック SMB および NFS ファイル共有
✖️ 次には適用されません: Microsoft.FileShares リソース プロバイダー(プレビュー)で作成されたファイル共有
Azureは、AES-256 暗号化を使用して、保存中のストレージ アカウント内のすべてのデータ (Azure Files データを含む) を暗号化します。 既定では、Microsoftはストレージ アカウントの暗号化キーを管理します。 暗号化キーをより詳細に制御するには、Microsoft マネージド キーの代わりに customer マネージド キー (CMK) を使用して、データを暗号化する暗号化キーへのアクセスを保護および制御できます。 この記事では、Azure Files ワークロードのカスタマー マネージド キーを構成する方法について説明します。
ストレージ アカウントのカスタマー マネージド キーを構成すると、そのストレージ アカウント内のAzure Filesデータはカスタマー キーを使用して自動的に暗号化されます。 共有ごとのオプトインは必要ありません。
これらの手順は、カスタマー マネージド キーを Azure Key Vault に格納するための手順です。
Azure Key Vault Managed HSM (ハードウェア セキュリティ モジュール) の手順とコマンドの一部が若干異なる場合があります。
ストレージ アカウントのカスタマー マネージド キーを構成するには、次の手順に従います。
カスタマー マネージド キーを有効にするには、消去保護が有効になっているAzure Key Vaultと共にAzureストレージ アカウントが必要です。 既存のキー コンテナーを使用するか、新しく作成することができます。 ストレージ アカウントとキー コンテナーは、同じMicrosoft Entra テナント内のさまざまなリージョンまたはサブスクリプションに存在できます。 テナント間のシナリオについては、既存の ストレージ アカウントのテナント間カスタマー マネージド キーの構成に関するページを参照してください。
Azure ポータルを使用して新しいキー コンテナーを作成するには、次の手順に従います。
- Azure ポータルで、キーボールトを検索し、作成 を選択します。
- 必須フィールド (サブスクリプション、リソース グループ、名前、リージョン) を入力します。
- [ 回復オプション] で、[ 消去保護を有効にする] を選択します。
-
[確認と作成] を選択し、次に [作成] を選択します。
既存のキー コンテナーを使用する場合は、次の手順に従います。
- Azureポータルでキーボールトに移動します。
- サービス メニューの [設定] で [プロパティ] を選択 します。
- [ 消去保護 ] セクションで、[ 消去保護を有効にする] を選択し、[ 保存] を選択します。
- キー ボールトでソフト削除が有効になっていることを確認します。 これは、新しいキーボールトに対して既定で有効になっています。
消去保護を有効にして新しいキー コンテナーを作成するには、次のコマンドレットを実行します。
<key-vault-name>、<resource-group>、および <region> を独自の値に置き換えます。
New-AzKeyVault `
-Name <key-vault-name> `
-ResourceGroupName <resource-group> `
-Location <region> `
-EnablePurgeProtection
既存のキー コンテナーで消去保護を有効にするには、次のコマンドレットを実行します。
<key-vault-name> と <resource-group> を独自の値に置き換えます。
Update-AzKeyVault `
-VaultName <key-vault-name> `
-ResourceGroupName <resource-group> `
-EnablePurgeProtection
消去保護を有効にして新しいキー コンテナーを作成するには、次のコマンドを実行します。
<key-vault-name>、<resource-group>、および <region> を独自の値に置き換えます。
az keyvault create \
--name <key-vault-name> \
--resource-group <resource-group> \
--location <region> \
--enable-purge-protection true
既存のキー コンテナーで消去保護を有効にするには、次のコマンドを実行します。
<key-vault-name> と <resource-group> を独自の値に置き換えます。
az keyvault update \
--name <key-vault-name> \
--resource-group <resource-group> \
--enable-purge-protection true
Key Vault Crypto Officer ロールを割り当てる
key vault においてキーを作成および管理するには、key vault に対する Key Vault Crypto Officer ロールが必要です。 Azure ポータル、PowerShell、またはAzure CLIを使用して、このロールを自分に割り当てることができます。 Key Vaultでこのロールが既にある場合は、このセクションをスキップして手順 2 に進むことができます。
Owner または User Access Administrator の RBAC ロールを持っている必要があり、そのスコープ内で Key Vault Crypto Officer ロールを割り当てることができます。 必要に応じて管理者に問い合わせてください。
Azure ポータルを使用して Key Vault Crypto Officer ロールを自分に割り当てるには、次の手順に従います。
- キー コンテナーに移動します。
- サービス メニューから、 アクセス制御 (IAM) を選択します。
-
[このリソースへのアクセス権の付与] で [ロールの割り当ての追加] を選択します。
-
Key Vault Crypto Officer を検索して選択し、Next を選択します。
- [ アクセスの割り当て] で、[ ユーザー、グループ、またはサービス プリンシパル] を選択します。
- [ メンバー] で 、[ +メンバーの選択] を選択します。
- アカウントを検索し、自分のアカウントを選択してから、[選択]をクリックします。
- [確認と割り当て] を選択し、もう一度 [確認と割り当て] を選択します。
Azure PowerShellを使用して Key Vault Crypto Officer ロールを自分自身に割り当てるには、次のコマンドレットを実行します。
<key-vault-name> は、実際の値に置き換えてください。
$keyVault = Get-AzKeyVault -VaultName <key-vault-name>
$currentUser = (Get-AzADUser -SignedIn).Id
New-AzRoleAssignment `
-ObjectId $currentUser `
-RoleDefinitionName "Key Vault Crypto Officer" `
-Scope $keyVault.ResourceId
Azure CLIを使用して Key Vault Crypto Officer ロールを自分自身に割り当てるには、次のコマンドを実行します。
<key-vault-name> は、実際の値に置き換えてください。
KV_RESOURCE_ID=$(az keyvault show --name <key-vault-name> --query id -o tsv)
CURRENT_USER=$(az ad signed-in-user show --query id -o tsv)
az role assignment create \
--assignee-object-id $CURRENT_USER \
--assignee-principal-type User \
--role "Key Vault Crypto Officer" \
--scope $KV_RESOURCE_ID
手順 2: 暗号化キーを作成またはインポートする
サイズ 2048、3072、または 4096 の RSA キーまたは RSA-HSM キーが必要です。 キー コンテナーに RSA キーを生成またはインポートします。 キーを生成する前に、key vaultに Key Vault Crypto Officer ロールがあることを確認します。
Azure ポータルを使用して新しい RSA 暗号化キーを生成するには、次の手順に従います。
- Azureポータルでキーボールトに移動します。
- サービス メニューの [ オブジェクト] で [キー] を選択 します。
-
生成/インポート を選択します。
オプションで生成を選択します。
- キーの名前を入力します。 キー名には、英数字とダッシュのみを含めることができます。
-
キーの種類を RSA キーと RSA キー サイズに 2048 (または 3072/4096) に設定します。
-
を選択してを作成します。
Azure ポータルを使用して既存の RSA 暗号化キーをインポートするには、次の手順に従います。
- Azureポータルでキーボールトに移動します。
- サービス メニューの [ オブジェクト] で [キー] を選択 します。
-
生成/インポート を選択します。
オプション で インポート を選択します。
- アップロードするキーを選択します。
- キーの名前を入力します。 キー名には、英数字とダッシュのみを含めることができます。
-
[キーの種類] を [RSA] に設定します。
-
を選択してを作成します。
Azure PowerShellを使用して RSA キーを作成するには、次のコマンドレットを実行します。
<key-vault-name> と <key-name> を独自の値に置き換えます。
-Sizeでは、2048、3072、または 4096 を指定できます。
Add-AzKeyVaultKey `
-VaultName <key-vault-name> `
-Name <key-name> `
-Destination Software `
-KeyType RSA `
-Size 2048
Azure PowerShellを使用して既存の RSA 暗号化キーをインポートするには、次のコマンドレットを実行します。
<key-vault-name>、<key-name>、および <key-path> を独自の値に置き換えます。 キー ファイルにパスワードがない場合は、 -KeyFilePassword パラメーターを省略します。
Add-AzKeyVaultKey `
-VaultName <key-vault-name> `
-Name <key-name> `
-KeyFilePath <key-path> `
-KeyFilePassword $password
Azure CLIを使用して RSA キーを作成するには、次のコマンドを実行します。
<key-vault-name> と <key-name> を独自の値に置き換えます。
--sizeでは、2048、3072、または 4096 を指定できます。
az keyvault key create \
--vault-name <key-vault-name> \
--name <key-name> \
--kty RSA \
--size 2048
Azure CLIを使用して既存の RSA 暗号化キーをインポートするには、次のコマンドを実行します。
<key-vault-name>、<key-name>、および <key-path> を独自の値に置き換えます。 キー ファイルにパスワードがない場合は、 --password パラメーターを省略します。
az keyvault key import \
--vault-name <key-vault-name> \
--name <key-name> \
--pem-file <key-path> \
--password <key-password>
手順 3: マネージド ID を作成し、アクセス許可を割り当てる
ストレージ アカウントには、キー コンテナーに対する認証に マネージド ID が 必要です。 マネージド ID を使用することで、ストレージ アカウントは資格情報を格納することなく、キー コンテナー内の暗号化キーに安全にアクセスできます。
ユーザー割り当てマネージド ID を作成し、その ID に key vault の Key Vault Crypto Service Encryption User ロールを付与します。
ユーザー割り当てマネージド ID を作成する
Azure ポータル、Azure PowerShell、またはAzure CLIを使用して、ユーザー割り当てマネージド ID を作成します。
Azure ポータルを使用してユーザー割り当てマネージド ID を作成するには、次の手順に従います。
-
マネージド ID を検索し、[作成] を選択します。
- サブスクリプション、リソース グループ、リージョン、および名前を選択します。
-
[確認と作成] を選択し、次に [作成] を選択します。
Azure PowerShellを使用してユーザー割り当てマネージド ID を作成するには、次のコマンドレットを実行します。
<resource-group>、<identity-name>、および <region> を独自の値に置き換えます。
New-AzUserAssignedIdentity `
-ResourceGroupName <resource-group> `
-Name <identity-name> `
-Location <region>
Azure CLIを使用してユーザー割り当てマネージド ID を作成するには、次のコマンドを実行します。
<resource-group>、<identity-name>、および <region> を独自の値に置き換えます。
az identity create \
--name <identity-name> \
--resource-group <resource-group> \
--location <region>
Key Vault Crypto Service Encryption ユーザー ロールをマネージド ID に割り当てる
Key Vault Crypto Service Encryption User ロールを、Azure ポータル、PowerShell、またはAzure CLIを使用して作成したマネージド ID に割り当てます。
Key Vault Crypto Service Encryption User ロールをマネージド ID に割り当てるには、Azure ポータルを使用して、次の手順に従います。
- Azureポータルでキーボールトに移動します。
- サービス メニューから、 アクセス制御 (IAM) を選択します。
-
[このリソースへのアクセス権の付与] で [ロールの割り当ての追加] を選択します。
-
Key Vault Crypto Service Encryption User を検索して選択し、 Next を選択します。
-
[アクセスの割り当て先] で [マネージド ID] を選択します。
- [ メンバー] で 、[ +メンバーの選択] を選択します。
- [ マネージド ID の選択] ウィンドウが開きます。
[マネージド ID] で、[ユーザー割り当てマネージド ID] を選択します。
- 作成したマネージド ID を選び、[選択] をクリックします。
- [確認と割り当て] を選択し、もう一度 [確認と割り当て] を選択します。
Azure PowerShellを使用して、Key Vault Crypto Service Encryption User ロールをユーザー割り当てマネージド ID に割り当てるには、次のコマンドレットを実行します。
<resource-group>、<identity-name>、および <key-vault-name> を独自の値に置き換えます。
$identity = Get-AzUserAssignedIdentity `
-ResourceGroupName <resource-group> `
-Name <identity-name>
$keyVault = Get-AzKeyVault -VaultName <key-vault-name>
New-AzRoleAssignment `
-ObjectId $identity.PrincipalId `
-RoleDefinitionName "Key Vault Crypto Service Encryption User" `
-Scope $keyVault.ResourceId
Azure CLIを使用して、Key Vault Crypto Service Encryption User ロールをユーザー割り当てマネージド ID に割り当てるには、次のコマンドを実行します。
<resource-group>、<identity-name>、および <key-vault-name> を独自の値に置き換えます。
# Get the principal ID of the user-assigned managed identity
IDENTITY_PRINCIPAL_ID=$(az identity show \
--name <identity-name> \
--resource-group <resource-group> \
--query principalId -o tsv)
# Get the key vault resource ID
KV_RESOURCE_ID=$(az keyvault show \
--name <key-vault-name> \
--query id -o tsv)
# Assign the Key Vault Crypto Service Encryption User role to the user-assigned managed identity
az role assignment create \
--assignee-object-id $IDENTITY_PRINCIPAL_ID \
--assignee-principal-type ServicePrincipal \
--role "Key Vault Crypto Service Encryption User" \
--scope $KV_RESOURCE_ID
キー コンテナー、キー、およびマネージド ID を配置すると、ストレージ アカウントでカスタマー マネージド キーを有効にすることができます。
暗号化にキーを使用するようにストレージ アカウントを構成するには、次の手順に従います。 Azure ポータルでは、キーの自動バージョン更新が常に使用されます。 代わりに手動のキー バージョン管理を使用するには、Azure PowerShellまたはAzure CLIを使用し、キーのバージョンを指定します。
Important
ネットワーク セキュリティ境界に関連付けられているストレージ アカウントの場合、キー コンテナーは、理想的には同じネットワーク セキュリティ境界内に存在する必要があります。 そうでない場合は、ストレージ アカウントがキー ボールトと通信できるように、キー ボールトのネットワーク セキュリティ境界プロファイルを構成する必要があります。
Azure ポータル、Azure PowerShell、またはAzure CLIを使用して、既存のストレージ アカウントでカスタマー マネージド キーを構成できます。
Azure ポータルを使用して既存のストレージ アカウントでカスタマー マネージド キーを構成するには、次の手順に従います。 ポータルでは、既定でキーバージョンの自動更新が使用されます。 キーのバージョンを指定することはできません。
- ストレージ アカウントに移動します。
- サービス メニューの [ セキュリティとネットワーク] で、[ 暗号化] を選択します。
- [ 暗号化の種類] で、[ Customer-Managed キー] を選択します。 ストレージ アカウントが CMK 用に既に構成されている場合は、[ キーの変更] を選択します。
-
[暗号化キー] で、[キー コンテナーから選択] を選択します。
-
[Key Vault とキーを選択] を選択し、お使いの Key Vault とキーを選択します。
-
[ID の種類] で、[ユーザー割り当て] を選択して、以前に作成したユーザー割り当てマネージド ID を使用します。
- ユーザー割り当てマネージド ID を検索して選択し、[ 追加] を選択します。
-
保存を選びます。
キーの自動バージョン更新 (推奨) でAzure PowerShellを使用して、既存のストレージ アカウントでカスタマー マネージド キーを構成するには、次のコマンドレットを実行します。
<resource-group>、<identity-name>、<storage-account-name>、<key-vault-name>、<key-name>を独自の値に置き換えます。
次のコマンドレットでは、以前に作成したユーザー割り当てマネージド ID を使用します。 代わりにストレージ アカウントのシステム ID を使用する場合は、 IdentityType を SystemAssigned に設定し、 $identity 変数、 UserAssignedIdentityId、および KeyVaultUserAssignedIdentityIdを省略します。
$identity = Get-AzUserAssignedIdentity `
-ResourceGroupName <resource-group> `
-Name <identity-name>
$keyVault = Get-AzKeyVault -VaultName <key-vault-name>
$key = Get-AzKeyVaultKey -VaultName <key-vault-name> -Name <key-name>
Set-AzStorageAccount `
-ResourceGroupName <resource-group> `
-Name <storage-account-name> `
-IdentityType UserAssigned `
-UserAssignedIdentityId $identity.Id `
-KeyVaultUri $keyVault.VaultUri `
-KeyName $key.Name `
-KeyVaultEncryption `
-KeyVaultUserAssignedIdentityId $identity.Id
自動更新の代わりに手動のキー バージョン更新を使用するには、-KeyVersion $key.Version コマンドレットに Set-AzStorageAccount パラメーターを追加します。
キーのバージョンの自動更新 (推奨) でAzure CLIを使用して、既存のストレージ アカウントでカスタマー マネージド キーを構成するには、次のコマンドを実行します。
<resource-group>、<identity-name>、<storage-account-name>、<key-vault-name>、<key-name>を独自の値に置き換えます。
次のコマンドでは、以前に作成したユーザー割り当てマネージド ID を使用します。 代わりにストレージ アカウントのシステム ID を使用する場合は、 --identity-type を SystemAssigned に設定し、 IDENTITY_RESOURCE_ID 変数、 --user-identity-id、および --key-vault-user-identity-idを省略します。
# Using user-assigned managed identity. Omit for system assigned.
IDENTITY_RESOURCE_ID=$(az identity show \
--name <identity-name> \
--resource-group <resource-group> \
--query id -o tsv)
# Get the key vault URI
KEY_VAULT_URI=$(az keyvault show \
--name <key-vault-name> \
--query properties.vaultUri -o tsv)
az storage account update \
--name <storage-account-name> \
--resource-group <resource-group> \
--encryption-key-vault $KEY_VAULT_URI \
--encryption-key-name <key-name> \
--encryption-key-source Microsoft.Keyvault \
--key-vault-user-identity-id $IDENTITY_RESOURCE_ID \
--identity-type UserAssigned \
--user-identity-id $IDENTITY_RESOURCE_ID
自動更新の代わりに手動のキー バージョン更新を使用するには、--encryption-key-version <key-version> コマンドにaz storage account updateを追加します。
Azure ポータル、Azure PowerShell、またはAzure CLIを使用して、新しいストレージ アカウントを作成するときにカスタマー マネージド キーを構成できます。
ストレージ アカウントが作成されるまで ID が存在しないため、ストレージ アカウントの作成時にシステム割り当て ID を使用することはできません。 ユーザー割り当てマネージド ID を使用する必要があります。
Azure ポータルを使用して新しいストレージ アカウントのカスタマー マネージド キーを構成するには、次の手順に従います。 ポータルでは、既定でキーバージョンの自動更新が使用されます。 キーのバージョンを指定することはできません。
- ストレージ アカウントの作成時に [暗号化] タブで、[暗号化の種類] に [カスタマー マネージド キー (CMK)] を選択します。
- [ 暗号化キー] で、[ キー コンテナーとキーの選択] を選択し、キー コンテナーとキーを選択します。
- [ ユーザー割り当て ID] で、[ ID の選択] を選択します。 [ ユーザー割り当てマネージド ID の選択] ウィンドウが開きます。
- 事前に作成されたユーザー割り当てマネージド ID を検索して選択します。 新しいストレージ アカウントでは、システム割り当てマネージド ID を使用できません。
- [] を選択し、[] を追加します。
- 残りのタブを完了し、[ 確認と作成] を選択します。
Azure PowerShellを使用してカスタマー マネージド キーを使用して新しいストレージ アカウントを作成するには、次のコマンドレットを実行します。
<resource-group>、<identity-name>、<storage-account-name>、<key-vault-name>、<key-name>、<region>を独自の値に置き換えます。 必要に応じて、 -Kind と -SkuName に異なる値を指定できます。
$identity = Get-AzUserAssignedIdentity `
-ResourceGroupName <resource-group> `
-Name <identity-name>
$keyVault = Get-AzKeyVault -VaultName <key-vault-name>
$key = Get-AzKeyVaultKey -VaultName <key-vault-name> -Name <key-name>
New-AzStorageAccount `
-ResourceGroupName <resource-group> `
-Name <storage-account-name> `
-Location <region> `
-SkuName Standard_LRS `
-Kind StorageV2 `
-IdentityType UserAssigned `
-UserAssignedIdentityId $identity.Id `
-KeyVaultUri $keyVault.VaultUri `
-KeyName $key.Name `
-KeyVaultUserAssignedIdentityId $identity.Id
自動ではなく手動のキー バージョン更新を使用するには、 -KeyVersion $key.Version パラメーターを New-AzStorageAccount コマンドレットに追加します。
Azure CLIを使用してカスタマー マネージド キーを使用して新しいストレージ アカウントを作成するには、次のコマンドを実行します。
<resource-group>、<identity-name>、<storage-account-name>、<key-vault-name>、<key-name>、<region>を独自の値に置き換えます。 必要に応じて、 --kind と --sku に異なる値を指定できます。
IDENTITY_RESOURCE_ID=$(az identity show \
--name <identity-name> \
--resource-group <resource-group> \
--query id -o tsv)
# Get the key vault URI
KEY_VAULT_URI=$(az keyvault show \
--name <key-vault-name> \
--query properties.vaultUri -o tsv)
az storage account create \
--name <storage-account-name> \
--resource-group <resource-group> \
--location <region> \
--sku Standard_LRS \
--kind StorageV2 \
--identity-type UserAssigned \
--user-identity-id $IDENTITY_RESOURCE_ID \
--encryption-key-vault $KEY_VAULT_URI \
--encryption-key-name <key-name> \
--encryption-key-source Microsoft.Keyvault \
--key-vault-user-identity-id $IDENTITY_RESOURCE_ID
自動ではなく手動のキー バージョン更新を使用するには、--encryption-key-version <key-version> コマンドにaz storage account createを追加します。
手順 5: 構成を確認する
カスタマー マネージド キーを有効にしたら、ストレージ アカウントで暗号化が正しく構成されていることを確認します。 これを行うには、Azure ポータル、Azure PowerShell、またはAzure CLIを使用します。
Azure ポータルを使用してストレージ アカウントの構成を確認するには、次の手順に従います。
- Azure portal で、ストレージ アカウントに移動します。
- サービス メニューの [ セキュリティとネットワーク] で、[ 暗号化] を選択します。
-
[暗号化の種類] に [Customer-Managed キー] が表示されていることを確認します。
-
[キーの選択] の情報が正しいことを確認します。
Azure PowerShellを使用してストレージ アカウントの構成を確認するには、次のコマンドレットを実行します。
<resource-group> と <storage-account-name> を独自の値に置き換えます。
$account = Get-AzStorageAccount `
-ResourceGroupName <resource-group> `
-Name <storage-account-name>
$account.Encryption.KeySource
$account.Encryption.KeyVaultProperties
KeySource が Microsoft.Keyvault であり、KeyVaultProperties にキー コンテナーの URI とキー名が表示されていることを確認します。
Azure CLIを使用して構成を確認するには、次のコマンドを実行します。
<resource-group> と <storage-account-name> を独自の値に置き換えます。
az storage account show \
--name <storage-account-name> \
--resource-group <resource-group> \
--query encryption
keySource が Microsoft.Keyvault であり、keyVaultProperties セクションにキー コンテナーの URI とキー名が表示されていることを確認します。
キーのローテーション
暗号化キーを定期的にローテーションすると、キーが侵害された場合の公開が制限されます。 カスタマー マネージド キーを使用するストレージ アカウントの暗号化をローテーションするには、次の 2 つの方法があります。
-
キー のバージョンをローテーションする - キー保管庫で同じキーの新しいバージョンを作成します。 キー名は変わりませんが、バージョンは変更されます。
-
キーを変更する - ストレージ アカウントを切り替えて、同じキー コンテナーまたは別のキー コンテナー内のまったく異なるキー (別の名前) を使用します。
Important
Azureはキー ボールトにおいて新しいキー バージョンを日に一度だけチェックします。 キーをローテーションした後、以前のキー バージョンを無効にする前に 24 時間待ちます。
キー バージョンをローテーションする
セキュリティのベスト プラクティスについては、キー バージョンを少なくとも 2 年に 1 回ローテーションします。
キー バージョンの自動ローテーション (推奨)
キー のバージョン (Azure ポータルを使用する場合は既定値) を指定せずにカスタマー マネージド キーを構成した場合、Azureは新しいキー バージョンを毎日自動的にチェックします。 キー コンテナーに新しいバージョンのキーを作成すると、Azure は 24 時間以内にそれを検出します。 Azure Key Vault自動キー ローテーションを構成して>スケジュールに基づいて新しいキー バージョンを生成することもできます。
キー バージョンの手動ローテーション
PowerShell または Azure CLI を使用してカスタマー マネージド キーを構成するときにキー バージョンを指定した場合、Azureはその特定のバージョンを使用し、新しいバージョンを自動的にチェックしません。 新しいキー バージョンをポイントするように、ストレージ アカウントの構成を手動で更新する必要があります。
Azure ポータルでは、キー バージョンの手動ローテーションはサポートされていません。 キーのバージョンを手動でローテーションするには、Azure PowerShellまたはAzure CLIを使用します。
Azure PowerShellを使用してキーのバージョンを手動でローテーションするには、次のコマンドレットを実行します。
<resource-group>、<storage-account-name>、<key-vault-name>、および <key-name> を独自の値に置き換えます。
$keyVault = Get-AzKeyVault -VaultName <key-vault-name>
$key = Get-AzKeyVaultKey -VaultName <key-vault-name> -Name <key-name>
Set-AzStorageAccount `
-ResourceGroupName <resource-group> `
-Name <storage-account-name> `
-KeyVaultUri $keyVault.VaultUri `
-KeyName $key.Name `
-KeyVersion $key.Version `
-KeyVaultEncryption
Azure CLIを使用してキーのバージョンを手動でローテーションするには、次のコマンドを実行します。
<storage-account-name>、<resource-group>、<key-vault-name>、および <key-name> を独自の値に置き換えます。
# Get the key vault URI
KEY_VAULT_URI=$(az keyvault show \
--name <key-vault-name> \
--query properties.vaultUri -o tsv)
# Get the latest key version
KEY_VERSION=$(az keyvault key show \
--vault-name <key-vault-name> \
--name <key-name> \
--query key.kid -o tsv | sed -e 's|.*/||')
az storage account update \
--name <storage-account-name> \
--resource-group <resource-group> \
--encryption-key-vault $KEY_VAULT_URI \
--encryption-key-name <key-name> \
--encryption-key-version $KEY_VERSION \
--encryption-key-source Microsoft.Keyvault
キーを変更する
まったく異なるキーを使用するようにストレージ アカウントを切り替えるには、キー コンテナーに新しいキーを作成またはインポートし ( 暗号化キーの作成またはインポートを参照)、新しいキーを使用するようにストレージ アカウントの暗号化構成を更新します。
Azure ポータルを使用してキーを変更するには、次の手順に従います。
- ストレージ アカウントに移動します。
- サービス メニューの [ セキュリティとネットワーク] で、[ 暗号化] を選択します。
-
[キーの変更] を選びます。
- [ キー コンテナーとキーの選択] を選択し、キー コンテナーと新しいキーを選択します。
-
保存を選びます。
Azure PowerShellを使用してキーを変更するには、次のコマンドレットを実行します。
<resource-group>、<storage-account-name>、<key-vault-name>、および <new-key-name> を独自の値に置き換えます。 キーのバージョンの自動更新 (推奨) を使用するには、 -KeyVersion パラメーターを省略します。
$keyVault = Get-AzKeyVault -VaultName <key-vault-name>
$key = Get-AzKeyVaultKey -VaultName <key-vault-name> -Name <new-key-name>
Set-AzStorageAccount `
-ResourceGroupName <resource-group> `
-Name <storage-account-name> `
-KeyVaultUri $keyVault.VaultUri `
-KeyName $key.Name `
-KeyVaultEncryption
Azure CLIを使用してキーを変更するには、次のコマンドを実行します。
<storage-account-name>、<resource-group>、<key-vault-name>、および <new-key-name> を独自の値に置き換えます。 キーのバージョンの自動更新 (推奨) を使用するには、 --encryption-key-version パラメーターを省略します。
# Get the key vault URI
KEY_VAULT_URI=$(az keyvault show \
--name <key-vault-name> \
--query properties.vaultUri -o tsv)
az storage account update \
--name <storage-account-name> \
--resource-group <resource-group> \
--encryption-key-vault $KEY_VAULT_URI \
--encryption-key-name <new-key-name> \
--encryption-key-source Microsoft.Keyvault
キーを無効にしてファイル共有データへのアクセスを取り消す
カスタマー マネージド キーを無効または削除することで、暗号化されたファイル共有データへのアクセスをすぐにブロックできます。 キーが無効になっている間、次のようなすべてのAzure Filesデータ プレーン操作が HTTP 403 (禁止) で失敗します。
- ディレクトリとファイルを一覧表示する
- ディレクトリまたはファイルの作成/取得/設定
- ファイル メタデータの取得/設定
- 範囲の配置、ファイルのコピー、ファイル名の変更
ファイル共有データへのアクセスを取り消すには、Azure ポータル、Azure PowerShell、またはAzure CLIを使用して、キー コンテナー内のキーを無効にします。 キーを再度有効にして、アクセスを復元します。
Azure ポータルを使用してキーを無効にするには、次の手順に従います。
- Azureポータルでキーボールトに移動します。
- サービス メニューの [ オブジェクト] で [キー] を選択 します。
- キーを右クリックし、[無効] を選択します。
Azure PowerShellを使用してキーを無効にするには、次のコマンドレットを実行します。
<key-vault-name> と <key-name> を独自の値に置き換えます。
Update-AzKeyVaultKey `
-VaultName <key-vault-name> `
-Name <key-name> `
-Enable $false
Azure CLIを使用してキーを無効にするには、次のコマンドを実行します。
<key-vault-name> と <key-name> を独自の値に置き換えます。
az keyvault key set-attributes \
--vault-name <key-vault-name> \
--name <key-name> \
--enabled false
Microsoft マネージド キーに切り替える
カスタマー マネージド キーが不要になった場合は、Azure ポータル、Azure PowerShell、またはAzure CLIを使用して、ストレージ アカウントを暗号化にMicrosoftマネージド キーを使用するように切り替えることができます。
Azure ポータルを使用してMicrosoftマネージド キーに戻すには、次の手順に従います。
- Azure portal で、ストレージ アカウントに移動します。
- サービス メニューの [ セキュリティとネットワーク] で、[ 暗号化] を選択します。
-
Encryption の種類を Microsoft-Managed Keys に変更します。
-
保存を選びます。
Azure PowerShellを使用してMicrosoftマネージド キーに戻すには、次のコマンドレットを実行します。
<resource-group> と <storage-account-name> を独自の値に置き換えます。
Set-AzStorageAccount `
-ResourceGroupName <resource-group> `
-Name <storage-account-name> `
-StorageEncryption
Azure CLIを使用してMicrosoftマネージド キーに戻すには、次のコマンドを実行します。
<resource-group> と <storage-account-name> を独自の値に置き換えます。
az storage account update \
--name <storage-account-name> \
--resource-group <resource-group> \
--encryption-key-source Microsoft.Storage
関連するコンテンツ
暗号化とキー管理の詳細については、次の記事を参照してください。