Azure Container Apps上のゲートウェイ

Azure Container Apps (ACA) は、Keeperゲートウェイ向けのサーバーレスなマネージド プラットフォームを提供し、ネイティブな高可用性 (HA) と組み込みのシークレット暗号化を備えています。

概要

本ページでは、Azure Container Apps上にKeeperゲートウェイをインストール、構成、更新する手順を取り扱います。Keeperゲートウェイのコンテナは、Rocky Linux 9のベースイメージを基にビルドされ、DockerHubで配布されています。

要件

Azure環境の要件

  • 有効なAzureサブスクリプション

  • containerapp 拡張機能付きのAzure CLI

  • Keeperボルトから取得したゲートウェイの構成文字列

  • オプションBを利用する場合は keyvault 拡張機能が必要

  • Microsoft.App/environments に委任したACA環境用サブネット (プレフィックス長は少なくとも /27)

Docker Hubの認証

Azureで匿名のイメージプルに起因するレート制限を避けるため (多くの場合 429 Too Many Requests となります)、以下が必要です。

  • Docker Hubアカウント: hub.docker.comに登録したアカウント

  • パーソナルアクセストークン: [アカウント設定] > [セキュリティ] で生成し、Read Only 権限を付与したトークン


ゲートウェイの作成

新しいゲートウェイは、ウェブボルトまたはデスクトップアプリで [新規作成] > [ゲートウェイ] から作成できます。

KeeperコマンダーのCLIからゲートウェイと構成ファイルを作成することもできます。

アプリケーション名とUIDは secrets-manager app list で確認できます。


環境のセットアップ

コンテナアプリ環境は、ゲートウェイを配置するセキュリティ上の境界となります。

シークレット管理の選択肢

GATEWAY_CONFIG は、内部マネージドシークレットまたはAzure Key Vaultのいずれかで管理します。

オプションA: 内部マネージドシークレット

オプションB: Azure Key Vault

シークレットの保存: ゲートウェイの構成値をAzure Key Vaultに保存します。

IDを付与してデプロイ: システム割り当てマネージドIDを有効にしてコンテナアプリを作成します。

アクセスの付与: コンテナアプリのマネージドIDに、Key Vaultのシークレット読み取り権限を付与します。

シークレットの参照: Key Vaultのシークレットをコンテナアプリのシークレットとして登録します。

レジストリへの割り当て: Docker Hub へのイメージプル認証用シークレットを登録します。


共有メモリの有効化

セッション録画のため、Keeperゲートウェイは共有メモリ (/dev/shm) の容量拡張が必要です。初回作成後にYAMLを更新して反映します。

構成のエクスポート

az containerapp show -n <APP_NAME> -g <RESOURCE_GROUP> -o yaml > keeper-app.yaml

YAMLの編集

template セクションを開き、 volumes および volumeMounts のブロックを追加します。

keeper-app.yaml に競合する volumes ブロックがないことを確認してください。

更新の適用

az containerapp update -n <APP_NAME> -g <RESOURCE_GROUP> --yaml keeper-app.yaml

運用コマンド

操作

コマンド

共有メモリの確認

az containerapp exec -n <APP_NAME> -g <RESOURCE_GROUP> --command "df -h | grep shm"

ログの表示

az containerapp logs show -n <APP_NAME> -g <RESOURCE_GROUP> --follow

レプリカ数のゼロ化

az containerapp scale update -n <APP_NAME> -g <RESOURCE_GROUP> --min-replicas 0 --max-replicas 0

レプリカ数の引き上げ

az containerapp scale update -n <APP_NAME> -g <RESOURCE_GROUP> --min-replicas 2 --max-replicas 5


ネットワーク構成

Keeperゲートウェイはアウトバウンド専用の接続を確立するため、インバウンドのファイアウォールルールは必要ありません。ただし、以下のアウトバウンド接続は許可されている必要があります。

宛先エンドポイント
必要なポート
備考

Keeperクラウド keepersecurity.[x]

エンドポイント:

US: .com

EU: .eu

AU: .com.au

JP: .jp

CA: .ca

US_GOV: .us

TLSポート443

Keeperクラウドと通信し、ネイティブプロトコル (例: SSH、RDP) を介して対象インフラストラクチャにアクセスします。

Keeperルーター connect.keepersecurity.[x]

エンドポイント:

US: .com

EU: .eu

AU: .com.au

JP: .jp

CA: .ca

US_GOV: .us

TLSポート443

Keeperルーターと通信し、安全なリアルタイムWebSocket接続を確立します。

Keeper Stun/Turnサービス

krelay.keepersecurity.[x]

エンドポイント:

US: .com

EU: .eu

AU: .com.au

JP: .jp

CA: .ca

US_GOV: .us

TCPおよびUDPのポート3478を開放。 さらに、TCPおよびUDPのポート49152~65535のアウトバウンドアクセスを許可。

ゲートウェイを介して、エンドユーザーのボルトと対象システム間の安全で暗号化されたWebRTC接続を確立します。

ゲートウェイでは、すべての暗号化および復号化処理をローカルで実行することでゼロ知識を保持します。Keeperクラウドとの通信にはKeeperシークレットマネージャーのAPIを使用します。

最終更新