「CyberArk」はクラウドサービス(Box,Microsoft 365等)やオンプレミスサーバーの特権管理者アカウントを保護、管理するためのソリューションです。
CyberArkは専用のサーバーを構築し、コンポーネントをサーバーにインストールする必要があります。
今回は、CyberArkをAzure仮想マシン上で構築する流れを解説していきます。
※記事内のコマンドで赤字で表記している箇所は、環境に合わせて適宜変更して実行してください。
今回作成する環境
CyberArkには複数のコンポーネントがありますが、通常、「Vault」と呼ばれるアカウント情報を保管するコンポーネントをインストールする「Vaultサーバー」と、それ以外のコンポーネントをインストールする「Frontサーバー」で分けられることが多いです。
※Vaultサーバーに対するその他コンポーネントや3rdパーティー製品のインストールはできません。
今回はVaultサーバー、そのほかのコンポーネントをインストールするFrontサーバーの2種類を構築していきます。
事前準備物
Vaultの構築にあたり、下記のファイルが必要となります。
項番 |
ファイル名 |
機能 |
1 |
Operator CD.zip |
サーバーの起動や操作に使用するためのファイル |
2 |
Master CD.zip |
リカバリとマスターログオンに使用するためのファイル |
3 |
License.xml |
ライセンスキー |
各コンポーネントのインストールにあたり、下記のファイルが必要となります。
項番 |
ファイル名 |
機能 |
1 |
Vault AMI |
Vaultインストールするためのマシンイメージ |
2 |
Client-Rls-v12.2.zip |
Private Arkをインストールするためのファイル |
3 |
Password Vault Web Access-Rls-v12.2.zip |
PVWAをインストールするためのファイル |
4 |
Central Policy Manager-Rls-v12.2.zip |
CPMをインストールするためのファイル |
5 |
Privileged Session Manager-Rls-v12.2.zip |
PSMをインストールするためのファイル |
※いずれも製品版/評価版の契約後にCyberArk社から受領するファイルです。
Azure環境事前準備
ストレージアカウント作成
Vaultサーバーを作成するには、専用のvhdからデプロイする必要があるため、事前にストレージアカウントを作成します。
-
Azureポータルにログインし、画面右上のCloud Shellを起動します。
-
「詳細設定を表示にする」をクリックします。
- 下記の情報を入力し、「ストレージの作成」をクリックします。
設定項
設定値
サブスクリプション
任意のサブスクリプション
リージョン
任意のリージョン
※今回は東日本で作成します
リソースグループ
任意のリソースグループ
ストレージアカウント
任意のストレージアカウント(新規作成)
共有ファイル
任意の共有ファイル(新規作成)
CloudShell接続先確認
- 以下のコマンドを実行し、保存先のストレージアカウントを確認します。
env | grep ACC_STORAGE_PROFILE
clouddrive unmount
Vaultイメージの取り込み&イメージ作成
事前情報確認
-
以下5つの項目を事前に確認します。
設定項目
確認ポイント
リソースグループ名
前項「Cloud Shell接続先の確認」で指定したリソースグループ名であること
ストレージアカウント名
前項「Cloud Shell接続先の確認」で指定したストレージアカウント名であること
ストレージアカウントアクセスキー
Azureポータル > ストレージアカウント >「ストレージアカウント名」 > アクセスキーでキーの表示ができること
コンテナー名
次項で作成手順を記載
アクセスSASのURL
CyberArk社から受領した「Windows Server2019 – Vaultコンポーネント」のSAS URL
コンテナー作成
-
以下に移動し、コンテナーを作成します。
Azureポータル > ストレージアカウント > 「作成したストレージアカウント名」 > コンテナー > +コンテナー設定項目
設定値
名前
任意の名称
パブリックアクセスレベル
プライベート(匿名アクセスはありません)
ストレージコンテキスト設定
-
Cloud Shellを起動後、以下のコマンドを実行します。
$destContext = New-AzureStorageContext -StorageAccountName ストレージアカウント名 -StorageAccountKey "ストレージアカウントのアクセスキー"
vhdファイルのコピー
-
SASからイメージをコピーします。以下のコマンドを実行します。
Start-AzureStorageBlobCopy -DestContainer コンテナー名 -DestContext $destContext -DestBlob pas-vault-v12.6.vhd -AbsoluteUri "受領したSAS URL"
-
下記のコマンドを実行し、コピー状態の確認を行います。
※ステータスがSuccessになるまでには30分ほどかかります。Get-AzureStorageBlobCopyState -Blob pas-vault-v12.6.vhd -Container コンテナー名 -Context $destContext -WaitForComplete
-
コマンドの実行結果から以下3点を確認します。
-
ステータスがSuccessとなっていること
-
BytesCopiedとTotalBytesが一致していること
-
コンテナー内にpas-vault-12.6.vhdファイルができていること
-
VMイメージの作成
- VMイメージを作成のため、変数設定を行います。以下の4つのコマンドを実行します。
-
-
$containerName = "コンテナー名"
-
$release = "v12.6"
-
$vaultDestBlob = "pas-vault-$release.vhd"
-
$vaultblobUri = ($destContext.BlobEndPoint + $containerName + "/" + $vaultDestBlob)
-
-
- イメージ作成するために、以下の7つのコマンドを実行します。
-
-
$location = "ストレージアカウントと同じリージョン"
-
$resourceGroupName = "リソースグループ名"
-
$vmOSType = "Windows"
-
$imageName = "PAS-Vault-$release"
-
$imageConfig = New-AzureRmImageConfig -Location $location
-
$imageConfig = Set-AzureRmImageOsDisk -Image $imageConfig -OsType $vmOSType -OsState Generalized -BlobUri $vaultblobUri
-
$image = New-AzureRmImage -ImageName $imageName -ResourceGroupName $resourceGroupName -Image $imageConfig
-
-
- 「イメージ」にVaultイメージが作成されていることを確認します。
Primary Vaultの起動
Primary Vaultサーバーの作成
- Azureポータルにログインし、「イメージ」へ移動します。
- 作成したイメージを選択し、「作成」をクリックします。
- VMを作成します。
※特に要件はありませんが、サイズが小さすぎると上手く動作しない可能性があります。
DR Vaultサブネット作成およびエンドポイント付与
DR(Disaster Recovery)Vaultは本番用Vaultの障害発生に備え、本番用Vaultのスタンバイ機として使用されます。
-
「仮想ネットワーク」を開き、「作成」をクリックします。
-
仮想ネットワークを作成します。
※リージョンは要件に沿って作成してください。今回はJapan Eastで作成します。 -
2で作成した仮想ネットワーク>サブネットを選択します。
-
「サービス」で「Microsoft.KeyVault」を選択し、保存します。
.NETFrameworkとOSのTLS1.2の有効化
VaultサーバーのTLS設定を、CyberArkの推奨値である「TLS1.2」とします。
-
「Primary Vaultサーバーの作成」で作成したVMにログインし、レジストリエディタを開きます。
- 以下のレジストリ値を確認します。Path:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727
"SystemDefaultTlsVersions" = dword:00000001
"SchUseStrongCrypto" = dword:00000001 Path:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319"SystemDefaultTlsVersions" = dword:00000001
"SchUseStrongCrypto" = dword:00000001
Path:HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727
"SystemDefaultTlsVersions" = dword:00000001
"SchUseStrongCrypto"= dword:00000001 Path:HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319"SystemDefaultTlsVersions" = dword:00000001
"SchUseStrongCrypto"= dword:00000001
Path:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server
"DisabledByDefault" = dword:00000000
"Enabled" = dword:00000001 Path:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client"DisabledByDefault" = dword:00000000
"Enabled" = dword:00000001
- Primary Vaultサーバーを再起動します。
Key Vaultの作成
Key Vaultは、VaultおよびDR Vaultの環境を構築する際に必要となります。
VaultおよびDR Vaultが同じリージョンに存在する場合は、リージョン内に1つのKey Vaultを作成となりますが、VaultおよびDR Vaultが別リージョンに存在する場合は、それぞれのリージョンでKey Vaultが必要となります。
今回の構成はVault , DR Vaultは同一リージョンに存在するため、Key Vaultを1つ作成します。
- Azureポータル>「キーコンテナ」へ移動し、「作成」をクリックします。
- 基本タブで以下の設定を行います。
設定項目
設定値
サブスクリプション
任意のサブスクリプション
リソースグループ
任意のリソースグループ
KeyVault名
任意のKey Vault名
地域
ストレージアカウントと同じリージョン
※今回はJapan East
価格レベル
プレミアム
回復オプション
任意の回復オプション
- アクセスポリシータブにて、「アクセス許可モデル」を「コンテナーのアクセスポリシー」にします。
- アクセスポリシーで「作成」をクリックし、「キーのアクセス許可」で以下3つを選択します。
- 作成
- キーを折り返す
- キーの折り返しを解除
- 「プリンシバルの選択」にて、Primary VaultサーバーのオブジェクトIDで検索し選択します。
※オブジェクトIDはVaultサーバの「ID」画面で確認できます。(IDがオフになっている場合はオンにしてください)
- 「確認および作成」にて、「作成」をクリックしアプリケーションが作成されたことを確認します。
- ネットワークタブにて、パブリックアクセスの「選択されたネットワーク」を選択します。
「仮想ネットワークの追加」をクリックし、Vault用に作成したサブネットを選択します。
お疲れ様でした。以上でAzureでの事前準備は終了です。
おわりに
今回はCyberArkの環境構築として、事前準備の手順を解説しました。
次回以降は、実際にサーバにコンポーネントをインストールする手順を解説していきます。