Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
開発視点でAWS Signerを考えてみよう!! ~コード署名のその先へ~
Search
モブエンジニア(Masaki Okuda)
April 13, 2025
Technology
3
360
開発視点でAWS Signerを考えてみよう!! ~コード署名のその先へ~
2025.04.14に登壇したJAWS-UG朝会 #68で登壇した資料です。
connpass:
https://jawsug-asa.connpass.com/event/338579/
モブエンジニア(Masaki Okuda)
April 13, 2025
Tweet
Share
More Decks by モブエンジニア(Masaki Okuda)
See All by モブエンジニア(Masaki Okuda)
~モブ、まだいけるよな?~2025年をふりかえってみて_20251126
masakiokuda
0
150
技術者としてのキャリア設計〜会社とのより良い関係づくり〜
masakiokuda
1
96
相互コミュニケーションの難しさ
masakiokuda
0
320
登壇したい人集合!!登壇相談室
masakiokuda
2
74
~キャラ付け考えていますか?~ AI時代だからこそ技術者に求められるセルフブランディングのすゝめ
masakiokuda
7
540
社外コミュニティの歩き方
masakiokuda
2
240
ゆるふわエンジニアでもAIフローにチャレンジしたい!!~Zapierのすゝめ~
masakiokuda
2
170
Cloud WANの基礎から応用~少しだけDeep Dive~
masakiokuda
4
210
越境を通じて技術とは異なる世界を見てみよう
masakiokuda
0
150
Other Decks in Technology
See All in Technology
プロンプトやエージェントを自動的に作る方法
shibuiwilliam
13
12k
AI時代の新規LLMプロダクト開発: Findy Insightsを3ヶ月で立ち上げた舞台裏と振り返り
dakuon
0
220
Kiro を用いたペアプロのススメ
taikis
1
250
AI 駆動開発勉強会 フロントエンド支部 #1 w/あずもば
1ftseabass
PRO
0
400
品質のための共通認識
kakehashi
PRO
4
370
5分で知るMicrosoft Ignite
taiponrock
PRO
0
400
ハッカソンから社内プロダクトへ AIエージェント「ko☆shi」開発で学んだ4つの重要要素
sonoda_mj
4
240
たまに起きる外部サービスの障害に備えたり備えなかったりする話
egmc
0
270
MariaDB Connector/C のcaching_sha2_passwordプラグインの仕様について
boro1234
0
840
大企業でもできる!ボトムアップで拡大させるプラットフォームの作り方
findy_eventslides
1
840
AWS re:Invent 2025で見たGrafana最新機能の紹介
hamadakoji
0
420
RAG/Agent開発のアップデートまとめ
taka0709
0
190
Featured
See All Featured
Visualization
eitanlees
150
16k
Six Lessons from altMBA
skipperchong
29
4.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
It's Worth the Effort
3n
187
29k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
220
HDC tutorial
michielstock
0
260
A Modern Web Designer's Workflow
chriscoyier
698
190k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
57
37k
Chasing Engaging Ingredients in Design
codingconduct
0
71
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Transcript
開発視点でAWS Signerを 考えてみよう!! ~コード署名のその先へ~ 2025.04.14(月) JAWS-UG 朝会 モブエンジニア(@mob_engineer) JAWS-UG朝会 #68
LTのねらい・対象者 • LTのねらい • コード署名の重要性について「ざっくり」理解してもらう • AWS Signerを通じて実現できることを「ざっくり」理解してもらう • 開発視点でコード署名の「うれしい」ポイントをざっくり理解してもらう
• 対象者 • コード署名についてこれからキャッチアップしていこうと思っている方 • AWS Signerについてこれからキャッチアップしていこうと思っている方 • 開発視点でコード署名のうれしいポイントを知りたいと思っている方 2 JAWS-UG朝会 #68
お話しすること・しないこと • お話しすること • コード署名に関する概要 • AWS Signerの概要・Lambdaでの検証 • 開発視点でのうれしいポイント
• お話ししないこと • コード署名で用いられている暗号化技術 • ECSでの検証、実務での活用事例 • その他関連すること 3
自己紹介 • ペンネーム:モブエンジニア • 所属企業:ソフトハウス企業 • ロール:開発よりインフラエンジニア • AWS歴:1年半(現在は個人で触っている) •
好きなサービス:Amazon Workspaces • JAWS-UG 彩の国埼玉支部 運営 • 保有資格: 4 JAWS-UG朝会 #68 プレーリーカード
お品書き • 今回登壇したモチベーション • コード署名とは何か • AWS Signerについて • AWS
Signerを試してみた • 開発者視点でAWS Signerを考えてみよう 5 JAWS-UG朝会 #68
今回登壇したモチベーション 6 JAWS-UG朝会 #68
AWSを用いた開発を行うなかで・・・ •Lambdaなどでコードを執筆する中で、「このコー ドって安全なのだろうか?」といった疑問を持ちはじ めました。 7 JAWS-UG朝会 #68
安全性を考えてみた • クライアント側・サーバ側については秘密鍵などで暗号化 されているから安全そうだ。 • サービス間通信に関してもVPCを通じて保護されている から安全だろう。 • ビジネスの根幹である「ソースコードは改ざんされないよう な仕組みはあるのか?」が気になりました。
8 JAWS-UG朝会 #68
探す中で見つけた一つの解 • ソースコードの改ざん防止として「AWS Signer」という サービスを見つけたました。 • そのうえで、「このサービスは開発視点で大きなインパクト があるかもしれない」と思い、セッションでお話ししようと思 いました。 9
JAWS-UG朝会 #68
コード署名とは何か 10 JAWS-UG朝会 #68
コード署名(コードサイニング証明書)とは •コードサイニング証明書は、ソフトウェアにデジタル署 名を行う電子署名用の証明書です。 •ソフトウェアの配布元を認証し、「なりすましや内容 の改ざんなどがされていないこと」を保証し、ユーザの 手元に責任をもってソフトウェアを届けることができま す。 https://jp.globalsign.com/codesigning/knowledge/ 11 JAWS-UG朝会
#68
コード署名 イメージ 12 JAWS-UG朝会 #68 https://www.digicert.com/jp/faq/code-signing-trust/what-is-code-signing
(例)配送倉庫から自宅まで荷物を配送する 配送工場 自宅 13 JAWS-UG朝会 #68
(例)配送倉庫から自宅まで荷物を配送する 配送工場 自宅 14 JAWS-UG朝会 #68
悪意のある第三者(泥棒)にすり替えられたら 配送工場 自宅 15 JAWS-UG朝会 #68
悪意のある第三者(泥棒)にすり替えられたら 配送工場 自宅 16 JAWS-UG朝会 #68
悪意のある第三者(泥棒)にすり替えられたら 配送工場 自宅 17 JAWS-UG朝会 #68
盾となるような存在(改ざん検知)できれば 配送工場 自宅 18 JAWS-UG朝会 #68
盾となるような存在(改ざん検知)できれば 配送工場 自宅 19 JAWS-UG朝会 #68
コード署名のメリット • 大きく3つあると考えられます。 •なりすまし防止 •改ざんソフトウェアの被害防止 •正規の配布元の証明 20 JAWS-UG朝会 #68
コード署名をざっくり言うと・・ •ソースコードを守るゴールキーパー のような存在 21 JAWS-UG朝会 #68
AWS Signerについて 22 JAWS-UG朝会 #68
AWS Signer(サイナー)とは • 開発者ガイドには次のように示されていました。 https://docs.aws.amazon.com/signer/latest/developerguide/Welcome.html 23 JAWS-UG朝会 #68
利用可能なリージョン • 米国 (バージニア北部) • 米国 (オハイオ) • 米国 (北カリフォルニア)
• 米国 (オレゴン) • アフリカ (ケープタウン) • アジアパシフィック (香港) • アジアパシフィック (ムンバイ) • アジアパシフィック (ソウル) • アジアパシフィック (シンガポール) • アジアパシフィック (シドニー) • アジアパシフィック (東京) • カナダ (中部) • 欧州 (フランクフルト) • 欧州 (アイルランド) • 欧州 (ロンドン) • 欧州 (ミラノ) • 欧州 (パリ) • 欧州 (ストックホルム) • 中東 (バーレーン) • 南米 (サンパウロ) 24 JAWS-UG朝会 #68
AWS Signerを利用できるサービス 25 JAWS-UG朝会 #68
ちなみに、利用料金は • Signer自体に利用料金はかかりません!! JAWS-UG朝会 #68
(余談)AWS Signerのアップデート情報 JAWS-UG朝会 #68
AWS Signerを試してみた JAWS-UG朝会 #68
とりあえずAWS Signerを触ってみた •多くの方が触るLambdaでAWS Signerの挙動 について確認しました。 https://aws.amazon.com/jp/blogs/aws/new-code-signing-a-trust-and-integrity-control-for-aws-lambda/ 29 JAWS-UG朝会 #68
構成イメージ •構成イメージとして次のようなイメージです。 30 JAWS-UG朝会 #68
AWS Signer署名 事前準備 •バージョニング設定されたS3でないと機能しないと 示されています。 31 JAWS-UG朝会 #68
AWS Signer署名 事前準備 •バージョニング設定を有効にしたS3を作成しました。 32 JAWS-UG朝会 #68
AWS Signer署名 署名設定 •AWS Signerサービス画面へ署名設定ができます。 33 JAWS-UG朝会 #68
AWS Signer署名 署名設定 •プラットフォーム、名前、期間とタグを選択するシンプ ルな設定で実装できます。 34 JAWS-UG朝会 #68
AWS Signer署名 Lambda設定 •作成した関数ごとにコード署名の設定が必要です。 (少しめんどくさい) 35 JAWS-UG朝会 #68
AWS Signer署名 Lambda設定 •作成したLambda関数をS3バケットにアップロード しておきましょう。 36 JAWS-UG朝会 #68
AWS Signer署名 ジョブ設定 •AWS Signer>ジョブ設定からジョブ署名設定を 行っておきましょう。 37 JAWS-UG朝会 #68
AWS Signer署名 設定確認 •送信先S3に署名済みLambda関数が入っていま した。 38 JAWS-UG朝会 #68
AWS Signer署名 設定確認 •AWS Signer側でも署名されていることが確認で きました。 39 JAWS-UG朝会 #68
開発視点でAWS Signerを 考えてみよう 40 JAWS-UG朝会 #68
開発視点でよいところ •コード改ざんに対して対策を講じることができる •無料で利用できるため、サードパーティのサービスを 利用する必要がない •ジョブ単位で管理できるため、コード署名を Lambdaごとに管理できる 41 JAWS-UG朝会 #68
留意しなくてはいけないところ •リージョンをまたいだコード署名は行えない(≒リー ジョン単位で設定が必要) •手数がそこそこ多いため、CDKなどを用いて運用自 動化する必要がある •マネージドサービスのため署名方法を自分で選択で きない(≒オリジナル署名ができない) •GitHubなどからコード署名ができない? 42 JAWS-UG朝会
#68
まとめ •コード署名を行うことで「コード改ざん」などのリスクに 対処することができる •AWS Signerを利用すればLambdaで設定して いるコードを保護することができる •手動対応だと手数が多いため、CDK・Step Functionなどのツールを利用する必要がある •多くのプロダクトで利用できる可能性が・・・ 43
JAWS-UG朝会 #68
参考サイト • https://speakerdeck.com/atsuw0/aws- signertekotoshu-ming-nituitematometemita • https://speakerdeck.com/ozawa/ecs-x-aws- signer-woshi-tutaimesishu-ming-wakuhurowoshi- sitemita • https://qiita.com/atw0_0w/items/80e04e36d40a
baacff50 • https://dev.classmethod.jp/articles/lambda- support-verify-code-sign/ 44 JAWS-UG朝会 #68
宣伝させてください!!! • 2025/04/17(木)19:00にJAWS-UG 彩の国 埼玉支部キックオフが開催します!! 45 JAWS-UG朝会 #68
宣伝させてください!!! • 彩の国埼玉支部 Xアカウントも運用しているのでフォ ローをお願いいたします!! 46 JAWS-UG朝会 #68
47 JAWS-UG朝会 #68