0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

OCI DevOps ProfessionalのLeaning Pathを確認する 3

0
Posted at

はじめに

OCI DevOps ProfessionalのLeaning PathにあるLabを実際にやってみて、OCIにおけるDevOpsの設定や動作を確認します。

今回は以下の2つのLabになります。

09. コンテナイメージの脆弱性スキャン
10. DevOpsのイベント発生時のアクション定義

09. コンテナイメージの脆弱性スキャン

OCIRの脆弱性スキャンを有効にして、OCIRに保存されるコンテナイメージの脆弱性を診断します。

ポリシーの設定

以下のポリシーを設定します。

Allow dynamic-group <動的グループ名> to manage repos in compartment <コンパートメント名>
Allow dynamic-group <動的グループ名> to manage vss-family in compartment <コンパートメント名>
Allow service vulnerability-scanning-service to read repos in compartment <コンパートメント名>
Allow service vulnerability-scanning-service to read compartments in compartment <コンパートメント名>

認証トークンの作成

ここで作成したトークンを使用しますので、ここでは割愛します。

リポジトリの作成

OCIRに新しいリポジトリを作成します。

スクリーンショット 2023-06-27 16.10.03.png

スクリーンショット 2023-06-27 16.11.16.png

作成したリポジトリのアクションからスキャナの追加を選択します。
スキャナの追加が出るまで少し時間がかかります。

スクリーンショット 2023-06-27 16.16.02.png

以下の設定で追加します。

スクリーンショット 2023-06-27 16.17.27.png

アイデンティティとセキュリティ->スキャン・レシピで作成したスキャナが確認できます。

スクリーンショット 2023-06-27 17.17.36.png

OCIRへのコンテナイメージのPush

パブリックなコンテナイメージ(今回はmaven)をPullして、Tag付け、OCIRへPushします。

OCIRにログインします。

$ sudo docker login lhr.ocir.io
Username: <tenancy-namespace>/<username>
Password: <認証トークン>
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

コンテナイメージをPullします。

$ sudo docker pull maven:latest
latest: Pulling from library/maven
3f94e4e483ea: Pull complete 
857412f02e8d: Pull complete 
84539186750f: Pull complete 
f48e8861e72e: Pull complete 
d057f354194c: Pull complete 
f95bc2c6dd70: Pull complete 
b0372eb803f6: Pull complete 
1f5765d9a90f: Pull complete 
40ea0bb3fbb0: Pull complete 
Digest: sha256:7a011deae45b0396209a490925cd85408c5bcbd7cca78a730ed3b3e7e03424cc
Status: Downloaded newer image for maven:latest
docker.io/library/maven:latest
$ sudo docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
maven        latest    c8f83a9dcc01   18 hours ago   549MB

Tag付けします。

$ sudo docker tag maven:latest lhr.ocir.io/orasejapan/lhr-dop-lab09-1-ocir-1/oci_demo_imagescan_01:1.0
$ sudo docker images
REPOSITORY                                                            TAG       IMAGE ID       CREATED        SIZE
lhr.ocir.io/orasejapan/lhr-dop-lab09-1-ocir-1/oci_demo_imagescan_01   1.0       c8f83a9dcc01   18 hours ago   549MB
maven                                                                 latest    c8f83a9dcc01   18 hours ago   549MB

Tag付けしたイメージをPushします。

$ sudo docker push lhr.ocir.io/orasejapan/lhr-dop-lab09-1-ocir-1/oci_demo_imagescan_01:1.0
The push refers to repository [lhr.ocir.io/orasejapan/lhr-dop-lab09-1-ocir-1/oci_demo_imagescan_01]
674d48c02916: Pushed 
cd0796680885: Pushed 
99fb0a9ec8fc: Pushed 
d1bc5e890782: Pushed 
17eae923607e: Pushed 
6e2d046e5002: Pushed 
bfd37c6f3336: Pushed 
35a8360e0628: Pushed 
cdd7c7392317: Pushed 
1.0: digest: sha256:8a9c74050bfed1db37b88f270397d6e41a7da68862aa3d1e1a7e178f0e12de87 size: 2205

コンソールでも確認します。

スクリーンショット 2023-06-27 16.40.30.png

スキャン結果の表示

上記のコンソール画面でスキャン結果のタブをクリックし、スキャン結果を確認します。

スクリーンショット 2023-06-27 16.42.52.png

右のから詳細の表示をクリックします。

スクリーンショット 2023-06-27 16.43.26.png

スクリーンショット 2023-06-27 16.43.42.png

各脆弱性レポートの表示

OCIコンソールのアイデンティティとセキュリティ->脆弱性レポートをクリックします。

以下の画面が表示される場合はスキップをクリックします。

スクリーンショット 2023-06-27 16.49.39.png

脆弱性レポートの一覧が表示されます。
CVE IDのリンクをクリックすると、各脆弱性の詳細を確認できます。また、CSVでエクスポートすることもできます。

スクリーンショット 2023-06-27 16.51.29.png

この画面からCVE IDのリンクをクリックすると、

スクリーンショット 2023-06-27 16.54.13.png

以下のNISTのリンクを確認できます。

スクリーンショット 2023-06-27 16.54.34.png

コンテナイメージのスキャン結果の確認

スキャン・レポートからコンテナ・イメージのタブをクリックします。

スクリーンショット 2023-06-27 17.00.25.png

コンテナ・イメージのリンクをクリックすると、以下の画面になります。イメージごとの脆弱性が確認できます。
問題IDのリンクをクリックすると、脆弱性レポートと同じ画面に飛びます。

スクリーンショット 2023-06-27 17.02.11.png

10. DevOpsのイベント発生時のアクション定義

EventsとNotificationsを使用して、DevOpsのイベント発生をトリガーとして通知するルールを設定します。

ポリシーの設定

以下のポリシーを設定します。

Allow dynamic-group <動的グループ名> to manage ons-topics in compartment <コンパートメント名>
Allow dynamic-group <動的グループ名> to manage cloudevents-rules in compartment <コンパートメント名>

Notificationsの設定

トピックの作成

OCIコンソールの通知からトピックの作成をクリックし、以下の設定で作成します。

スクリーンショット 2023-06-28 16.17.01.png

サブスクリプションの作成

作成したトピックからサブスクリプションの作成をクリックします。今回は電子メールを使用します。

スクリーンショット 2023-06-28 16.18.18.png

作成した直後はステータスがPendingになります。

スクリーンショット 2023-06-28 16.18.52.png

以下のメールが届いているので、Confirm subscriptionをクリックします。

スクリーンショット 2023-06-28 16.19.11.png

この画面が表示されます。

スクリーンショット 2023-06-28 16.19.24.png

ConfirmするとサブスクリプションのステータスがActiveになります。

スクリーンショット 2023-06-28 16.19.40.png

Eventsの作成

通知するトリガーとアクションを設定します。

OCIコンソールのイベントからルールの作成をクリックし、以下の設定でルールを作成します。
今回は

  • ルール条件(トリガー)
    • DevOpsのBuildがスタートしたら
  • アクション
    • 作成したトピックで通知します。

ルール条件やアクションは複数設定することができます。

スクリーンショット 2023-06-28 16.31.59.png

テスト

DevOpsのビルドパイプラインを実行して設定した通知がされるか確認します。

06. CI/CD Pipelineの設定と実行で作成したビルドパイプラインを実行します。

スクリーンショット 2023-06-28 16.39.38.png

サブスクリプションで設定したメールアドレスにメールが来ているか確認します。

スクリーンショット 2023-06-28 16.40.58.png

イベントで設定したルールでアクションが実行されていることが確認できます。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?