Software Composition Analysis と GitHub Actions
GitHub Actions ワークフローで Datadog の Software Composition Analysis ジョブを実行します。このアクションはコードベースに対して Datadog osv‑scanner を実行し、その結果を Datadog にアップロードします。
ライブラリインベントリの生成
GitHub Actions は、リポジトリで宣言されているライブラリに基づいて、ライブラリのインベントリを自動生成します。
GitHub Actions は以下の言語とファイルで動作します。
- JavaScript/TypeScript:
package-lock.json
および yarn.lock
- Python:
requirements.txt
(バージョンが定義されているもの) および poetry.lock
- Java:
pom.xml
- C#
- Ruby
- … 上記以外の言語 (ドキュメントに一覧を記載)
セットアップ
キーのセットアップ
GitHub Actions の設定で、DD_APP_KEY
と DD_API_KEY
をシークレットとして追加します。Datadog のアプリケーションキーにcode_analysis_read
のスコープが付与されていることを確認してください。詳細については、API キーとアプリケーションキーを参照してください。
ワークフロー
.github/workflows/datadog-sca.yml
に以下のコードスニペットを追加します。必ず、dd_site
属性をご利用の Datadog サイトに置き換えてください。
on: [push]
name: Datadog Software Composition Analysis
jobs:
software-composition-analysis:
runs-on: ubuntu-latest
name: Datadog SBOM Generation and Upload
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Check imported libraries are secure and compliant
id: datadog-software-composition-analysis
uses: DataDog/datadog-sca-github-action@main
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
dd_app_key: ${{ secrets.DD_APP_KEY }}
dd_site: "datadoghq.com"
Datadog の関連ツール
Datadog Static Analysis はコードを解析し、IDE、GitHub PR、または Datadog 環境内でフィードバックを提供します。Datadog Static Analysis は、GitHub のアクション datadog-static-analyzer-github-action
を使ってセットアップできます。
その他の参考資料
お役に立つドキュメント、リンクや記事: