Optional: Signing the Lambda Layers with AWS Code Signing

オープン
#1,963 コメント 1 件 リアクション 5 件 担当者 0 名 GitHub で見る

メンテナーはふだん 2 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
42/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
aws, github-actions

調査の方向性

.github/workflows/publish-layer-collector.yml から始め、AWS Code Signing のドキュメントと issue にあるコマンド例を確認します。workflow が layer の ZIP をアップロードする流れを追い、そのうえで、任意の signing-profile input、OIDC signing permissions、S3 versioning、artifact attestations をどのように組み込むべきかを判断します。workflow がデフォルトのパスに影響を与えずに signing を有効化できれば完了です。

索引モデルが issue の本文から書いたものです。

説明

enhancement

Is your feature request related to a problem? Please describe.

https://github.com/open-telemetry/opentelemetry-lambda/blob/main/.github/workflows/publish-layer-collector.yml

Running the above workflow to produce private layers.

If a team is running an AWS CodeSigner, then the publish job should also include an optional capability to sign the layers to confirm the provenance.

https://docs.aws.amazon.com/lambda/latest/dg/governance-code-signing.html

Describe the solution you'd like

I'd like the GitHub action to include an artefact attestation for the zip binaries and each of the language-specific binaries released.
https://docs.github.com/en/actions/how-tos/secure-your-work/use-artifact-attestations/use-artifact-attestations and couple that with AWS's codesigner for the zip files.

aws signer start-signing-job \
--source 's3={bucketName=xxxx,key=collector-layer.zip,version=xxxxx}' \
--destination 's3={bucketName=xxxx,prefix=signed/}' \
--profile-name SigningProfile_XXXXX
--client-request-token XXXUNIQUE_FROM_GITHUB_JOB

The additional parameter would need to be the SigningProfile, that would need to be present in the account that the GHA is uploading to.

Prerequisites

  • The Github OIDC role would also need permission to be able to sign.
  • The S3 bucket needs to have versioning enabled.

Describe alternatives you've considered

I think the GitHub attestation step is optional, but could allow extra confidence that the artefacts have not been tampered with, especially if the signing job connects directly to the GitHub attestation.

Additional context

I'm keen to raise a PR to demonstrate that this could be an optional extra; but wanted to raise the issue first as I couldn't find evidence of where this has been/not-been considered.

Tip: React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it. Learn more here.

主要言語
Go
スター
433
フォーク
249
平均マージ
1日 12時間
マージ済み PR(30日)
39

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

open-telemetry/opentelemetry-lambda のほかの issue

open-telemetry/opentelemetry-lambda の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。