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 を使ってセットアップできます。
その他の参考資料
お役に立つドキュメント、リンクや記事: