Azure NetApp Files ボリューム暗号化用にカスタマー マネージド キーを構成する

Azure NetApp Files ボリュームの暗号化でカスタマー マネージド キーを使うと、新しいボリュームを作成するときに プラットフォーム マネージド キーではなく、独自のキーを使用できます。 カスタマー マネージド キーを使用すると、キーのライフ サイクル、キーの使用アクセス許可、キーの監査操作の間の関係を完全に管理できます。

次の図は、カスタマー マネージド キーが Azure NetApp Files でどのように機能するかを示したものです。

カスタマー マネージド キーの概念図。

  1. Azure NetApp Files が、暗号化キーへのアクセス許可をマネージド ID に付与します。 マネージド ID は、ユーザーが作成して管理するユーザー割り当てマネージド ID、または NetApp アカウントに関連付けられているシステム割り当てマネージド ID のいずれかです。

  2. NetApp アカウント用のカスタマー マネージド キーで暗号化を構成します。

  3. ユーザーは、ステップ 1 で Azure Key Vault 管理者がアクセス許可を付与したマネージド ID を使い、Microsoft Entra ID で Azure Key Vault へのアクセスの認証を行います。

  4. Azure NetApp Files は、Azure Key Vault のカスタマー マネージド キーを使ってアカウント暗号化キーをラップします。

    カスタマー マネージド キーを使っても、Azure NetApp Files のパフォーマンスに影響はありません。 プラットフォーム マネージド キーとの違いは、キーの管理方法だけです。

  5. 読み取り/書き込み操作の場合、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 NetApp Files は暗号化キーへのアクセスを失い、カスタマー マネージド キーで有効になっているボリュームのデータを読み書きできなくなります。 このような場合は、影響を受けているボリュームのアクセスを手動で復元するためのサポート チケットを作成します。
  • Azure NetApp Files では、リージョン間レプリケーションまたはゾーン間レプリケーションのリレーションシップでの、ソースとデータのレプリケーション ボリュームで、カスタマー マネージド キーがサポートされます。

サポートされているリージョン

Azure NetApp Files のカスタマー マネージド キーは、次のリージョンでサポートされています。

  • オーストラリア中部
  • オーストラリア中部 2
  • オーストラリア東部
  • オーストラリア南東部
  • ブラジル南部
  • ブラジル南東部
  • カナダ中部
  • カナダ東部
  • インド中部
  • 米国中部
  • 東アジア
  • 米国東部
  • 米国東部 2
  • フランス中部
  • ドイツ北部
  • ドイツ中西部
  • イスラエル中部
  • 東日本
  • 西日本
  • 韓国中部
  • 韓国南部
  • 米国中北部
  • 北ヨーロッパ
  • ノルウェー東部
  • ノルウェー西部
  • カタール中部
  • 南アフリカ北部
  • 米国中南部
  • インド南部
  • 東南アジア
  • スウェーデン中部
  • スイス北部
  • スイス西部
  • アラブ首長国連邦中部
  • アラブ首長国連邦北部
  • 英国南部
  • 英国西部
  • 西ヨーロッパ
  • 米国西部
  • 米国西部 2
  • 米国西部 3

要件

最初のカスタマー マネージド キー ボリュームを作成する前に、以下を設定する必要があります。

  • 少なくとも 1 つのキーを含む Azure キー コンテナー
    • キー コンテナーでは、論理的な削除と消去保護が有効になっている必要があります。
    • キーは RSA 型である必要があります。
  • キー コンテナーには、Azure プライベート エンドポイントが必要です。
    • プライベート エンドポイントは、Azure NetApp Files に委任されたものとは異なるサブネットに存在する必要があります。 サブネットは、Azure NetApp に委任されたものと同じ VNet 内にある必要があります。

Azure Key Vault と Azure プライベート エンドポイントについて詳しくは、以下をご覧ください。

カスタマー マネージド キーを使用するように NetApp アカウントを構成する

  1. Azure portal の Azure NetApp Files で、[暗号化] を選びます。

    [暗号化] ページでは、NetApp アカウントの暗号化の設定を管理できます。 これには、Azure Key Vault に格納されている独自の暗号化キーを使うように NetApp アカウントを設定できるオプションが含まれます。 この設定では、システム割り当て ID を NetApp アカウントに提供し、必要なキー アクセス許可を持つ ID のアクセス ポリシーを追加します。

    暗号化メニューのスクリーンショット。

  2. カスタマー マネージド キーを使うように NetApp アカウントを設定するとき、キーの URI を指定するには 2 つの方法があります。

    • [キー コンテナーから選択する] オプションを使うと、キー コンテナーとキーを選択できます。 キー インターフェイスの選択のスクリーンショット。

    • [キー URI を入力] オプションを使うと、キーの URI を手動で入力できます。 キー URI フィールドを示す暗号化メニューのスクリーンショット。

  3. Azure Key Vault への認証に使う ID の種類を選びます。 Azure キー コンテナーがアクセス許可モデルとしてコンテナー アクセス ポリシーを使うように構成されている場合は、両方のオプションを使用できます。 それ以外の場合は、ユーザー割り当てオプションのみを使用できます。

    • [システム割り当て] を選んだ場合は、[保存] ボタンを選びます。 Azure portal によって、次のプロセスで NetApp アカウントが自動的に構成されます。システム割り当て ID が NetApp アカウントに追加されます。 取得、暗号化、暗号化解除のキー アクセス許可で、アクセス ポリシーが Azure キー コンテナーに作成されます。

    システム割り当てオプションを含む暗号化メニューのスクリーンショット。

    • [ユーザー割り当て] を選んだ場合は、ID を選ぶ必要があります。 [ID の選択] を選んでコンテキスト ウィンドウを開き、ユーザー割り当てマネージド ID を選びます。

    ユーザー割り当てサブメニューのスクリーンショット。

    コンテナー アクセス ポリシーを使うように Azure キー コンテナーを構成した場合、Azure portal によって、次のプロセスで NetApp アカウントが自動的に構成されます。ユーザーが選んだユーザー割り当て ID が、NetApp アカウントに追加されます。 取得、暗号化、暗号化解除のキー アクセス許可で、アクセス ポリシーが Azure キー コンテナーに作成されます。

    Azure ロールベースのアクセス制御を使うように Azure キー コンテナーを構成した場合は、選んだユーザー割り当て ID に、次のアクションのアクセス許可を持つロールがキー コンテナーで割り当てられていることを確認する必要があります。

  4. [保存] を選択し、操作の状態を伝える通知を確認します。 操作が成功しなかった場合は、エラー メッセージが表示されます。 エラーの解決については、「エラー メッセージとトラブルシューティング」をご覧ください。

ロールベースのアクセス制御を使用する

Azure ロールベースのアクセス制御を使うように構成された Azure キー コンテナーを使用できます。 Azure portal でカスタマー マネージド キーを構成するには、ユーザー割り当て ID を指定する必要があります。

  1. お使いの Azure アカウントで、[キー コンテナー] に移動した後、[アクセス ポリシー] に移動します。

  2. アクセス ポリシーを作成するには、[アクセス許可モデル][Azure ロールベースのアクセス制御] を選びます。 アクセス構成メニューのスクリーンショット。

  3. ユーザー割り当てロールを作成する場合、カスタマー マネージド キーに対する次の 3 つのアクセス許可が必要です。

    1. Microsoft.KeyVault/vaults/keys/read
    2. Microsoft.KeyVault/vaults/keys/encrypt/action
    3. 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": []
                }
            ]
          }
    }
    
  4. カスタム ロールを作成し、キー コンテナーで使用できるようにしたら、ユーザー割り当て ID にそれを適用します。

RBAC のレビューと割り当てメニューのスクリーンショット。

カスタマー マネージド キーを使用して Azure NetApp Files ボリュームを作成する

  1. Azure NetApp Files で [ボリューム] を選んでから、[+ ボリュームの追加] を選びます。

  2. Azure NetApp Files ボリュームのネットワーク機能を構成する」の手順に従います。

  3. カスタマー マネージド キーを使うように構成された NetApp アカウントの場合、[ボリュームの作成] ページには [Encryption Key Source] (暗号化キー ソース) オプションが含まれます。

    独自のキーでボリュームを暗号化するには、[Encryption Key Source] (暗号化キー ソース) ドロップダウン メニューで [カスタマー マネージド キー] を選びます。

    カスタマー マネージド キーを使ってボリュームを作成するときは、[Network features] (ネットワーク機能) オプションで [Standard] も選ぶ必要があります。 Basic ネットワーク機能はサポートされていません。

    キー コンテナーのプライベート エンドポイントも選ぶ必要があります。 ドロップダウン メニューには、選んだ仮想ネットワークのプライベート エンドポイントが表示されます。 選んだ仮想ネットワークにキー コンテナー用のプライベート エンドポイントがない場合、ドロップダウンは空になり、続けることはできません。 その場合は、Azure プライベート エンドポイントに関する記事をご覧ください。

    ボリュームの作成メニューのスクリーンショット。

  4. ボリューム作成プロセスを最後まで続けます。 以下を参照してください:

NetApp アカウントのすべてのボリュームをキー更新する

既に NetApp アカウントをカスタマー マネージド キー用に構成し、1 つ以上のボリュームをカスタマー マネージド キーで暗号化してある場合は、NetApp アカウントのすべてのボリュームの暗号化に使われているキーを変更できます。 同じキー コンテナー内にある任意のキーを選択できます。 キー コンテナーの変更はサポートされていません。

  1. お使いの NetApp アカウントで、[暗号化] メニューに移動します。 [現在のキー] 入力フィールドで、[キー更新] リンクを選びます。 暗号化キーのスクリーンショット。

  2. [キー更新] メニューで、ドロップダウン メニューから使用できるキーのいずれかを選びます。 現在のキーとは異なるキーを選ぶ必要があります。 キー更新メニューのスクリーンショット。

  3. OK を選択して保存します。 キー更新操作には数分かかる場合があります。

システム割り当て ID からユーザー割り当て ID に切り替える

システム割り当て ID からユーザー割り当て ID に切り替えるには、ターゲットの ID に、使われているキー コンテナーへの、読み取り/取得、暗号化、暗号化解除のアクセス許可を付与する必要があります。

  1. 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>"
          }
        }
      }
    }
    
  2. 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.principalIdidentity.userAssignedIdentities.principalId の値と一致する
    • encryption.identity.userAssignedIdentityidentity.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 への接続がブロックされていないことを確認してください。

次のステップ