AWS Summit Tokyo 2024 1日目に参加してきました!
はじめに
Hello everyone! ワンキャリアでSREをしている渡邉(X: @PwatanabeMiki)です!
現在私はONE CAREER CLOUDの採用管理ツール(ATS)開発チームのSREを主に担当しています。6月20〜21日に開催されたAWS Summit Tokyo 2024の1日目(20日)に参加したので学びや感想についてまとめました。
会場の様子
日本で開催されるAWS Summitに参加するのは初めてでしたが、去年AWS Summit Toronto 2023に参加した時と雰囲気が非常に似ていました。1日目のお昼頃に会場に到着しましたが、すでに賑やかでお祭り感がありましたね。
印象に残ったセッション
今回は短時間の参加でしたが、以下3つのセッションを視聴してきました。
失敗しない! Datadog から見る AWS アーキテクチャの勘所
国内初事例!明治が実行した AWS Mainframe Modernization で年間コスト 80% 削減
安全とスピードを両立するために ~ DevSecOps とプラットフォーム エンジニアリング ~
その中でも特に印象に残ったのが「安全とスピードを両立するために〜 DevSecOps とプラットフォーム エンジニアリング〜」でした。
このセッションでは、迅速な開発とセキュリティの両立について発表が行われていました。各開発段階でどんなセキュリティ施策ができるかの紹介や、Platform EngineeringでDevSecOpsを効果的にスケールするための組織構成の考え方などが取り上げられており、非常に勉強になりました。
サマリ
DevSecOpsで大事なこと
shiftLeftを取り入れる
開発サイクルの早い段階(設計)からセキュリティを強化する考え方で、ユーザーにサービスを届けるまでにセキュリティリスクを低減できる
早い開発段階からセキュリティ対策をするとなるとエンジニアの工数が増えるため、セキュリティテストなどできることは全て自動化する
各開発段階で取り入れられるセキュリティ施策の紹介
ローカルで開発する段階でできるセキュリティ対応
pre-commit フックを入れる
アクセスキーやトークンなど、センシティブな情報を間違えてコミット履歴に残さないようにできる
ビルド段階でできるセキュリティ対応
動的アプリケーションセキュリティテスト(DAST)
アプリケーションの脆弱性を検知できる
静的アプリケーションセキュリティテスト(SAST)
ソースコードの脆弱性を検知できる
ソフトウェア構成解析(SCA)
OSSやコンテナを使う時のライセンス違反や脆弱性を検知してくれる
CI/CDパイプラインのセキュリティ (ソフトウェアサプライチェーンのセキュリティ)対応
SLSA (supply chain levels for Software Artifacts)を使ってソフトウェアサプライチェーンを評価する
ソフトウェアサプライチェーンとは?
ソフトウェア開発のライフサイクルに関わる全ての要素
コード、設定ファイル、ビルド実行環境、開発者などの要素がある
どうやってDevSecOpsを浸透させるか
Platform EngineeringでDevSecOpsをスケーリングさせるには
開発チームとのコラボレーションが一番大事で、いかに開発チームとPlatform EngineeringチームやEnablementチームが円滑に連携できる体制・運用を作るかが重要
本セッションは、DevSecOpsをやる上で知らなかったセキュリティ施策があったので非常に勉強になりました。特に各開発ステップのセキュリティ対策に加えてソフトウェアサプライチェーンのセキュリティも考慮しなければいけないことや、その施策としてSLSAがあるということも知ることができ、学びになりました。組織体制やチーム間のコミュニケーションの理解については「チームトポロジー」という書籍がセッションでもおすすめされていたので、読むことにしました。(まだ読まれていない方はぜひ読んでみてください!)
pre-commit hookを入れてみたよ
先ほど紹介したセッションの最後にpre-commit hookの導入を勧められたので実際に入れてみました!
今回試したのはgitleaksというもので、アクセスキーやトークンがハードコードされていないかをコミット前に検知してくれるpre-commit hookです。これを利用することで、機密情報をコミットの履歴に間違えて残して漏洩してしまうというリスクを低減できます。
入れ方は基本的にgitleaksのREADMEに書かれている手順に従えば簡単に設定できます。
1.pre-commitとgitleaksのインストール
``` brew install pre-commit ```
``` brew install gitleaks ```
2.gitleaksを使いたいリポジトリにセットアップする
git-secretsを入れたいリポジトリのルートディレクトリへ移動する
pre-commit-config.yamlを作成する(すでにある場合はスキップ)
以下コードを.pre-commit-config.yamlに追加する
```
repos:
- repo: https://github.com/gitleaks/gitleaks
rev: v8.16.1
hooks:
- id: gitleaks
```
3.``` pre-commit install ```でgitleaksを動かせるようにする
4.pre-commit-hook.yamlをaddしてコミットしてみると…
コミットメッセージを書くまえにgitleaksが起動して、機密データがコミットに含まれていないか確認してくれるようになりました!これで間違えてシークレットキーやトークンを直書きされた変更をコミットしないようにできますね。
公式では、他にも様々なpre-commit hookがあるので気になったものがあればぜひ入れてみてください。セキュリティ関連以外でもフォーマットをチェックしてくれたりします。
ただ、pre-commit hookによっては開発者が毎回コミットする時に待たされるので、何を入れるかやどんな条件でトリガーさせるかを意識して入れた方が良いと思います。
おわりに
今回は1日目に少しだけAWS Summitに参加しましたが、学びが多くお祭り感があって非常に充実した一日でした。
DevSecOpsやplatform engineeringなどsummitで学んだことを活かしつつ、もっとエンジニアリングを勉強しようと思います!
次回のAWS Summitが楽しみです。
Thank you for reading!
▼ワンキャリアのエンジニア組織のことを知りたい方はまずこちら
▼カジュアル面談を希望の方はこちら
▼エンジニア求人票
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?