Key Vault を強化する

Key Vault では、キー、シークレット、証明書を安全に格納し、アクセスできます。Nerdio Manager は SQL 接続文字列などの機密性の高い値を Key Vault に格納します。SQL の接続性は Key Vault に依存しています。Key Vault をハードニングすると、次の 2 つの方法で値を保護できます。

  • ネットワークのハードニングでは、Key Vault に接続できるネットワークを制限します。デフォルトでは、Key Vault はインターネット上の任意の場所からアクセス可能です。所有する仮想ネットワークからのアクセスに制限し、必要に応じてプライベートエンドポイントも使用すると、Key Vault が外部にさらされる範囲を減らせます。

  • アクセスのハードニングでは、どのアイデンティティが Key Vault を利用できるか、キー、シークレット、証明書に対して何ができるかを制御します。従来のアクセス ポリシー モデルに代えて Azure ロールベースのアクセス制御 (Azure RBAC) を使用すると、アクセスを付与、利用できるユーザーをより厳密に一元管理できます。

この 2 つは連携します。ネットワークのハードニングで接続元を制限し、アクセスのハードニングで各アイデンティティが実行できる操作を制限します。

Key Vault のネットワークのハードニング

デフォルトでは、Key Vault はインターネット上の任意の場所からアクセス可能です。ファイアウォール ルールを構成するかプライベートエンドポイントを有効にすると、Key Vault へのアクセスを仮想ネットワークからのトラフィックだけに制限できます。

Key Vault へのネットワーク アクセスをハードニングするには、次の手順を完了してください:

前提条件

Key Vault を強化する前に、次の前提条件が満たされていることを確認してください:

  • App Service プランは、VNet 統合をサポートするティアにある必要があります。詳細については、Azure App Service のアップグレードを参照してください。

  • App Service とストレージ アカウントを接続するために使用できる仮想ネットワーク (VNet) を構成する必要があります。この仮想ネットワークは、 Nerdio Manager

手順 1: Nerdio Manager

まず、 Nerdio Manager

手順 2:Key Vault を強化するには:

Nerdio Manager

Key Vault を強化するには:
  1. Azure ポータルで、Key Vaults に移動します。

  2. 強化したい Key Vault を選択してください (nmw-app-kv-xxxxxxx)。

  3. 左側のメニューで、[設定] > [ネットワーキング] に移動します。

  4. ファイアウォールと仮想ネットワークタブで、次の情報を入力してください:

    • アクセスを許可:特定の仮想ネットワークと IP アドレスからのパブリックアクセスを許可するを選択します。

    • 仮想ネットワーク:+ 仮想ネットワークの追加を選択します。

    • ネットワーク追加の右ペインが開いたら、

      • 仮想ネットワーク:ドロップダウンリストから使用する仮想ネットワークとサブネットを選択します。

      • サブネットサブネット: ドロップダウンリストから使用するサブネットを選択します。

    • 有効にするを選択します。

      注記

      注意:このようなメッセージが表示された場合、変更が完全に反映されるまでに時間がかかることを意味します。

      次のネットワークには 'Microsoft.KeyVault' のサービス エンドポイントが有効になっていません。アクセスを有効にするには、完了までに最大15分かかります。この操作を開始した後、待ちたくない場合は安全に離れて後で戻ることができます。"

      これは正常で予想されることです。

  5. 必要な情報をすべて入力したら、[保存] を選択します。

手順 3:Key Vault にプライベートエンドポイントを作成するには:

Key Vault が強化されたら、Key Vault にプライベートエンドポイントを作成します。

Key Vault にプライベートエンドポイントを作成するには:
  1. Azure ポータルで、Key Vaults に移動します。

  2. Nerdio Managernmw-app-kv-xxxxxxx )。

  3. 左側のメニューで、[設定] > [ネットワーキング] に移動します。

  4. プライベートエンドポイント接続エリアで、作成を選択します。

  5. プライベートエンドポイントの作成ページで、次の情報を入力してください:

    1. 基本エリアで:

      • サブスクリプションサブスクリプションを選択します。

        • リソースグループ: リソースグループを選択します。

      • 名前 名前: プライベートエンドポイントのカスタム名を入力してください。

      • ネットワークインターフェイス名:NIC のカスタム名を入力してください。

      • リージョン リージョン: VNetを含むリージョンを選択してください。

    2. リソース エリアで:

      • サブスクリプションKey Vault を含むサブスクリプションを選択してください。

      • リソースタイプMicrosoft.KeyVault/vaults を選択してください。

      • リソースKey Vault を選択してください。

      • ターゲットサブリソース:リソースを選択すると、このフィールドは vault で自動的に入力されます。

    3. 仮想ネットワーク エリアで:

      • 仮想ネットワーク:プライベートエンドポイントを展開する仮想ネットワークを選択してください。

      • サブネット サブネット: プライベートエンドポイントをデプロイするサブネットを選択してください。

      • プライベートエンドポイントのネットワークポリシー:プライベートエンドポイントサブネットに NSG やユーザー定義ルートを追加したい場合は、この設定をオプションで有効にしてください。

      • プライベート IP 構成:既定のままにしてください。

      • アプリ セキュリティグループ:必要に応じて、アプリ セキュリティグループ (ASG) を追加または作成してください。

    4. DNS エリアで:

      • プライベート DNS 統合:オプションで、あなたのVNet DNS構成に応じて、プライベートDNSゾーンと統合オプションを選択できる場合があります。

        注記

        • ほとんどの顧客は、内部AD環境をターゲットにしたカスタムDNSサーバーを指定します。この場合、このオプションは無効になる可能性があります。

        • プライベートDNSゾーンとの統合が有効でない場合は、DNSがプライベートエンドポイントを正しく解決するように構成されていることを確認してください。詳細については、Azure Private EndpointプライベートDNSゾーンの値を参照してください。

    5. レビュー + 作成 エリアで、作成 を選択してください。

  6. プライベートエンドポイントが作成され、DNSが正しく設定された後、ファイアウォールと仮想ネットワークに移動し、パブリックアクセスを無効にするを選択して、プライベートエンドポイント経由でトラフィックを有効にします。

  7. このファイアウォールをバイパスするために、信頼されたMicrosoftサービスを許可するオプションのチェックを外してください。

  8. 適用 を選択します。

Key Vault のアクセスのハードニング

アクセスのハードニングでは、どのアイデンティティが Key Vault 内のキー、シークレット、証明書を読み取り、管理できるか、それらに対して何ができるかを制御します。Azure Key Vault は、次の 2 つの承認モデルをサポートしています。Azure ロールベースのアクセス制御 (Azure RBAC) とアクセス ポリシーアクセス ポリシーはレガシー モデルです。Microsoft は Azure RBAC をお勧めしています。新しい Key Vault では既定で Azure RBAC が使用されます。

アクセス ポリシーよりも Azure RBAC が推奨される理由

アクセス ポリシーでは、共同作成者や Key Vault 共同作成者など、Microsoft.KeyVault/vaults/write 権限を含むロールを持つユーザーは誰でも、アクセス ポリシーを編集して、Key Vault のキー、シークレット、証明書へのアクセス権を自分に付与できます。Azure RBAC なら、このリスクをなくせます。主な利点は次のとおりです。

  • アクセス権を付与できるユーザーを厳密に制御。所有者または ユーザー アクセス管理者ロールのメンバーだけが、キー、シークレット、証明書へのアクセス権を付与できます。これにより、セキュリティ タスクと管理タスクを分離できます。

  • 一貫した単一のモデル。Azure の各リソースで同じロールの割り当てと API が使われるため、管理者は付与されたアクセス権を一元的に確認できます。

  • 時間制限付きの特権アクセス。Azure RBAC は Privileged Identity Management と連携しているため、特権アクセス権の有効期限を自動的に切ることができます。

  • 除外項目。拒否割り当てにより、特定のスコープでセキュリティプリンシパルのアクセスを除外できます。

詳しくは、Microsoft Learn の記事「Azure ロールベースのアクセス制御 (Azure RBAC) とアクセス ポリシーの比較」をご覧ください。

Key Vault のアクセス ポリシーから Azure RBAC への移行

バージョン 8.1 より前にインストールした Nerdio Manager では、Key Vault がボルトのアクセス ポリシーを使用してプロビジョニングされます。バージョン 8.1 以降を新規インストールすると、Key Vault は代わりに Azure RBAC を使用してプロビジョニングされます。Nerdio Manager をアップグレードしても、既存の Key Vault は移行されません。以前のバージョンで作成した Key Vault では、手動で移行するまでアクセス ポリシーが使われます。

移行には 2 つのステージがあります。まず、Nerdio Manager に必要な Azure ロールを割り当てます。次に、Key Vault のアクセス許可モデルを Azure RBAC に切り替えます。

警告

アクセス許可モデルを切り替える前に、次の表のロールを割り当ててください。先に切り替えると、Nerdio Manager は Key Vault 内のシークレット、キー、証明書にアクセスできなくなります。

Key Vault に次の Azure ロールを割り当てます。

アイデンティティ

ロール

nerdio-nmw-app アプリの登録

Key Vault 証明書の責任者、Key Vault シークレット ユーザー

Nerdio Manager App Service (nmw-app-*) のマネージド ID

Key Vault Secrets Officer、Key Vault Crypto User。バージョン 8.1 以降では、Key Vault Certificate Userも必要です。

バージョン 8.1 では、格納されていたクライアントシークレットが、App Service が Key Vault から直接読み取るアプリ認証用の証明書に置き換えられました。これが、バージョン 8.1 以降でマネージド ID に Key Vault Certificate User ロールが必要な理由です。

Key Vault を Azure RBAC に移行するには、次の手順を実行します。
  1. Azure ポータルで、Key Vaults に移動します。

  2. Nerdio Managernmw-app-kv-xxxxxxx )。

  3. 左側のメニューで、[アクセス制御 (IAM)] を選択します。

  4. [追加] > [ロールの割り当ての追加] を選択し、表にある各ロールを対応する ID に割り当てます。

    注記

    Nerdio Manager の実行中でも、ロールの割り当てを追加できます。この操作によるダウンタイムは発生せず、App Service の再起動も必要ありません。

  5. メンテナンス期間中に、左側のメニューで [設定] > [アクセスの構成] にナビゲートします。

  6. [アクセス許可モデル] で [Azure ロールベースのアクセス制御] を選択し、[適用] を選択します。

Microsoft の一般的なガイダンスについては、アクセス ポリシーから Azure RBAC への移行をご覧ください。

この記事は役に立ちましたか?

0人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください

コメント (0件のコメント)

サインインしてコメントを残してください。