Blog
10X Product Blog
Subscribe:.rss.atom.json.md
Live Last read · last published · next check
Latest posts

こんにちは、SREの @babarot です。 10Xでは GitHub Organization のリソースを Terraform で管理しています。メンバーの追加・削除、チーム構成、78リポジトリの設定(Repository Ruleset、アクセス権、GitHub Environments)など、可能な限りすべてコードで定義してPull Requestベースで変更・運用しています。 この仕組みで目指しているのは「SREだけが管理する」のではなく「誰でも安全に変更できるセルフサービス」です。メンバーの追加はtfvarsに1行足してPRを出すだけ、リポジトリの設定変更は各チームが自分でPRを出せる、新規リポジトリの作成はGitHub Actionsでリポジトリ名を入力するだけ、といったようなイメージです。ガバナンスとセルフサービスを両立する仕組みを、約2年かけて段階的に構築してきました。…

Google Cloud上のアプリケーションからGitHub APIにアクセスするとき、PATあるいはGitHub AppのInstallation Access Tokenが必要となります。しかしPATはユーザに紐付くため管理が厄介ですし、Appを作れば秘密鍵の管理について考えなければなりません。 この記事では、すでに運用している Octo STS とGoogle CloudのOIDC ID Tokenを組み合わせることで、新たなGitHub Appを作らずにGitHub APIへのアクセスを実現した事例を紹介します。10Xでは Octo STSを使ったToken運用の改善 で紹介したように、GitHub Actions上での社内の様々なユースケースでGitHub AppのInstallation Access Token(以下GitHub App Token)の発行にOcto…

GitHubのユーザーをTerraformで管理しているときの問題点 GitHubの組織メンバーやリポジトリのアクセス権限をTerraformで管理すると、誰がどのリポジトリにアクセスできるかがコードとして可視化され、変更にはPRとレビューが必要になります。手作業でポチポチ設定するよりも安全で、監査もしやすくなります。 10Xでもこの方針でGitHub管理用のTerraformモジュールを作り、GitHubリソースをコード管理しています。 module "repository" { source = "github-management-module" name = "repository-name" access = { users = [ { name = "alice" , permission = "push" } , { name = "bob" , permission =…

10Xでは、GitHub Actionsのセキュリティ改善を段階的に進めてきました。もともとPAT(Personal Access Token)を使っていたところをGitHub App Tokenに移行し、さらに Octo STSを使ったToken運用の改善 にも取り組んでいます。 そうした中で、まだGitHub Secretsに残っていたものがありました。Terraform用のGitHub Appの秘密鍵です。このAppに付与される権限が徐々に膨らんでいく中で、秘密鍵の保管方法がセキュリティ上無視できない課題になってきていました。この記事では、その課題と、秘密鍵をGitHub Secretsから追い出してGoogle Cloud KMSに閉じ込めるというアプローチについて書きます。 秘密鍵をGitHub Secretsに保存するということ GitHub…

はじめに お買い物AIの概要 どんな機能か なぜ作るか 設計 LLMの責務 アプリケーションへのLLMの組み込み LLMモデルの選定 UX オンボーディング フィードバック セキュリティ 個人情報保護とログ設計 プロンプトインジェクションへの対策 ハルシネーションへの対策 AI破産(EDoS攻撃)への対策 プロジェクトの進め方 1. PoC: LLMによる返答と商品名リスト生成の品質検証 2. 本番運用への落とし込み(仕様策定・設計・実装) 3. 社内ドッグフーディング:実機でしか分からない違和感を無くす 4. 評価の自動化: LLM-as-a-Judgeによる品質管理 LLM-as-a-Judgeの具体例 5. 段階的リリース おわりに 参考 はじめに こんにちは、10Xで検索推薦の機能・基盤の開発運用を担当している安達( id:kotaroooo0 )です。…

こんにちは、こんばんは、おやすみなさい。 id:sota1235 です。 私は組織図上、セキュリティチームに所属しています。 ですが次の記事でも言及しているとおりここ1年弱の間はCorpIT業務も担っています。 10x.co.jp 本日はCorpIT業務を引き継ぎ、改善していく過程で取り組んだ「業務で利用しているSaaSやWebサービスを把握」について紹介します。 課題 引き継いだタイミングの状況 何があるかわからない さまざまな課題 CorpIT観点 セキュリティ観点 管理方法の課題 どう課題に立ち向かうか どのように取り組んだか ToBeを考える サービス管理台帳的なものの存在は必須 管理台帳に相応しいのはSaaS管理SaaSでもスプレッドシートでもなさそう いったん、目指すところ: Notionでサービス管理台帳を作ろう まずは箱を作る プロパティセクションを使う…

10X Product Blog読者の皆さん、こんにちはこんばんは、セキュリティチームのyagihashです。 この記事は、 10X 新春ブログリレー 2026 の1月31日の記事です。 本日は掲題の通り、10Xで導入したOcto STSというGitHub App Tokenの管理のための仕組みについて、背景にあった課題や使用感などを交えて紹介します。 9月から寝かしていた記事を締め切り駆動で書き切ってしまおうと思い立ち、まだ白紙の状態だったので締め切りは先の方がいいな…と思っていたらトリを務めることになってしまいました。緊張して声がうまく出なくてどうしようと思いましたが、ブログなので関係ありませんでした。どうぞ最後までお楽しみください。 github.com Octo STSについて Octo STSは、OIDCのID Tokenを取得・提示できるGitHub…

こんにちは、こんばんは、おやすみなさい。 id:sota1235 です。 この記事は 10X 新春ブログリレー 2026 の29日目の記事です。 新春というにはもう2月が目前に迫っている気もしますが細かいことは気にせず、今回は私が所属するセキュリティチームの取り組みである輪読会について緩く紹介しようと思います。 セキュリティチーム輪読会とは なぜ輪読会をやるのか きっかけ 情報収集の時間軸 どうやってやってるのか 輪読会のネタ出し 細く長く無理なく、がテーマ ガンガン脱線してもいい輪読会 どれくらい続いてるのか 読んだコンテンツをいくつか紹介 GitHub Organizationの安全な運用とモニタリングに関するスライド(全44ページ)を無償公開しました クレジットカード・セキュリティガイドライン【4.0版】 基礎から学ぶコンテナセキュリティ その他 最後に セキュリティチーム輪読会とは…

10X SREの栗原です。 この記事は 10X 新春ブログリレー 2026 の1月28日分の記事です。 株式会社10Xでは、SREチームとセキュリティチームが合同で「技術改善キャンプ」を定期的に開催しています。 事業の優先度や日々の対応に押されがちな…でも大事なタスクへ、まとまった時間で取り組むためのイベントです。 本記事では、その取り組みの一例として、私が第6回(2026/1/26)で検討した「Terraformを管理するリポジトリのレビュー負荷をAIで減らせないか?」というテーマを紹介します。 なお、今回キャンプ内で実装(PoC作成)まで到達したわけではありません。 検討と設計(Design Docの作成)まで がスコープです。 技術改善キャンプとは 技術改善キャンプは、平たくいうと「普段は優先度の壁に阻まれがちな改善へ、全員で集中して取り組む日」です。 目的は大きく3つあります。…

この記事は、 10X 新春ブログリレー 2026 の記事です。 鈴木です。 2026年1月に開催されたCQRS+ES Conference 2026にて「ネットスーパー事業におけるCQRS+ES的アプローチの取り組み紹介」というタイトルで登壇しました。 cqrs-es-con.jp CQRS+ES conf 2026の当日は Stailerにある注文を中心とした業務影響がある課題の共有 共有した課題がCQRSとイベントソーシングにある要素でどう解決できるのか この2点にフォーカスして話をさせていただきました。 当日使った資料はこちらです。 speakerdeck.com また、1月中にイベントで話したことについて補足記事を1つ出しています。 product.10x.co.jp 引き続きイベント登壇に便乗して当日話きれなかった具体的な方法を紹介しようと思います。 非同期処理はムズカシイ…