アプリ構成データをセキュリティで保護する

完了

このユニットでは、次を使用してアプリ構成データをセキュリティで保護する方法について学習します。

  • カスタマー マネージド キー
  • プライベート エンドポイント
  • マネージド ID

カスタマー マネージド キーを使用して構成データを暗号化する

Azure App Configuration では、Microsoft によって提供される 256 ビットの AES 暗号化キーを使用して、保存されている機密情報を暗号化します。 すべての App Configuration インスタンスには、サービスによって管理され、機密情報を暗号化するために使用される独自の暗号化キーがあります。 機密情報には、キーと値のペアで検出された値が含まれます。 カスタマー マネージド キーの機能が有効になっている場合、App Configuration では、App Configuration インスタンスに割り当てられたマネージド ID を使用して Microsoft Entra ID で認証を行います。 その後、マネージド ID で Azure Key Vault が呼び出され、App Configuration インスタンスの暗号化キーがラップされます。 ラップされた暗号化キーはその後、格納され、ラップされていない暗号化キーは App Configuration 内に 1 時間キャッシュされます。 App Configuration では、ラップされていないバージョンの App Configuration インスタンスの暗号化キーが 1 時間ごとに更新されます。 これにより、通常の運用条件下の可用性が保証されます。

カスタマー マネージド キーの機能を有効にする

Azure App Configuration に対するカスタマー マネージド キー機能を正常に有効にするには、次のコンポーネントが必要です。

  • Standard レベルの Azure App Configuration インスタンス
  • 論理的な削除と消去保護機能が有効になっている Azure Key Vault
  • Key Vault 内の RSA キーまたは RSA-HSM キー: キーは有効期限内でなければならず、有効になっている必要があります。また、折り返しおよび折り返し解除機能の両方が有効になっている必要があります

これらのリソースが構成されたら、次の 2 つの手順を行うことで、引き続き Azure App Configuration で Key Vault キーを使用できます。

  1. Azure App Configuration インスタンスにマネージド ID を割り当てます
  2. ターゲットの Key Vault のアクセス ポリシーで、ID の GETWRAP、および UNWRAP アクセス許可を付与します。

Azure App Configuration でプライベート エンドポイントを使用する

Azure App Configuration のプライベート エンドポイントを使用すると、仮想ネットワーク上のクライアントは、プライベート リンクを介してデータに安全にアクセスできるようになります。 プライベート エンドポイントでは、App Configuration ストアの仮想ネットワーク アドレス空間の IP アドレスが使用されます。 仮想ネットワーク上のクライアントと App Configuration ストア間のネットワーク トラフィックは、Microsoft バックボーン ネットワーク上のプライベート リンクを使用して仮想ネットワークを通過することで、パブリック インターネットへの露出を排除します。

App Configuration にプライベート エンドポイントを使用すると、次のことが可能になります。

  • パブリック エンドポイント上での App Configuration へのすべての接続をブロックするようにファイアウォールを構成して、アプリケーション構成の詳細をセキュリティで保護します。
  • 仮想ネットワークのセキュリティを強化し、データが漏洩しないことを保証します。
  • VPN を、または ExpressRoutes とプライベート ピアリングを使用して、仮想ネットワークに接続するオンプレミス ネットワークから、App Configuration ストアに安全に接続します。

マネージド ID

Microsoft Entra ID のマネージド ID により、Azure App Configuration は、Azure Key Vault などの Microsoft Entra ID で保護された他のリソースに簡単にアクセスすることができます。 この ID は Azure プラットフォームによって管理されます。 シークレットをプロビジョニングしたり、ローテーションしたりする必要ありません。

アプリケーションには 2 種類の ID を付与できます。

  • システム割り当て ID は、構成ストアに関連付けられています。 これは、構成ストアが削除されると削除されます。 構成ストアは 1 つのシステム割り当て ID しか持つことはできません。
  • ユーザー割り当て ID は、構成ストアに割り当てることができるスタンドアロンの Azure リソースです。 構成ストアは、複数のユーザー割り当て ID を持つことができます。

システム割り当て ID を追加する

Azure CLI を使用してマネージド ID を設定するには、既存の構成ストアに対して az appconfig identity assign コマンドを使用します。 次の Azure CLI の例では、myTestAppConfigStore という名前の Azure App Configuration ストアに対して、システム割り当て ID を作成します。

az appconfig identity assign \ 
    --name myTestAppConfigStore \ 
    --resource-group myResourceGroup

ユーザー割り当て ID を追加する

ユーザー割り当て ID を持つ App Configuration ストアを作成するには、ID を作成してから、そのリソース ID をストアに割り当てる必要があります。 次の Azure CLI の例では、myUserAssignedIdentity というユーザー割り当て ID を作成し、それを myTestAppConfigStore という名前の Azure App Configuration ストアに割り当てます。

az identity create コマンドを使用して ID を作成します。

az identity create --resource-group myResourceGroup --name myUserAssignedIdentity

新しいユーザー割り当て ID を myTestAppConfigStore 構成ストアに割り当てます。

az appconfig identity assign --name myTestAppConfigStore \ 
    --resource-group myResourceGroup \ 
    --identities /subscriptions/[subscription id]/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUserAssignedIdentity