はじめに
Red Hat の Container 用のセキュリティソリューションで、ACS (Advanced Cluster Secruity)
という製品があります。機能の概要紹介が、Red Hatのブログにあるので、そのリンクをこちらに置いておきます。
ACS は、全体を管理する Central
と呼ばれるサーバーと、管理対象となる Secured Cluster
(セキュリティを守る対象のCluster) から構成されます。
管理対象となる Secured Cluster
は、Red Hat の Kubernetes である OpenShift
の他、EKS
、AKS
、GKE
にも対応しています。
ACSは単体で導入するソフトウェアとしての提供もありますが、ACS CS(Cloud Service)
という名前でSaaSサービスとしても提供されています。
ACS CS
のメリットは、Kubernetes クラスタをセキュアに守るための管理サーバー(Central
)を自分で構築する必要が無いという点です。数クリックの操作で自分用の管理サーバー(Central
)のインスタンスを立ちあげる事ができ、そこに守りたいKubernetes 追加していくだけです。
ACS CS は、60日の評価版が用意されているので、この記事ではそれを試して見ます。
ACS CS の Central インスタンスのデプロイ
console.redhat.com にログインし、"Advanced Cluster Security" のタイルの "RHACS Cloud Service" をクリックします。
Activate your 60-day trial now
をクリックします。
Start your tiral
をクリックします。60日間使用できます。
右下から誰かがチャットで話しかけて来ますが、英語で怖いので無視して Create Instance
のボタンをクリックします。
ACS
の Central
(ACSの管理サーバー) デプロイする AWSリージョンを選びます。記事作成時点で、Europe (Iredland)
と US East (N. Virginia)
の AWS リージョンが選べます。この記事では、US East
に ACS
の Central
を作成して、日本にある OpenShiftのクラスターを管理対象(Secured Cluster)にしてみます。
大体、デプロイには 10分かかるそうです。
ログイン後、Create init bundle
をクリックします。
Name
に好きな名前を入れて、Platform of secured clusters
を選びます。
この手順では Secured Cluster
として OpenShift の Managed Service である ROSA を登録するのでOpenShift
を選択します。
YAMLファイルをダウンロードして保存しておきます。後で使用します。
Secured Cluster 側の作業
この例では、既に作成済みの ROSA HCP
クラスターを使用します。
Operator Hub
から Advanced Cluster Secruity for Kubernetes
を選びます。
インストール
をクリックします。細かな設定は、デフォルトで大丈夫です。
もう一度、インストール
をクリックします。設定はデフォルトで大丈夫です。(デフォルトでは、rhascs-operator
という namespace
に各種コンポーネントがインストールされます。以降はその前提で手順を進めていきます。)
インストールが完了したら以下の画面になるので Operatorの表示
をクリックします。
プロジェクト
が rhacs-operator
になっているのを確認して(デフォルトでインストールしているとこの設定になっているはずです)、右上の「+」アイコンをクリックします。
この画面に、先ほどダウンロードした YAML
ファイルの中身を貼り付けます。貼り付けたら作成
をクリックします。必要なリソースが作成されます。
リソースの作成はすぐに完了するはずです。これらは Secured Cluster
の登録に必要なSecret
達です。
ここで一旦 ACS CS のコンソールの画面に戻って、コンソールの URL をコピーしてとっておきます。
再び Secured Cluster
の OpenShift コンソールに戻って、インストール済みのOperator
から Advanced Cluster Security for Kubernetes
を選択して、Secured Cluster
のタブをクリックします。Secured Clusterの作成
をクリックします。
コピーしておいた、ACS CS のコンソールの URLのドメイン名を切り取って Central Endpoint
のボックスに貼り付けます。
https://acs-csialga7m405k28qe4eg.acs.rhcloud.com:443
のようなフォーマットになります。
Central Endpoint
の項目を埋めたら「作成」をクリックします。必要な Pod
のデプロイが開始されます。
以下のコマンドで Pod
のデプロイ状況が確認できます。
oc get pods -n rhacs-operator
collector-
は、Node の本数分作られます。Worker Node だけでなく、Master Node / Infra Node にもデフォルトでインストールされます。この例の場合は、Master Node / Infra Node が存在しない ROSA HCP Cluster にインストールしているので、Worker Node の数 (3本)分の Collectorが見えています。
$ oc get pods -n rhacs-operator
NAME READY STATUS RESTARTS AGE
admission-control-7464c8ffbf-6c999 1/1 Running 0 2m7s
admission-control-7464c8ffbf-bsz8h 1/1 Running 0 2m6s
admission-control-7464c8ffbf-nxhhq 1/1 Running 0 2m6s
collector-7hg5v 3/3 Running 1 (89s ago) 2m6s
collector-j8f5p 3/3 Running 1 (88s ago) 2m7s
collector-l8qsh 3/3 Running 1 (90s ago) 2m6s
rhacs-operator-controller-manager-5dccb5d885-v4g7v 1/1 Running 0 16m
scanner-9dcf88c75-468zp 1/1 Running 0 2m6s
scanner-9dcf88c75-gjmgg 1/1 Running 0 2m6s
scanner-9dcf88c75-rcpzm 1/1 Running 0 2m6s
scanner-db-758fdbb744-nrvc6 1/1 Running 0 2m6s
sensor-5659647cd9-29kxr 1/1 Running 0 2m7s
$
上記のように全て Running
になったら Secured Cluster
の登録は完了しているはずです。
ACS CS コンソールでの確認
ACS CS の画面に戻ると、以下のように先ほど登録した Cluster がリストされているはずです。
Dashboard
をクリックすると以下のように各種情報が見えるようになります。
以上で完了です。
今回は、ACS CS
の Central
インスタンスが U.S. Virginia
で管理対象となる Secured Cluster
の OpenShift
(ROSA HCP
クラスター) を東京リージョンに設置して実験してみましたが、特に目立った遅延などの影響は感じられなかったです。