概要
本ガイドでは、特にGCP Cloud Runサービスを使用してGoogle CloudでKeeperオートメーターサービスを実行する手順について取り扱います。オートメーターは、KeeperのインフラストラクチャIPへのアクセスを制限するために、Google Armorサービスによっても保護されています。
1. プロジェクトを作成する
Google Cloud コンソール (https://console.cloud.google.com) から新しいプロジェクトを作成します。
次に、この新しいプロジェクトで[プロジェクトを選択]をクリックします。
2. クラウドシェルを起動する
本ページでは、ウェブインターフェースからGoogle Cloud Shellを使用します。クリックして Cloud Shellを有効にするか、ローカルマシンにインストールしてください。
Project IDをメモしておきます。この場合はkeeper-automator-439714
となります。このプロジェクトIDは後続のコマンドで使用されます。
3. 請求先アカウントをリンクする
まだお済みでない場合は、有効な請求先アカウントをプロジェクトにリンクする必要があります。これは、Google Cloudユーザーインターフェースの[お支払い]メニューから実行します。
4. Automator Configキーを作成する
Cloud Shellから、URLエンコード形式で256ビットのAESキーを生成します。
openssl rand -base64 32
キーの例:6C45ibUhoYqkTD4XNFqoZoZmslvklwyjQO4ZqLdUECs=
結果のキーをKeeperに保存します。これは、コンテナをデプロイするときに環境変数として使用されます。このキーにより、起動時に一時的なコンテナが構成されるようになります。
5. アーティファクトレジストリを有効にする
gcloud services enable run.googleapis.com artifactregistry.googleapis.com
6. 地域を選択
サービスを実行するには、地域を選択する必要があります。使用可能な地域コードは、以下のコマンドを使用して確認できます。
gcloud run regions list
この例では、us-east1
を使用します。
7. Automatorサービス用のArtifact Registryを作成する
以下の 2 つのコマンドを実行し、「us-east1」を手順6の値に置き換えます。
gcloud artifacts repositories create keeper-automator-repo \
--repository-format=docker \
--location=us-east1 \
--description="Artifact registry for Keeper Automator service"
gcloud auth configure-docker us-east1-docker.pkg.dev
8. AutomatorコンテナをArtifact Registryにアップロードする
次の内容を含むcloudbuild.yaml
というファイルを作成し、文字列us-east1
を手順6の地域に置き換えます。その他の内容はすべてそのままにします。
steps:
- name: 'gcr.io/cloud-builders/docker'
args: ['pull', 'keeper/automator:latest']
- name: 'gcr.io/cloud-builders/docker'
args: [
'tag',
'keeper/automator:latest',
'us-east1-docker.pkg.dev/$PROJECT_ID/keeper-automator-repo/keeper-automator:latest'
]
- name: 'gcr.io/cloud-builders/docker'
args: [
'push',
'us-east1-docker.pkg.dev/$PROJECT_ID/keeper-automator-repo/keeper-automator:latest'
]
images:
- 'us-east1-docker.pkg.dev/$PROJECT_ID/keeper-automator-repo/keeper-automator:latest'
このファイルをCloud Shellユーザーインターフェースからアップロードするか、Cloud Shellでテキストファイルを作成します。
Cloud Shellから、以下を実行します。
gcloud services enable cloudbuild.googleapis.com
次にビルドを実行します。
gcloud builds submit --config cloudbuild.yaml
これにより、最新のオートメーターコンテナがGoogle Artifact Registryに同期されます。
9. Automatorサービスをデプロイする
以下のコマンドで、Artifact RegistryからKeeperオートメーターサービスをGoogle Cloud Runにデプロイします。このサービスは、内部アクセスとロードバランサのみに制限されています。
gcloud run deploy keeper-automator \
--image us-east1-docker.pkg.dev/[PROJECT ID]/keeper-automator-repo/keeper-automator:latest \
--platform managed \
--region us-east1 \
--allow-unauthenticated \
--ingress internal-and-cloud-load-balancing \
--min-instances 1 \
--max-instances 2 \
--set-env-vars "AUTOMATOR_CONFIG_KEY=XXX,AUTOMATOR_PORT=8080,DISABLE_SNI_CHECK=true,SSL_MODE=none"
以下の点にご注意ください。
[PROJECT_ID]
は手順2のProject IDに置き換えます。
XXX
を上記の手順 3 で作成した構成キーに置き換えます。
AUTOMATOR_PORT
がコンテナにポート8080をリッスンするように指示します。
SSL_MODE
でSSL接続をロードバランサで終了できるようになります。
DISABLE_SNI_CHECK
でロードバランサーの背後でリクエストを完了できるようになります。
インスタンスの最小数は 1 であり、これはほとんどの環境で許容されます。
最小/最大が設定されていない場合、サービスはインスタンスをゼロに減らし、最初のリクエストで起動します。
10. マネージド証明書の作成
Keeperシステムは、パブリックにルーティング可能なDNS名を介してオートメーターサービスと通信します。この例では、gcpautomator.lurey.com
を使用しています。設定には、まずマネージドSSL証明書を作成する必要があります。以下はそのためのコマンドとなります。
gcloud compute ssl-certificates create automator-compute-certificate \
--domains gcpautomator.lurey.com \
--global
gcpautomator.lurey.com
を任意の名前に置き換えてください。
11. サーバーレスネットワークエンドポイントグループを作成する
次のコマンドで、Cloud Run サービスを Google Cloud Load Balancer にリンクします。
gcloud compute network-endpoint-groups create keeper-automator-neg \
--region us-east1 \
--network-endpoint-type=serverless \
--cloud-run-service keeper-automator
us-east1
を手順5の Cloud Run サービスのリージョンに置き換えます。
12. NEGを使用するバックエンドサービスを作成する
これにより、Cloud Runサービスにリンクするバックエンドサービスが作成されます。
gcloud compute backend-services create keeper-automator-backend \
--global \
--protocol HTTP
13. バックエンドサービスにNEGをアタッチする
これにより、NEGがバックエンド サービスに接続されます。
gcloud compute backend-services add-backend keeper-automator-backend \
--global \
--network-endpoint-group keeper-automator-neg \
--network-endpoint-group-region us-east1
us-east1
を手順6で指定した場所に置き換えます。
14. 受信トラフィックをバックエンドサービスに誘導するURLマップを作成する
gcloud compute url-maps create keeper-automator-url-map \
--default-service keeper-automator-backend
15. HTTPSターゲットプロキシを作成し、オートメーター証明書をマップする
gcloud compute target-https-proxies create keeper-automator-target-proxy \
--url-map keeper-automator-url-map \
--ssl-certificates automator-compute-certificate
16. 静的IPアドレスを予約し、DNSエントリを割り当てる
gcloud compute addresses create keeper-automator-ip --global
IPアドレスを取得して、後で使用するためにメモしておきます。
gcloud compute addresses list
IPアドレスは有効な DNSにマッピングする必要があります。
DNSプロバイダで、IPを指すA-recordを設定します。
A-Record構成の例
この手順は重要です。 目的のドメイン名が指定された IP アドレスを指していることを確かにしてください。 この手順は DNS プロバイダで直接実行する必要があります。
17. グローバル転送ルールを作成する
受信リクエストをターゲットプロキシに転送するためのグローバル転送ルールを作成します。
gcloud compute forwarding-rules create keeper-automator-forwarding-rule \
--global \
--target-https-proxy keeper-automator-target-proxy \
--ports 443 \
--address keeper-automator-ip
18. 特定のIPへのアクセスをロックダウンする
Keeperオートメーターサービスは、イングレス要件のページに記載の通り、必要な IP のみに制限する必要があります。
特定のIPアドレスへのアクセスを制限するCloud Armorセキュリティポリシーを作成しましょう。
gcloud compute security-policies create allow-specific-ips-policy --description "Allow specific IPs"
この手順では、こちらのページに記載のKeeperの米国データセンターのIPを接続します。必要に応じて追加のルールを作成してください。
gcloud compute security-policies rules create 1000 \
--security-policy allow-specific-ips-policy \
--src-ip-ranges 54.208.20.102,34.203.159.189 \
--action allow
オートメーターサービスをテストできるように、外部IPをこのリストに追加することをお勧めします。
他のトラフィックを制限するために、デフォルトの「拒否」ルールも追加します。
gcloud compute security-policies rules create 2000 \
--security-policy allow-specific-ips-policy \
--action deny-404 \
--src-ip-ranges '*'
最後に、Cloud Armorセキュリティポリシーをバックエンドサービスにアタッチします。
gcloud compute backend-services update keeper-automator-backend \
--global \
--security-policy allow-specific-ips-policy
この時点で、オートメーターサービスが実行され、サービスは Keeper インフラストラクチャにのみ公開されます。
次の手順では、Keeperコマンダーのユーティリティを使用して構成を完了します。
19. Keeperコマンダーにログイン
オートメーター設定の最終手順を実行するには、Keeperコマンダーが必要となります。コマンダーはどこからでも実行でき、サーバーにインストールする必要はありません。
コマンダーをインストールした後、Keeperコマンダーを起動するか、既存のターミナルからkeeper shell
と入力してセッションを開いてから、login
コマンドを使用してログインします。オートメーターを設定するには、Keeper管理者かSSOノードを管理する権限を持つ管理者としてログインする必要があります。
$ keeper shell
My Vault> login admin@company.com
_ __
| |/ /___ ___ _ __ ___ _ _
| ' </ -_) -_) '_ \/ -_) '_|
|_|\_\___\___| .__/\___|_|
v16.x.xxx |_|
password manager & digital vault
Logging in to Keeper Commander
Enter password for admin@company.com
Password: ********************
Successfully authenticated with Master Password
Syncing...
Decrypted [58] record(s)
My Vault>
20. Automatorを作成する
automator create
で始まる一連のコマンドを使用してオートメーターを作成します。
My Vault> automator create --name "My Automator" --node "Azure Cloud"
ノード名 (この場合は「Azure Cloud」) は、以下に見られるように管理コンソールから取得します。
コマンドの出力には、IDプロバイダからのメタデータを含むオートメーター設定が表示されます。
Automator ID: XXXX
Name: My Automator
URL:
Enabled: No
Initialized: No
Skills: Device Approval
「URL」はまだ入力されていないことに注意してください。これは、オートメーターURLが入力されます。
以下のように、automator edit
コマンドを実行します。これにより、URLが設定され、スキル ( team
、team_for_user
、device
) も設定されます。
automator edit --url https://gcpautomator.lurey.com --skill=team --skill=team_for_user --skill=device "My Automator"
注: gcpautomator.lurey.com
を手順15で作成したドメイン名に置き換えます。
次に、キーを交換します。オートメーター公開キーで暗号化されたエンタープライズ秘密キーが オートメーターに提供されます。
automator setup "My Automator"
新しい設定でオートメーターを初期化します。
automator init "My Automator"
サービスを有効にします。
automator enable "My Automator"
ユーザー体験のテスト
Keeperオートメーターがデプロイされましたので、エンドユーザー体験をテストできます。ユーザーが SSOのIDプロバイダで認証した後は、承認を求めるポップアップが表示されなくなります。
最も簡単にテストするには、Keeperウェブボルトをシークレットモードのウィンドウで開いて、クラウドSSOでログインします。デバイスの承認は求められなくなっています。
コンテナの更新
Keeperから新しいバージョンが利用可能になる際にGoogleのコンテナを更新するには、以下のコマンドを実行します。
サポートが必要な場合
サポートが必要な場合は、commander@keepersecurity.comまでメールでお問い合わせいただくか、サポートチケットを提出ください。