既存のストレージ アカウントに対して同じテナントでカスタマー マネージド キーを構成する

Azure Storage は、保存されているストレージ アカウント内のすべてのデータを暗号化します。 規定では、データは Microsoft のマネージド キーで暗号化されます。 暗号化キーをさらに制御するために、独自のキーを管理することができます。 カスタマー マネージド キーは、Azure Key Vault または Key Vault Managed Hardware Security Model (HSM) に格納する必要があります。

このアーティクルでは、ストレージ アカウントとキー コンテナーが同じテナントにある場合に、既存のストレージ アカウントのカスタマー マネージド キーを使用して暗号化を構成する方法について説明します。 カスタマー マネージド キーは、キー コンテナーに格納されます。

新しいストレージ アカウントのカスタマー マネージド キーを構成する方法については、Azure Key Vault に新しいストレージ アカウントのカスタマー マネージド キーを構成に関する記事を参照してください。

マネージド HSM に格納されているカスタマー マネージド キーを使用して暗号化を構成する方法については、「Azure Key Vault Managed HSM に格納されているカスタマー マネージド キーによる暗号化を構成する」を参照してください。

Note

Azure Key Vault と Azure Key Vault マネージド HSM では、カスタマー マネージド キーの構成用に同じ API と管理インターフェイスがサポートされています。 Azure Key Vault でサポートされているすべてのアクションが、Azure Key Vault マネージド HSM でもサポートされます。

キー コンテナーを構成する

新規または既存のキー コンテナーを使用して、カスタマー マネージド キーを格納することができます。 ストレージ アカウントとキーコンテナーは、同じテナント内の異なるリージョンまたはサブスクリプションに存在する場合があります。 Azure Key Vault の詳細については、Azure Key Vault の概要Azure Key Vault とは何であるかに関する記事を参照してください。

Azure Storage 暗号化でカスタマー マネージド キーを使うには、キー コンテナーに対して論理的な削除と消去保護の両方を有効にする必要があります。 新しいキー コンテナーを作成すると、論理的な削除は既定で有効になり、無効にすることはできません。 消去保護は、キー コンテナーの作成時または作成後に有効にすることができます。

Azure Key Vault では、Azure RBAC アクセス許可モデルを使用した Azure RBAC による認可がサポートされています。 Microsoft では、キー コンテナー アクセス ポリシーに対して Azure RBAC アクセス許可モデルを使用することをお勧めします。 詳細については、「 Azure RBAC を使用して Azure キー コンテナーへのアクセス許可をアプリケーションに付与する」を参照してください。

Azure portal を使ってキー コンテナーを作成する方法を学習するには、「クイック スタート: Azure portal を使用してキー コンテナーを作成する」を参照してください。 キー コンテナーを作成するときに、次の図に示すように、 [消去保護を有効にします] を選択します。

Screenshot showing how to enable purge protection when creating a key vault.

既存のキー コンテナーで消去保護を有効にするには、次の手順を実行します。

  1. Azure portal で、ご自身のキー コンテナーに移動します。
  2. [設定][プロパティ] を選択します。
  3. [消去保護] セクションで、 [消去保護を有効にします] を選択します。

キーを追加する

次に、キー コンテナーにキーを追加します。 キーを追加する前に、Key Vault Crypto Officer ロールが自分に割り当てられていることを確認してください。

Azure Storage の暗号化では、2,048、3,072、および 4,096 のサイズの RSA キーと RSA-HSM キーがサポートされています。 サポートされているキーの種類の詳細については、「キーについて」を参照してください。

Azure portal を使ってキーを追加する方法を学習するには、「クイック スタート: Azure portal を使用して Azure Key Vault との間でキーの設定と取得を行う」を参照してください。

キー コンテナーへのアクセスを承認するためのマネージド ID を選択する

既存のストレージ アカウントのカスタマー マネージド キーを有効にする場合、そのキーを含むキー コンテナーへのアクセスの承認に使用するマネージド ID を指定する必要があります。 マネージド ID には、キー コンテナー内のキーにアクセスするためのアクセス許可が必要です。

キー コンテナーへのアクセスを承認するマネージド ID は、ユーザー割り当てまたはシステム割り当てのいずれかのマネージド ID になります。 システム割り当てとユーザー割り当てのマネージド ID の詳細については、「マネージド ID の種類」を参照してください。

ユーザー割り当てマネージド ID を使用してアクセスを承認する

新しいストレージ アカウントのカスタマー マネージド キーを有効にする場合は、ユーザー割り当てマネージド ID を指定する必要があります。 既存のストレージ アカウントでは、ユーザー割り当てマネージド ID またはシステム割り当てマネージド ID のいずれかを使用してカスタマー マネージド キーを構成することがサポートされています。

ユーザー割り当てマネージド ID を使用してカスタマー マネージド キーを構成する場合、ユーザー割り当てマネージド ID を使用して、キーを含むキー コンテナーへのアクセスが認可されます。 ユーザー割り当て ID はカスタマー マネージド キーを構成する前に作成する必要があります。

ユーザー割り当てマネージド ID は、スタンドアロンの Azure リソースです。 ユーザー割り当てのマネージド ID の詳細については、「マネージド ID の種類」を参照してください。 ユーザー割り当てマネージド ID を作成して管理する方法については、「ユーザー割り当てマネージド ID の管理」を参照してください。

ユーザー割り当てマネージド ID には、キー コンテナー内のキーにアクセスするためのアクセス許可が必要です。 Key Vault Crypto Service Encryption User ロールを、キー コンテナー スコープを持つユーザー割り当てマネージド ID に割り当てて、これらのアクセス許可を付与します。

ユーザー割り当てマネージド ID でカスタマー マネージド キーを構成する前に、キー コンテナーにスコープ設定されたユーザー割り当てマネージド ID に Key Vault Crypto Service Encryption User ロールを割り当てる必要があります。 このロールは、ユーザー割り当てマネージド ID に、キー コンテナー内のキーにアクセスするためのアクセス許可を付与します。 Azure portal を使用して Azure RBAC ロールを割り当てる方法の詳細については、「Azure portal を使用して Azure ロールを割り当てる」を参照してください。

Azure portal を使用してカスタマー マネージド キーを構成する場合は、ポータルのユーザー インターフェイスから既存のユーザー割り当て ID を選択できます。

システム割り当てマネージド ID を使用してアクセスを承認する

システム割り当てマネージド ID は、Azure サービスのインスタンス (この場合は Azure Storage アカウント) に関連付けられます。 システム割り当てマネージド ID を使用してカスタマー マネージド キーを含むキー コンテナーへのアクセスを承認するには、まずシステム割り当てマネージド ID をストレージ アカウントに明示的に割り当てておく必要があります。

システム割り当て ID は、既存のストレージ アカウントでのみキー コンテナーへのアクセスの承認に使用できます。 新しいストレージ アカウントでは、アカウントの作成時にカスタマー マネージド キーが構成されている場合は、ユーザー割り当て ID を使用する必要があります。

システム割り当てマネージド ID には、キー コンテナー内のキーにアクセスするためのアクセス許可が必要です。 Key Vault Crypto Service Encryption User ロールを、キー コンテナー スコープを持つシステム割り当てマネージド ID に割り当てて、これらのアクセス許可を付与します。

システム割り当てマネージド ID でカスタマー マネージド キーを構成する前に、キー コンテナーにスコープ設定されたシステム割り当てマネージド ID に Key Vault Crypto Service Encryption User ロールを割り当てる必要があります。 このロールは、システム割り当てマネージド ID に、キー コンテナー内のキーにアクセスするためのアクセス許可を付与します。 Azure portal を使用して Azure RBAC ロールを割り当てる方法の詳細については、「Azure portal を使用して Azure ロールを割り当てる」を参照してください。

Azure portal でシステム割り当てマネージド ID を使用してカスタマー マネージド キーを構成すると、システム割り当てマネージド ID は内部でストレージ アカウントに割り当てられます。

既存のアカウントでカスタマー マネージド キーを構成する

既存のストレージ アカウントでカスタマー マネージド キーを使用して暗号化を構成する場合は、関連付けられているキー コンテナーで新しいバージョンが使用可能になるたびに、Azure Storage 暗号化に使用するキー バージョンを自動更新することを選択できます。 または、キーのバージョンが手動で更新されるまで暗号化に使用するキーのバージョンを明示的に指定できます。

キーのバージョンが変更されると、自動か手動かに関係なく、ルート暗号化キーの保護が変わりますが、Azure Storage アカウント内のデータは常に暗号化されたままになります。 データの保護を確保するために、お客様が追加のアクションを実行する必要はありません。 キーのバージョンをローテーションしてもパフォーマンスには影響しません。 キー バージョンのローテーションに関連するダウンタイムはありません。

既存のストレージ アカウントでカスタマー マネージド キーを構成する場合は、キー コンテナーへのアクセスを承認するために、システム割り当ておよびユーザー割り当てのどちらのマネージド ID も使用できます。

Note

キーを交換するには、Azure Key Vault でキーの新しいバージョンを作成します。 Azure Storage はキー交換の処理を行わないため、キー コンテナー内のキーの交換を管理する必要があります。 Azure Key Vault でキーの自動交換を構成するか、またはキーを手動で交換することができます。

キー バージョンの自動更新の暗号化を構成する

Azure Storage では、暗号化に使用されているカスタマー マネージド キーを、キー コンテナーの最新キー バージョンを使用するように自動更新できます。 Azure Storage では、新しいキー バージョンの確認のため、キー コンテナーが毎日チェックされます。 新しいバージョンが使用可能になると、Azure Storage は自動的に、暗号化に最新バージョンのキーの使用を開始します。

重要

Azure Storage では、新しいキー バージョンの確認のため、キー コンテナーが 1 日に 1 回だけチェックされます。 キーを交換するときは、必ず 24 時間待って、古いバージョンを無効化するようにしてください。

Azure portal でキー バージョンを自動更新するように既存のアカウントでカスタマー マネージド キーを構成するには、次の手順を実行します。

  1. ストレージ アカウントに移動します。

  2. [セキュリティとネットワーク] で、[暗号化] を選択します。 次の図に示すように、既定ではキー管理は [Microsoft マネージド キー] に設定されています。

    Screenshot showing encryption options in Azure portal.

  3. [カスタマー マネージド キー] オプションを選びます。 以前にキー バージョンの手動更新を使ってカスタマー マネージド キーのアカウントを構成していた場合は、ページの下部にある [キーの変更] を選びます。

  4. [Select from Key Vault](キー コンテナーから選択) オプションを選択します。

  5. [Select a key vault and key] (キー コンテナーとキーを選択する) を選択します。

  6. 使用するキーを含むキー コンテナーを選択します。 新しいキー コンテナーを作成することもできます。

  7. キー コンテナーからキーを選択します。 新しいキーを作成することもできます。

    Screenshot showing how to select key vault and key in Azure portal.

  8. キー コンテナーへのアクセスを認証するために使用する ID の種類を選択します。 オプションには、[システム割り当て] (既定) または [ユーザー割り当て] があります。 マネージド ID の種類の詳細については、「マネージド ID の種類」を参照してください。

    1. [システム割り当て] を選択すると、ストレージ アカウントのシステム割り当てマネージド ID が内部で作成されます (まだ存在しない場合)。
    2. [ユーザー割り当て] を選択した場合は、キー コンテナーへのアクセス許可を持つ既存のユーザー割り当て ID を選択する必要があります。 ユーザー割り当てマネージド ID を作成する方法については、「ユーザー割り当てマネージド ID の管理」を参照してください。

    Screenshot showing how to select a user-assigned managed identity for key vault authentication.

  9. 変更を保存します。

キーを指定した後は、Azure portal に、キーのバージョンの自動更新が有効になっていることが示されて、現在暗号化に使用されているキーのバージョンが表示されます。 ポータルには、キー コンテナーへのアクセスの承認に使用されるマネージド ID の種類と、マネージド ID に対するプリンシパル ID も表示されます。

Screenshot showing automatic updating of the key version enabled.

キー バージョンを手動で更新するように暗号化を構成する

キーのバージョンを手動で更新する場合は、カスタマー マネージド キーを使用して暗号化を構成するときに、そのバージョンを明示的に指定します。 この場合、キー コンテナーで新しいバージョンが作成されると、Azure Storage でキー バージョンが自動的に更新されません。 新しいキー バージョンを使用するには、Azure Storage の暗号化に使用されるバージョンを手動で更新する必要があります。

Azure portal でキーのバージョンを手動更新するようにカスタマー マネージド キーを構成するには、バージョンを含むキー URI を指定します。 URI としてキーを指定するには、次の手順のようにします。

  1. Azure portal でキーの URI を調べるには、キー コンテナーに移動して、 [キー] 設定を選択します。 目的のキーを選択し、キーを選択してそのバージョンを表示します。 そのバージョンの設定を表示するには、キーのバージョンを選択します。

  2. URI を示している [キー識別子] フィールドの値をコピーします。

    Screenshot showing key vault key URI in Azure portal.

  3. ストレージ アカウントの [暗号化キー] の設定で、 [キー URI を入力] オプションを選択します。

  4. コピーした URI を [キー URI] フィールドに貼り付けます。 URI からキーのバージョンを省略して、キーのバージョンの自動更新を有効にします。

    Screenshot showing how to enter key URI in Azure portal.

  5. キー コンテナーを含むサブスクリプションを指定します。

  6. システム割り当てまたはユーザー割り当てのマネージド ID をいずれか指定します。

  7. 変更を保存します。

キーを変更する

Azure Storage 暗号化に使用しているキーは、いつでも変更できます。

注意

キーまたはキー バージョンを変更すると、ルート暗号化キーの保護は変わりますが、Azure Storage アカウント内のデータは常に暗号化されたままです。 データを確実に保護するための追加のアクションは必要ありません。 キーを変更するかキー バージョンをローテーションしても、パフォーマンスには影響しません。 キーの変更かキー バージョンのローテーションに関連するダウンタイムはありません。

Azure portal でキーを変更するには、次の手順を実行します。

  1. お使いのストレージ アカウントに移動し、 [暗号化] の設定を表示します。
  2. キー コンテナーを選択し、新しいキーを選択します。
  3. 変更を保存します。

新しいキーが別のキー コンテナーにある場合は、新しいコンテナー内のキーへのアクセス権をマネージド ID に付与する必要があります。 キー バージョンの手動更新を選択する場合は、キー コンテナーの URI を更新する必要もあります。

カスタマー マネージド キーを使用するストレージ アカウントへのアクセスを取り消す

カスタマー マネージド キーを使用しているストレージ アカウントへのアクセスを一時的に取り消すには、キー コンテナーで現在使用されているキーを無効にします。 キーの無効化と再有効化に関連するパフォーマンスへの影響やダウンタイムはありません。

キーが無効化されると、クライアントは BLOB またはそのメタデータとの間で行われる読み取りまたは書き込み操作を呼び出すことができません。 失敗する操作の詳細については、 カスタマー マネージド キーを使用するストレージ アカウントへのアクセスを取り消すを参照してください。

注意事項

キー コンテナーでキーを無効にすると、Azure Storage アカウント内のデータは暗号化されたままになりますが、キーを再度有効にするまでアクセスできなくなります。

Azure portal でカスタマー マネージド キーを無効にするには、以下の手順に従います。

  1. キーを含むキー コンテナーに移動します。

  2. [オブジェクト][キー] を選択します。

  3. キーを右クリックし、[無効] を選択します。

    Screenshot showing how to disable a customer-managed key in the key vault.

Microsoft マネージド キーに切り替える

Azure portal、PowerShell、または Azure CLI を使用して、カスタマー マネージド キーから Microsoft マネージド キーにいつでも戻すことができます。

Azure portal でカスタマー マネージド キーから Microsoft マネージド キーに戻すには、以下の手順に従います。

  1. ストレージ アカウントに移動します。

  2. [セキュリティとネットワーク] で、[暗号化] を選択します。

  3. [暗号化の種類][Microsoft マネージド キー] に変更します。

    Screenshot showing how to switch to Microsoft-managed keys for a storage account.

次のステップ