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
モブエンジニア
April 13, 2025
Technology
3
190
開発視点でAWS Signerを考えてみよう!! ~コード署名のその先へ~
2025.04.14に登壇したJAWS-UG朝会 #68で登壇した資料です。
connpass:
https://jawsug-asa.connpass.com/event/338579/
モブエンジニア
April 13, 2025
Tweet
Share
More Decks by モブエンジニア
See All by モブエンジニア
Education-JAWS #3 ~教育現場に、AWSのチカラを~
masakiokuda
0
120
アウトプット0のエンジニアが半年でアウトプットしまくった話 With JAWS-UG
masakiokuda
1
170
技術者としてのアクセシビリティ対策~Azureサービスから考える~
masakiokuda
0
38
より良い開発者体験を実現するために~開発初心者が感じた生成AIの可能性~
masakiokuda
1
240
SDNの可能性を考える ~Cisco Catalyst SD-WANをテーマに~
masakiokuda
1
110
AWS全冠芸人が見た世界 ~資格取得より大切なこと~
masakiokuda
7
6.5k
技術者はかっこいいものだ!!~キルラキルから学んだエンジニアの生き方~
masakiokuda
2
300
ゆるくVPC Latticeについてまとめてみたら、意外と奥深い件
masakiokuda
2
350
30代エンジニアが考える、エンジニア生存戦略~~セキュリティを添えて~~
masakiokuda
4
2.4k
Other Decks in Technology
See All in Technology
正式リリースされた Semantic Kernel の Agent Framework 全部紹介!
okazuki
1
1.2k
MCP でモノが動くとおもしろい/It is interesting when things move with MCP
bitkey
2
530
Kaigi Effect 2025 #rubykaigi2025_after
sue445
0
150
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2025年版)
infiniteloop_inc
13
40k
Sleep-time Compute: LLM推論コスト削減のための事前推論
sergicalsix
1
130
AOAI で AI アプリを開発する時にまず考えたいこと
mappie_kochi
1
710
非root化Androidスマホでも動く仮想マシンアプリを試してみた
arkw
0
130
問 1:以下のコンパイラを証明せよ(予告編) #kernelvm / Kernel VM Study Kansai 11th
ytaka23
3
550
Simplify! 10 ways to reduce complexity in software development
ufried
2
260
CARTA HOLDINGS エンジニア向け 採用ピッチ資料 / CARTA-GUIDE-for-Engineers
carta_engineering
0
27k
Docker Compose で手軽に手元環境を実現する / Simplifying Local Environments with Docker Compose #CinemaDeLT
nabeo
0
180
Why Platform Engineering? - マルチプロダクト・少人数 SRE の壁を越える挑戦 -
nulabinc
PRO
5
440
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Navigating Team Friction
lara
185
15k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Embracing the Ebb and Flow
colly
85
4.7k
Side Projects
sachag
453
42k
Making the Leap to Tech Lead
cromwellryan
133
9.3k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
Making Projects Easy
brettharned
116
6.2k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
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