Security Center を使用すると、GitHub に CI/CD プラグインをインストールできます。CI/CD プラグインをインストールすると、イメージのビルド時に Security Center が GitHub 内のイメージをスキャンします。
前提条件
開始する前に、以下を確認してください。
既存の Actions ワークフローを持つ GitHub リポジトリ
Security Center からの CI/CD プラグインのトークン。「CI/CD プラグインのトークンの取得」をご参照ください。このトークンは、GitHub 暗号化シークレット (
SAS_TOKEN) として保存します。Resource Access Management (RAM) ユーザーの AccessKey ID と AccessKey Secret。両方の値を GitHub 暗号化シークレット (
ACCESSKEYIDおよびACCESSKEYSECRET) として保存します。
Alibaba Cloud アカウント (root ユーザー) の認証情報ではなく、RAM ユーザーの AccessKey ID と AccessKey Secret を使用してください。アカウントレベルの認証情報は、すべてのリソースに対する完全な権限を付与するため、機密として扱い、いかなる外部チャネルにも公開しないでください。
ワークフローへのイメージスキャンステップの追加
GitHub にログインします。
右上隅にあるプロフィール画像をクリックし、ドロップダウンリストから[あなたのリポジトリ]を選択します。
[リポジトリ] タブで、設定するリポジトリをクリックします。
[アクション] タブをクリックします。
[すべてのワークフロー] セクションで、対象のパイプラインファイルを見つけ、[実行者] 列の
アイコンをクリックします。[ワークフローファイルの表示] を選択します。
「[この実行のワークフローファイル]」セクションで、以下の例に基づいてスキャン ステップを追加します。
name: Docker build and scan security issue by sas-image-scanner on: push: branches: [ main ] pull_request: branches: [ main ] env: REPO_TAG: your_docker_image_repo:your_docker_image_tag jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Build the Docker image run: docker build . --file Dockerfile --tag ${{ env.REPO_TAG }} - name: Scan image by sas-image-scanner run: > docker run --rm -v /var/run/docker.sock:/var/run/docker.sock --network=host sas-image-scanner-registry.cn-hangzhou.cr.aliyuncs.com/sas_public/sas-image-scanner:latest --accessKeyId=${{ secrets.ACCESSKEYID }} --accessKeySecret=${{ secrets.ACCESSKEYSECRET }} --token=${{ secrets.SAS_TOKEN }} --imageId=${{ env.REPO_TAG }}次の表に、パラメーターを示します。
パラメーター 必須 デフォルト 説明 accessKeyIdはい — ご利用の RAM ユーザーの AccessKey ID accessKeySecretはい — ご利用の RAM ユーザーの AccessKey Secret tokenはい — CI/CD プラグインのトークン imageIdはい — イメージ ID またはイメージリポジトリタグ。デフォルトでは、イメージはローカルでスキャンされます。リモートイメージをスキャンするには、これをイメージリポジトリタグに設定し、 registryUrl、registryUsername、およびregistryPwdも設定します。domainいいえ (なし) Security Center のエンドポイント。 tds.ap-southeast-1.aliyuncs.comに設定します。registryUrlいいえ (なし) リモートイメージリポジトリの URL。リモートイメージをスキャンする場合に必須です。 registryUsernameいいえ (なし) リモートイメージリポジトリのユーザー名。リモートイメージをスキャンする場合に必須です。 registryPwdいいえ (なし) リモートイメージリポジトリのパスワード。リモートイメージをスキャンする場合に必須です。
設定が完了すると、プロジェクトのビルド時に Security Center がプロジェクト内のイメージをスキャンしてリスクを検出します。
次のステップ
スキャン結果は、Security Center コンソールの[資産] ページの[コンテナ] タブで表示できます。詳細については、「イメージスキャン結果の表示」をご参照ください。