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
モブエンジニア(Masaki Okuda)
April 13, 2025
Technology
3
320
開発視点で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)
相互コミュニケーションの難しさ
masakiokuda
0
280
登壇したい人集合!!登壇相談室
masakiokuda
2
62
~キャラ付け考えていますか?~ AI時代だからこそ技術者に求められるセルフブランディングのすゝめ
masakiokuda
7
510
社外コミュニティの歩き方
masakiokuda
2
210
ゆるふわエンジニアでもAIフローにチャレンジしたい!!~Zapierのすゝめ~
masakiokuda
2
150
Cloud WANの基礎から応用~少しだけDeep Dive~
masakiokuda
4
180
越境を通じて技術とは異なる世界を見てみよう
masakiokuda
0
120
人事組織で経験したチーム崩壊 ~崩壊から得た教訓~
masakiokuda
3
1.2k
(供養枠)Microsoftが考える責任あるAI~開発者として実現するために~
masakiokuda
2
120
Other Decks in Technology
See All in Technology
AI時代におけるデータの重要性 ~データマネジメントの第一歩~
ryoichi_ota
0
720
SOTA競争から人間を超える画像認識へ
shinya7y
0
550
ViteとTypeScriptのProject Referencesで 大規模モノレポのUIカタログのリリースサイクルを高速化する
shuta13
3
200
AIとともに歩んでいくデザイナーの役割の変化
lycorptech_jp
PRO
0
880
Building a cloud native business on open source
lizrice
0
180
NLPコロキウム20251022_超効率化への挑戦: LLM 1bit量子化のロードマップ
yumaichikawa
3
490
AI時代の開発を加速する組織づくり - ブログでは書けなかったリアル
hiro8ma
1
320
ラスベガスの歩き方 2025年版(re:Invent 事前勉強会)
junjikoide
0
170
プレイドのユニークな技術とインターンのリアル
plaidtech
PRO
1
370
入院医療費算定業務をAIで支援する:包括医療費支払い制度とDPCコーディング (公開版)
hagino3000
0
110
webpack依存からの脱却!快適フロントエンド開発をViteで実現する #vuefes
bengo4com
4
3.4k
コンパウンド組織のCRE #cre_meetup
layerx
PRO
1
270
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
Into the Great Unknown - MozCon
thekraken
40
2.1k
YesSQL, Process and Tooling at Scale
rocio
173
15k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
369
20k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
640
Typedesign – Prime Four
hannesfritz
42
2.8k
Speed Design
sergeychernyshev
32
1.2k
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