Azure NetApp Files ボリューム暗号化用にカスタマー マネージド キーを構成する
Azure NetApp Files ボリュームの暗号化でカスタマー マネージド キーを使うと、新しいボリュームを作成するときに プラットフォーム マネージド キーではなく、独自のキーを使用できます。 カスタマー マネージド キーを使用すると、キーのライフ サイクル、キーの使用アクセス許可、キーの監査操作の間の関係を完全に管理できます。
次の図は、カスタマー マネージド キーが Azure NetApp Files でどのように機能するかを示したものです。
Azure NetApp Files が、暗号化キーへのアクセス許可をマネージド ID に付与します。 マネージド ID は、ユーザーが作成して管理するユーザー割り当てマネージド ID、または NetApp アカウントに関連付けられているシステム割り当てマネージド ID のいずれかです。
NetApp アカウント用のカスタマー マネージド キーで暗号化を構成します。
ユーザーは、ステップ 1 で Azure Key Vault 管理者がアクセス許可を付与したマネージド ID を使い、Microsoft Entra ID で Azure Key Vault へのアクセスの認証を行います。
Azure NetApp Files は、Azure Key Vault のカスタマー マネージド キーを使ってアカウント暗号化キーをラップします。
カスタマー マネージド キーを使っても、Azure NetApp Files のパフォーマンスに影響はありません。 プラットフォーム マネージド キーとの違いは、キーの管理方法だけです。
読み取り/書き込み操作の場合、Azure NetApp Files は、暗号化と暗号化解除の操作を実行するため、アカウント暗号化キーのラップを解除する要求を Azure Key Vault に送信します。
考慮事項
- カスタマー マネージド キーを使ってボリュームを作成するには、Standard ネットワーク機能を選ぶ必要があります。 Basic ネットワーク機能を使って構成されたボリュームで、カスタマー マネージド キー ボリュームを使うことはできません。 ボリューム作成ページで手順に従って [Network Features] (ネットワーク機能) オプションを設定します。
- セキュリティを強化するには、キー コンテナーのネットワーク設定で [パブリック アクセスの無効化] オプションを選択できます。 このオプションを選ぶ場合は、[信頼された Microsoft サービスがこのファイアウォールをバイパスすることを許可する] もオンにして、Azure NetApp Files サービスに暗号化キーへのアクセスを許可する必要があります。
- カスタマー マネージド キーは、マネージド システム ID (MSI) 証明書の自動更新をサポートします。 証明書が有効な場合は、手動で更新する必要はありません。
- プライベート リンク サブネット上の Azure ネットワーク セキュリティ グループを Azure Key Vault に適用することは、Azure NetApp Files のカスタマー マネージド キーではサポートされていません。 サブネットで
Private endpoint network policy
が有効になっていない場合、ネットワーク セキュリティ グループは Private Link への接続に影響しません。 このオプションは無効にしておくことが必須です。 - Azure NetApp Files でカスタマー マネージド キー ボリュームの作成が失敗した場合は、エラー メッセージが表示されます。 詳しくは、「エラー メッセージとトラブルシューティング」セクションをご覧ください。
- カスタマー マネージド キー ボリュームを作成した後で、基になる Azure Key Vault または Azure プライベート エンドポイントを変更しないでください。 変更すると、ボリュームにアクセスできなくなる可能性があります。
- Azure Key Vault にアクセスできなくなった場合、Azure NetApp Files は暗号化キーへのアクセスを失い、カスタマー マネージド キーで有効になっているボリュームのデータを読み書きできなくなります。 このような場合は、影響を受けているボリュームのアクセスを手動で復元するためのサポート チケットを作成します。
- Azure NetApp Files では、リージョン間レプリケーションまたはゾーン間レプリケーションのリレーションシップでの、ソースとデータのレプリケーション ボリュームで、カスタマー マネージド キーがサポートされます。
サポートされているリージョン
Azure NetApp Files のカスタマー マネージド キーは、次のリージョンでサポートされています。
- オーストラリア中部
- オーストラリア中部 2
- オーストラリア東部
- オーストラリア南東部
- ブラジル南部
- ブラジル南東部
- カナダ中部
- カナダ東部
- インド中部
- 米国中部
- 東アジア
- 米国東部
- 米国東部 2
- フランス中部
- ドイツ北部
- ドイツ中西部
- イスラエル中部
- イタリア北部
- 東日本
- 西日本
- 韓国中部
- 韓国南部
- 米国中北部
- 北ヨーロッパ
- ノルウェー東部
- ノルウェー西部
- カタール中部
- 南アフリカ北部
- 米国中南部
- インド南部
- 東南アジア
- スペイン中部
- スウェーデン中部
- スイス北部
- スイス西部
- アラブ首長国連邦中部
- アラブ首長国連邦北部
- 英国南部
- 英国西部
- US Gov アリゾナ
- US Gov テキサス
- US Gov バージニア州
- 西ヨーロッパ
- 米国西部
- 米国西部 2
- 米国西部 3
要件
最初のカスタマー マネージド キー ボリュームを作成する前に、以下を設定する必要があります。
- 少なくとも 1 つのキーを含む Azure キー コンテナー。
- キー コンテナーでは、論理的な削除と消去保護が有効になっている必要があります。
- キーは RSA 型である必要があります。
- キー コンテナーには、Azure プライベート エンドポイントが必要です。
- プライベート エンドポイントは、Azure NetApp Files に委任されたものとは異なるサブネットに存在する必要があります。 サブネットは、Azure NetApp に委任されたものと同じ VNet 内にある必要があります。
Azure Key Vault と Azure プライベート エンドポイントについて詳しくは、以下をご覧ください。
- クイック スタート: キー コンテナーを作成する
- コンテナーにキーを作成またはインポートする
- プライベート エンドポイントを作成する
- キーとサポートされているキーの種類の詳細
- ネットワーク セキュリティ グループ
- プライベート エンドポイントのネットワーク ポリシーを管理する
カスタマー マネージド キーを使用するように NetApp アカウントを構成する
Azure portal の Azure NetApp Files で、[暗号化] を選びます。
[暗号化] ページでは、NetApp アカウントの暗号化の設定を管理できます。 これには、Azure Key Vault に格納されている独自の暗号化キーを使うように NetApp アカウントを設定できるオプションが含まれます。 この設定では、システム割り当て ID を NetApp アカウントに提供し、必要なキー アクセス許可を持つ ID のアクセス ポリシーを追加します。
カスタマー マネージド キーを使うように NetApp アカウントを設定するとき、キーの URI を指定するには 2 つの方法があります。
Azure Key Vault への認証に使う ID の種類を選びます。 Azure キー コンテナーがアクセス許可モデルとしてコンテナー アクセス ポリシーを使うように構成されている場合は、両方のオプションを使用できます。 それ以外の場合は、ユーザー割り当てオプションのみを使用できます。
- [システム割り当て] を選んだ場合は、[保存] ボタンを選びます。 システム割り当て ID を NetApp アカウントに追加することで、Azure portal により NetApp アカウントが自動的に構成されます。 取得、暗号化、暗号化解除のキー アクセス許可で、アクセス ポリシーも Azure キー コンテナーに作成されます。
- [ユーザー割り当て] を選んだ場合は、ID を選ぶ必要があります。 [ID の選択] を選んでコンテキスト ウィンドウを開き、ユーザー割り当てマネージド ID を選びます。
コンテナー アクセス ポリシーを使うように Azure キー コンテナーを構成した場合、Azure portal によって、次のプロセスで NetApp アカウントが自動的に構成されます。ユーザーが選んだユーザー割り当て ID が、NetApp アカウントに追加されます。 取得、暗号化、暗号化解除のキー アクセス許可で、アクセス ポリシーが Azure キー コンテナーに作成されます。
Azure ロールベースのアクセス制御を使うように Azure キー コンテナーを構成した場合は、選んだユーザー割り当て ID に、次のアクションのアクセス許可を持つロールがキー コンテナーで割り当てられていることを確認する必要があります。
Microsoft.KeyVault/vaults/keys/read
Microsoft.KeyVault/vaults/keys/encrypt/action
Microsoft.KeyVault/vaults/keys/decrypt/action
選んだユーザー割り当て ID が、NetApp アカウントに追加されます。 ロールベースのアクセス制御 (RBAC) はカスタマイズできるので、Azure portal ではキー コンテナーへのアクセスは構成されません。 Azure Key Vault の構成について詳しくは、「Azure のロールベースのアクセス制御を使用して Key Vault のキー、証明書、シークレットへのアクセス権を付与する」をご覧ください。
[保存] を選択し、操作の状態を伝える通知を確認します。 操作が成功しなかった場合は、エラー メッセージが表示されます。 エラーの解決については、「エラー メッセージとトラブルシューティング」をご覧ください。
ロールベースのアクセス制御を使用する
Azure ロールベースのアクセス制御を使うように構成された Azure キー コンテナーを使用できます。 Azure portal でカスタマー マネージド キーを構成するには、ユーザー割り当て ID を指定する必要があります。
お使いの Azure アカウントで、[キー コンテナー] に移動した後、[アクセス ポリシー] に移動します。
ユーザー割り当てロールを作成する場合、カスタマー マネージド キーに対する次の 3 つのアクセス許可が必要です。
Microsoft.KeyVault/vaults/keys/read
Microsoft.KeyVault/vaults/keys/encrypt/action
Microsoft.KeyVault/vaults/keys/decrypt/action
これらのアクセス許可を含む定義済みのロールがありますが、それらのロールでは必要以上の特権が付与されます。 必要最小限のアクセス許可のみを持つカスタム ロールを作成することをお勧めします。 詳細については、「Azure カスタム ロール」を参照してください。
{ "id": "/subscriptions/<subscription>/Microsoft.Authorization/roleDefinitions/<roleDefinitionsID>", "properties": { "roleName": "NetApp account", "description": "Has the necessary permissions for customer-managed key encryption: get key, encrypt and decrypt", "assignableScopes": [ "/subscriptions/<subscriptionID>/resourceGroups/<resourceGroup>" ], "permissions": [ { "actions": [], "notActions": [], "dataActions": [ "Microsoft.KeyVault/vaults/keys/read", "Microsoft.KeyVault/vaults/keys/encrypt/action", "Microsoft.KeyVault/vaults/keys/decrypt/action" ], "notDataActions": [] } ] } }
カスタム ロールを作成し、キー コンテナーで使用できるようにしたら、ユーザー割り当て ID にそれを適用します。
カスタマー マネージド キーを使用して Azure NetApp Files ボリュームを作成する
Azure NetApp Files で [ボリューム] を選んでから、[+ ボリュームの追加] を選びます。
「Azure NetApp Files ボリュームのネットワーク機能を構成する」の手順に従います。
- ボリューム作成ページで [Network Features] (ネットワーク機能) オプションを設定します。
- ボリュームの委任されたサブネットのネットワーク セキュリティ グループでは、NetApp のストレージ VM からの着信トラフィックを許可する必要があります。
カスタマー マネージド キーを使うように構成された NetApp アカウントの場合、[ボリュームの作成] ページには [Encryption Key Source] (暗号化キー ソース) オプションが含まれます。
独自のキーでボリュームを暗号化するには、[Encryption Key Source] (暗号化キー ソース) ドロップダウン メニューで [カスタマー マネージド キー] を選びます。
カスタマー マネージド キーを使ってボリュームを作成するときは、[Network features] (ネットワーク機能) オプションで [Standard] も選ぶ必要があります。 Basic ネットワーク機能はサポートされていません。
キー コンテナーのプライベート エンドポイントも選ぶ必要があります。 ドロップダウン メニューには、選んだ仮想ネットワークのプライベート エンドポイントが表示されます。 選んだ仮想ネットワークにキー コンテナー用のプライベート エンドポイントがない場合、ドロップダウンは空になり、続けることはできません。 その場合は、Azure プライベート エンドポイントに関する記事をご覧ください。
ボリューム作成プロセスを最後まで続けます。 以下を参照してください:
Azure NetApp Files ボリュームをカスタマー マネージド キーに移行する (プレビュー)
Azure NetApp Files は、プラットフォームマネージド キーを使用する既存のボリュームをカスタマーマネージド キーに移行する機能をサポートしています。 移行を完了すると、プラットフォームマネージド キーに戻すことはできません。
機能を登録する
Azure NetApp Files の暗号化キーの移行は、現在プレビューの段階です。 この機能を初めて使用する前に、機能を登録する必要があります。
機能を登録します。
Register-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFMigratePmkToCmk
機能の登録の状態を確認します。
Get-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFMigratePmkToCmk
Note
RegistrationState が
Registering
状態からRegistered
に変化するまでに最大 60 分間かかる場合があります。 この状態が Registered になってから続行してください。
また、Azure CLI のコマンド az feature register
と az feature show
を使用して、機能を登録し、登録状態を表示することもできます。
移行ボリューム
Note
カスタマー マネージド キーを使用するようにボリュームを移行する場合は、Azure NetApp Files アカウントのボリュームがあるすべての仮想ネットワークに対して移行を実行する必要があります。
- カスタマー マネージド キーを使用するように Azure NetApp Files アカウントを構成したことを確認します。
- Azure portal で [暗号化] に移動します。
- [CMK の移行] タブを選択します。
- ドロップダウン メニューから、使用する仮想ネットワークとキー コンテナーのプライベート エンドポイントを選択します。
- カスタマー マネージド キーによって暗号化されるボリュームの一覧が Azure で生成されます。
- [確認] を選択して移行を開始します。
NetApp アカウントのすべてのボリュームをキー更新する
既に NetApp アカウントをカスタマー マネージド キー用に構成し、1 つ以上のボリュームをカスタマー マネージド キーで暗号化してある場合は、NetApp アカウントのすべてのボリュームの暗号化に使われているキーを変更できます。 同じキー コンテナー内にある任意のキーを選択できます。 キー コンテナーの変更はサポートされていません。
お使いの NetApp アカウントで、[暗号化] メニューに移動します。 [現在のキー] 入力フィールドで、[キー更新] リンクを選びます。
[キー更新] メニューで、ドロップダウン メニューから使用できるキーのいずれかを選びます。 現在のキーとは異なるキーを選ぶ必要があります。
OK を選択して保存します。 キー更新操作には数分かかる場合があります。
システム割り当て ID からユーザー割り当て ID に切り替える
システム割り当て ID からユーザー割り当て ID に切り替えるには、ターゲットの ID に、使われているキー コンテナーへの、読み取り/取得、暗号化、暗号化解除のアクセス許可を付与する必要があります。
az rest
コマンドを使って PATCH 要求を送信することで、NetApp アカウントを更新します。az rest -m PATCH -u <netapp-account-resource-id>?api-versions=2022-09-01 -b @path/to/payload.json
次のペイロード構造を使う必要があります。
{ "identity": { "type": "UserAssigned", "userAssignedIdentities": { "<identity-resource-id>": {} } }, "properties": { "encryption": { "identity": { "userAssignedIdentity": "<identity-resource-id>" } } } }
az netappfiles account show
コマンドを使って、操作が正常に完了したことを確認します。 出力には、次のフィールドが含まれます。"id": "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.NetApp/netAppAccounts/account", "identity": { "principalId": null, "tenantId": null, "type": "UserAssigned", "userAssignedIdentities": { "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity>": { "clientId": "<client-id>", "principalId": "<principalId>", "tenantId": <tenantId>" } } },
次のことを確認してください。
encryption.identity.principalId
がidentity.userAssignedIdentities.principalId
の値と一致するencryption.identity.userAssignedIdentity
がidentity.userAssignedIdentities[]
の値と一致する
"encryption": { "identity": { "principalId": "<principal-id>", "userAssignedIdentity": "/subscriptions/<subscriptionId>/resourceGroups/<resource-group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity>" }, "KeySource": "Microsoft.KeyVault", },
エラー メッセージとトラブルシューティング
このセクションでは、Azure NetApp Files でカスタマー マネージド キー暗号化の構成またはカスタマー マネージド キーを使ったボリュームの作成が失敗する場合の、エラー メッセージと考えられる解決策を示します。
NetApp アカウントでのカスタマー マネージド キー暗号化の構成に関するエラー
エラー条件 | 解決方法 |
---|---|
The operation failed because the specified key vault key was not found |
キー URI を手動で入力するときに、URI が正しいことを確認します。 |
Azure Key Vault key is not a valid RSA key |
選んだキーの型が RSA であることを確認します。 |
Azure Key Vault key is not enabled |
選んだキーが有効であることを確認します。 |
Azure Key Vault key is expired |
選んだキーの有効期限が切れていないことを確認します。 |
Azure Key Vault key has not been activated |
選んだキーがアクティブであることを確認します。 |
Key Vault URI is invalid |
キー URI を手動で入力するときに、URI が正しいことを確認します。 |
Azure Key Vault is not recoverable. Make sure that Soft-delete and Purge protection are both enabled on the Azure Key Vault |
キー コンテナーを次の回復レベルに更新します。“Recoverable/Recoverable+ProtectedSubscription/CustomizedRecoverable/CustomizedRecoverable+ProtectedSubscription” |
Account must be in the same region as the Vault |
キー コンテナーが NetApp アカウントと同じリージョンにあることを確認します。 |
カスタマー マネージド キーで暗号化されたボリュームの作成に関するエラー
エラー条件 | 解決方法 |
---|---|
Volume cannot be encrypted with Microsoft.KeyVault, NetAppAccount has not been configured with KeyVault encryption |
NetApp アカウントでカスタマー マネージド キー暗号化が有効になっていません。 カスタマー マネージド キーを使うように NetApp アカウントを構成します。 |
EncryptionKeySource cannot be changed |
解決策はありません。 ボリュームの EncryptionKeySource プロパティが変更できません。 |
Unable to use the configured encryption key, please check if key is active |
以下を確認します。 - キー コンテナーに対するすべてのアクセス ポリシーが正しいか: 取得、暗号化、暗号化解除? - キー コンテナー用のプライベート エンドポイントが存在するか? - 委任された Azure NetApp Files サブネットが有効になっている仮想ネットワーク NAT が VNet に存在するか? |
Could not connect to the KeyVault |
プライベート エンドポイントが正しく設定されており、ファイアウォールによって仮想ネットワークから KeyVault への接続がブロックされていないことを確認してください。 |