Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWS Signerでコード署名についてまとめてみた
Search
Atsushi Satou
September 25, 2023
1
820
AWS Signerでコード署名についてまとめてみた
Atsushi Satou
September 25, 2023
Tweet
Share
More Decks by Atsushi Satou
See All by Atsushi Satou
CLIで構築した方が良いもの一覧.pdf
atsuw0
0
69
HCP Terraformを使ったら AWSやGCPの環境構築が捗った話
atsuw0
0
64
HashicorpCloudについて.pdf
atsuw0
0
7
HCP Terraform について
atsuw0
0
1.5k
HashicorpCloudについて.pdf
atsuw0
0
15
AWS サーバレス設計 Tips集
atsuw0
0
78
AWS re:Invent 2023 ストレージ EFSレプリケーションのフェイルバック機能を試してみた
atsuw0
0
260
AWS re:Invent 2023 個人的に興味深いもの集
atsuw0
0
71
AWSマネージドサービスのみで 障害対応の自動化
atsuw0
0
3.3k
Featured
See All Featured
Become a Pro
speakerdeck
PRO
26
5k
A Philosophy of Restraint
colly
203
16k
Into the Great Unknown - MozCon
thekraken
33
1.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Thoughts on Productivity
jonyablonski
67
4.4k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Designing for Performance
lara
604
68k
A designer walks into a library…
pauljervisheath
204
24k
Code Reviewing Like a Champion
maltzj
520
39k
What's in a price? How to price your products and services
michaelherold
243
12k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Rails Girls Zürich Keynote
gr2m
94
13k
Transcript
AWS Signerでコード署名についてまとめてみた 佐藤 淳 JAWS-UG朝会 #49 https://jawsug-asa.connpass.com/event/282614/
自己紹介 名前: 佐藤 淳 ( Atsushi Sato ) 会社: アイレット株式会社
クラウドインテグレーション 所属 Qiita: https://qiita.com/atw0_0w 好きなAWSサービス: Systems Manager, Lambda, CDK (主に自動化やIaC周り) 2023 Japan AWS All Certifications Engineers
突然ですが コード署名 やってますか? 私はやったことなかったです。。
Q. コード署名(Code Signing)とは? - 署名後のコードの変更や改ざんなどがされていないことを保証するもの。 - ソフトウェアの品質を担保することができる。 Q. AWSでもコード署名のサービスを提供しているか? -
AWS Signer というマネージドサービスが提供されている。 - Lambda, ECR, IoTデバイスなどでコード署名可能。 - 署名ジョブと署名プロファイル を使用することができる。 コード署名とは? https://docs.aws.amazon.com/ja_jp/signer/latest/developerguide/whatis-services.html
AWS Signerの必要性 AWS Well-Architected Frameworkでもソフトウェアの整合性検証で必要なサービスとして記載 https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/security-pillar/sec_protect_compute_validate_software_integrity.html
・署名プロファイルとは? コード署名を実行する際、このプロファイルを用いること でコード署名をおこなうことができる。 署名プラットフォーム(Lambda、Notation)やコード署名 の有効期限を設定することができる。 AWS Signerの基本 https://docs.aws.amazon.com/ja_jp/signer/latest/developerguide/signing-profiles.html
AWS Signerの基本 ・署名ジョブとは? 未署名のコードに対して署名プロファイルを用いて、署名付きのコードを生成するためのジョブ。 S3バケットを明示的に指定し、署名されたコードをアップロードする。 https://docs.aws.amazon.com/ja_jp/signer/latest/developerguide/signing-jobs-lambda.html
Lambdaでコード署名を使うには? ・コード署名設定(CodeSigningConfiguration)を作成する。 Lambdaで使用する署名プロファイルを定義する。 署名検証ポリシーによってコード署名設定を有効にしたLambda関数上で、署名されていないコードをアップした際のアクション を指定可能。 Enforce … コード署名を強制する (未署名のコードはアップロードできない) Warn
… 強制はしないがCloudWatchに出力 CloudTrail ログにも出力 https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/configuration-codesigning.html
コード署名〜デプロイを Cloudformationで実装 Lambdaでコード署名実施してみました。
コード署名を含めた Package 〜 Deploy までの仕組み ①Packageコマンドにより未署名のコードをS3 バケットに格納。 ②署名ジョブを実行し、署名プロファイルと署名 前の圧縮ファイルを参照し、 署名されたコードをS3バケットに格納。
③DeployコマンドによりLambda関数を デプロイ。 署名後のコードをLambda関数に アップロード
CloudFormationを用いて署名済みのコードをアップロード 以下は私のブログの内容ですが、、、 CloudFormationでソースのアップロード〜コード署名〜デプロイまでを検証したものを記載して います。(良かったら↓見ていただければ、、🙏) https://qiita.com/atw0_0w/items/80e04e36d40abaacff50
コード署名ではAWS SAMを使う 右は実際に使用した Cfnテンプレート。 実践してみた結果、コード署名されたファイルを Lambaに デプロイするには AWS Serverless Application
Model(SAM) を利用した方が良いです。 SAM CLIコマンドでは、コード署名用のオプショ ン--signing-profiles がサポートされているため、コード署 名後のファイルをLambda関数にアップデートできる > cloudformation packageコマンドでは--signing-profilesのようなオプションがない ため、packageコマンド実行で、どうしても「 CodeUri」が未署名のコードを指定してし まう。。
実行コマンド SAM CLIコマンドにオプション --signing-profiles “「Cfn Resource 論理ID」=署名プロファイル” を指定し、packageすることで署名ジョブが実行され、署名済みのコードを生成される。 deployコマンドを実行してLambdaに署名済みのコードをデプロイする。
動作確認 以下のように表示されればコード署名は成功。
動作確認 試しに未署名のコードをアップロードしてみると、以下のように署名されてないと怒られる。
まとめ
・コード署名の目的はコードの正確性を担保するために必要。 ・AWS SignerによってLambdaをコード署名することができた。 ・AWS SAMを利用すればコードのアップロード →署名ジョブの実行→デプロイまでをワンストップで実施でき る。 ・サーバレス化でLambdaやコンテナ(ECR)を提案する際は、是非コード署名も一緒に提案してみてはいかがで しょう。。 まとめ
ご清聴ありがとうございました JAWS-UG朝会 #49 https://jawsug-asa.connpass.com/event/282614/