LoginSignup
0
0

Sysdig Secureのレジストリスキャンを試してみた(Google Artifact Registry編)

Last updated at Posted at 2023-10-23

先日、Sysdig SecureのレジストリスキャンがGoogle Artifact Registry(以下GAR)に対応したので、さっそく試しみてみました。

参照ドキュメント

前提条件

レジストリスキャンを実施するregistry-scannerはKubernetes上でコンテナとして動作します。そのため、Kubernetes環境が必要 です。

レジストリスキャンを実施するService Accountの作成

  1. レジストリスキャンを実施するService Accountを作成し、Project ViewerArtifact Registry Readerの権限を割り当てます。
gcloud projects add-iam-policy-binding <YOUR_PROJECT_ID> --member='serviceAccount:my-iam-account@my-project.iam.gserviceaccount.com' --role='roles/viewer'  --role='roles/artifactregistry.reader'	

2. Service AccountのJSONタイプのService Account Keyを作成し、ダウンロードします。

image.png

Helmによるregistry-scannerのインストール

  1. 以下のコマンドでregistry-scannerをKubernetes環境にインストールします。

SYSDIG_SECURE_URLの値はご利用のSysdig SaaSリージョンにより異なります。下記ドキュメントをご参照ください。
https://docs.sysdig.com/en/docs/administration/saas-regions-and-ip-ranges/

helm repo add sysdig https://charts.sysdig.com
helm repo update
helm upgrade --install registry-scanner sysdig/registry-scanner --version=1 \
--set config.secureBaseURL=<SYSDIG_SECURE_URL> \
--set config.secureAPIToken=<SYSDIG_SECURE_API_TOKEN> \
--set config.registryType=gar \
--set config.registryURL=<GAR_REGISTRY_URL> \
--set config.registryPassword=<GAR_REGISTRY_PASSWORD>

<GAR_REGISTRY_PASSWORD> には、先ほどダウンロードしたService Account Keyをbase 64にエンコードした--set config.registryPassword="$(cat <GAR_SA_FILE_NAME>.json | base64)"を指定します。

異なるリージョンでGARをセットアップしている場合、異なるリージョンのURL用に別々のスキャナーをデプロイする必要があります。

  • us-east1-docker.pkg.dev (us-east1リージョンのレジストリ)
  • us-docker.pkg.dev (usマルチリージョンのレジストリ)

2. 下記コマンドで、Cronjobとして登録されていることを確認します。

kubectl get cronjob

デフォルトでは毎週土曜日の午前6時にスキャンが実行される設定で登録されています。

NAME               SCHEDULE    SUSPEND   ACTIVE   LAST SCHEDULE   AGE
registry-scanner   0 6 * * 6   False     0        <none>          88s

手動によるレジストリスキャン

  1. レジストリスキャンを手動で実行する場合は、下記コマンドを実行します。
kubectl create job --from=cronjob/registry-scanner registry-scanner-manual-test

2. 起動したregistry-scannerのPodを確認します。

kubectl get pod
NAME                                    READY   STATUS      RESTARTS   AGE
registry-scanner-manual-test-s2xhz      0/1     Completed   0          41s
registry-scanner-worker-dd42x-1-mk8gj   0/1     Completed   0          33s

3. Podのログを確認します。

kubectl logs registry-scanner-manual-test-s2xhz

スキャン結果のSysdig UIでの確認

Sysdig UIにログインし、Vulnerabilities > Registry に移動します。
レジストリ内のイメージのスキャン結果が表示されていることを確認します。
スクリーンショット 2023-10-23 15.48.48.png

クリーンアップ

registry-scannerをアンインストールするには以下のコマンドを実行します。

kubectl delete job registry-scanner-manual-test
sudo helm uninstall registry-scanner

まとめ

registry-scannerを使って、Google Artifact Registryのレジストリスキャンを簡単に実行できることが確認できました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0