HCP TerraformのRun Tasksを使ってPrisma Cloudと統合して、IaCスキャンを実行してみた
HCP TerraformのRun Tasksを使って、Prisma CloudでTerraformコードをスキャンしてみます。
Run Tasksとは
Run Tasksを使うと、HCP Terraoformの実行ライフサイクル内でサードパーティのツールと統合することができます。
例えば、Plan時に自動的にPrisma Cloud IaCのコードスキャンを行えたりします。
Run Tasksによる統合が可能なサードパーティのツールはTerraform Registryで確認できます。
Prisma Cloud IaCセキュリティ
Prisma Cloudでは、OSSの静的コード分析ツールのCheckovを使ったコードスキャンが可能です。
tfsecやtrivyのように、Terraformコードの設定ミスをチェックすることができます。
Prisma Cloud上でCheckovのスキャン結果を確認することができます。
やってみた
手順は以下です。スクショを交えて解説します。
HCP Terraform トークンの作成
HCP Terraform側の作業です。
コンソールにアクセスして、Organizationsを選択します。
「Settings」 -> 「API tokens」 を選択します。
Prisma Cloudプロバイダー接続で利用可能なトークンの種類は、「User Tokens」または「Team Tokens」です。
今回は組織での利用を想定して、「Team Tokens」を使います。
「Team Tokens」 -> 「Create team token」を選択します。
任意のTeamを選択して、トークンを発行します。トークンは次の手順で使うため、控えておいてください。
デフォルトの権限では、権限がたりないため権限を編集します。
「Permission」の「Only admins can manage」を選択します。
WorkspaceとRun Tasksの管理権限が必要なため、以下を選択します。
- Manage All workspaces
- Manage run tasks
「Update team organizations access」を選択して、設定を反映させます。
これでトークンの準備は完了です。
Prisma Cloudプロバイダー接続設定
次は、Prisma Cloud側の作業です。
コンソールにアクセスして、「設定」->「プロバイダーに接続する」->「コードとビルドのプロバイダー」の順に選択します。
今回はHCP Terraform(旧名称: Terraform Cloud)のRun Tasksを使うので、Terraform Cloud(Run Tasks)を選びます。
先ほど作成したトークンを入力します。
対象のOrganizationsを選択します。
対象のWorkspacesと実行するタイミングを設定します。Planの前か後を選択できます。
進んでいくと、以下のようにPrisma Cloud上でリポジトリが表示されます。これで準備完了です。
HCP Terraformでスキャンを試してみる
登録したWorkspaceでRunを行いました。
以下のようにスキャンが実行され、ルールに違反している設定を検知できました。
「View more details」のリンクからPrisma Cloud上で確認することもできます。
おわりに
HCP TerraformのRun Tasksを使った、Prisma Cloudとの統合についてでした。
簡単な設定でワークフロー上にIaCコードスキャンを組み込むことができました。
HCP Terraformのポリシー機能を使った統合もできるようなので、今後試していきたいと思います。
以上、AWS事業本部の佐藤(@chari7311)でした。