ポリシーエンジン比較 — AVP / OpenFGA / OPA / SpiceDB / Cerbos をマルチプロダクトで使うとどうなるか
主要なポリシーエンジン5つを同じマルチプロダクトのユースケースで実装し、記述方法・モデル設計・運用特性を具体的に比較する。
認証・認可・課金の3サービスをどう繋ぐか — 統合パターンと設計方針
認証(auth)・認可(authz)・課金(billing)の3サービス間の通信パターンを整理。同期API・イベント駆動・共有データベースの判断基準、未実装の要件を含めた設計方針を体系的にまとめる。
Client Credentials でサービス間通信を認証する — マイクロサービス基盤での設計と実装
OAuth 2.0 の Client Credentials Grant をマイクロサービス間通信に適用する方法。トークンの中身、スコープ設計、キャッシュ戦略、OIDC Provider への組み込み方を実務レベルで整理。
エンタイトルメントと認可の境界 — billing がゲート、authz がリソースレベル判定
マルチプロダクト SaaS で「どのプロダクトが使えるか」と「リソースに対して何ができるか」を分離する設計。billing のエンタイトルメントと authz のポリシーの責任境界を整理する。
Hosted Login vs Embedded Login — 認証ページはどちらが提供すべきか
認証ページを認証基盤側でホストする(Hosted Login)か、各プロダクトに埋め込む(Embedded Login)か。セキュリティ、SSO、UX、運用コストの観点で比較する。
シリアルキー・リファラ・プロモコード — B2B SaaS のプラン付与経路を設計する
法人向けシリアルキー配布、パートナー経由のリファラ付与、プロモーションコードなど、SaaS のプラン付与経路を課金サービス(billing)で統一的に管理する設計を整理。
自社マルチプロダクトで OIDC を使う — 具体的なフローとトークンの中身
自社で複数プロダクトを運営する際に、独自 OIDC Provider を立てて SSO を実現する具体的な方法。Authorization Code Flow の各ステップ、トークンの中身、クライアント登録、セッション管理まで実務レベルで整理。
OAuth 2.0 / OIDC のフロー全比較 — どれを使うか判断フローチャート付き
Authorization Code、PKCE、Client Credentials、Device Authorization、Implicit、Resource Owner Password の6つのフローを比較。判断フローチャートと PKCE の仕組みをわかりやすく解説。
マルチプロダクト基盤のクライアント SDK 設計 — Go バックエンド + ブラウザ/React フロントエンド
認証・認可・課金の3サービス基盤をプロダクトが簡単に利用できるようにする SDK の設計。Go バックエンド SDK とブラウザ/React SDK の責任分担、API 設計、内部フロー、段階的リリース戦略を整理。
PR ごとのプレビュー環境を Lambda@Edge + Google OIDC で保護する
GitHub PR が作られたら自動でプレビュー環境を作成し、共有 CloudFront + Lambda@Edge + Google OIDC でアクセス制限をかける設計。CloudFront を PR ごとに作らずに実現する方法を整理。
マルチプロダクト基盤を3サービスで構成する — 認証・認可・課金の責任分離
マルチプロダクト向けの共通基盤を認証(rellf-auth)・認可(rellf-authz)・課金(rellf-billing)の3サービスで構成する設計。依存関係、データフロー、契約プランに応じた認可の実装パターンを整理。
匿名認証の実装パターンと法的考慮 — 「ゲスト→登録ユーザー」の昇格をどう設計するか
匿名認証の実装パターン3つ(Cookie+DB、独自匿名JWT、Cognito Identity Pool)を比較し、ライフサイクル設計と GDPR / 改正電気通信事業法の同意要件まで整理する。
認可は多層で設計する — XACML・ABAC・ReBAC と実装パターンの整理
認可を複数の粒度で設計するためのフレームワーク(XACML、NIST ABAC、Zanzibar/ReBAC)を整理し、JWT groups + AVP/Cedar の実装パターンとの対応関係をまとめる。
NIST AAL に対応する — OIDC の amr / acr / auth_time でログイン強度を表現する
NIST SP 800-63B の AAL を OIDC Provider でどう実装するか。amr / acr / auth_time クレームの使い方、ステップアップ認証、独自 OIDC Provider への組み込み方を整理。
既存の認証システムから Cognito に乗り換えるとき、SES はそのまま使えるのか
独自認証から Cognito に移行する際に、既存の SES ドメイン認証・本番モード・レピュテーションをそのまま引き継ぐときの考慮点を整理。
rellf-auth の設計で工夫したこと
独自 OIDC Provider を Go + Lambda で構築する中で行った設計上の工夫。Proxy IdP、ステートレス認可コード、ドメインモデルによるライフサイクル管理、メール任意化フローなど。
Cognito の確認メールをカスタマイズする — SES 連携・CustomMessage Lambda・alias_attributes の罠
Cognito のデフォルト確認メールを、SES による送信元カスタマイズと CustomMessage Lambda による HTML テンプレートで置き換えた記録。alias_attributes 環境での SignUp/ConfirmSignUp のハマりポイントも。
メールアドレス任意の OIDC フローを設計する
メールアドレスを持たないユーザー(外部ID認証やユーザー名のみのアカウント)に対応するため、OIDC の Authorization Code Flow の途中にメール登録促進画面を挟む設計と実装。
OpenID 2.0 のフェデレーションを Cognito + Go で実現する設計
OpenID 2.0 ベースの外部 IdP を AWS Cognito に統合するための設計と、Go ライブラリの選定調査。Cognito が OpenID 2.0 を非サポートなため、Proxy IdP パターンで吸収する。
AVP を RBAC 特化で使い、ABAC はアプリに任せる設計判断
Amazon Verified Permissions を RBAC 特化で運用し、リソースレベルの認可(ABAC)はアプリケーション側のビジネスロジックに委ねる設計判断に至った経緯と実装を解説します。
ユーザーライフサイクルを Go のドメインモデルで表現する
参照は interface、更新は状態ごとの struct という設計判断で、ユーザーのライフサイクル管理をコンパイル時に安全にモデリングした話。
Amazon Verified Permissions でマルチプロダクトの認可基盤を設計する
複数プロダクトにまたがる認可基盤を Amazon Verified Permissions (AVP) + Cedar で設計する。Namespace 分離、ポリシーテンプレート、管理委譲、Dry Run まで含めたフル構成の設計を解説します。
Hello World - ブログはじめました
rikuka.devのテックブログを開設しました。Astro v6とMDXを使って構築しています。
マルチアカウント × VPC Lattice でプロダクト間通信を設計する
5〜6 プロダクト × stg/prd のマルチアカウント環境で、VPC 間通信をどう設計するか。VPC Lattice を中心に、Transit Gateway との比較、通信制御、プロトコル制限、クォータまで含めた設計判断を整理します。
マルチプロダクト戦略における認証基盤 ― なぜOIDCを選ぶべきか
マルチプロダクト展開を見据えた認証基盤の設計戦略。OIDCを軸にした設計のメリットと、他の選択肢との比較を解説します。
AWS Cognito を裏側に隠した独自 OIDC Provider を Go で作った
Cognito をユーザーストアとして内部利用しつつ、外部には独自署名の JWT を返す OIDC Provider(Proxy IdP)を Go + Lambda で構築した話。設計判断とステートレスな実装の詳細を解説します。