@ Kaigi on Rails 2021, 2021/10/22
マイクロサービスにおける認証と認可の、一般論としての設計パターンを調べたところ、Web 上の複数の記事で似たようなパターンが登場していた。ここでは、まず認証と認可が実現したい一般的な要件と、そのマイクロサービスでの難しさを整理し、認証と認可に分けて調査したパターンをまとめた。 あくまで “一般論” なので、実際には個々のドメインにあわせてアレンジが必要 往々にしてこの “アレンジ” に価値が宿るものだが、まずはセオリーを知っておきたいというモチベーションで調査した Web 上の記事を読んでまとめただけなので、手を動かしての確認はしておらず、理解が甘い部分はご容赦ください 具体的な通信方式やサービス間通信のセキュリティといった具体論までは踏み込めていない。このへんはサービスメッシュやゼロトラストネットワークといったトピックが登場すると思われる これらは次回以降の Todo としています その
こんばんは。ritouです。 Digital Identity技術勉強会 #iddance Advent Calendar 2020 1日めの記事です。 qiita.com 初日なのでゆるふわな話をしましょう。 何の話か もうだいぶ前ですね。9月のお話です。こんなTweetを見かけました。 社内Slackにいる「OAuth認証」と書くと訂正してくれるbotが丁寧な解説をするようになっていた 認証(Authentication)と認可(Authorization)は間違えやすいわりにミスると甚大な被害をもたらしがちなので、常日頃から意識を高めていきたいですね pic.twitter.com/oVQxBgZcHS— greenspa (@greenspa) 2020年9月28日 このbotに対する思うところはもう良いです。 今回は、「OAuthの仕様に沿ってID連携を実装するいわゆる"OAut
自分が複数のシステムの開発を経験して得た確信として、「認証と認可と課金とコアドメインの分離がめちゃくちゃ重要である」というものがあるので、コレを整理してアウトプットしていく 分離するモチベーションとは Microservice文脈でいうと、デプロイ独立性だったり、リソースの最適配分だったり、障害の局所化だったり、開発組織とのマッピングだったりがメリットとして語られることが多い。 だが、ここで取り上げたいのは戦術的DDD的観点でのコンテキスト分離の有用性である。 ※ちなみにコンテキスト分離のみであればモジュラモノリスだけで実現可能。 戦術的DDD的観点での関心事の分離によるメリットとは コンテキストが分離されていることによって、境界をまたぐ際に「このI/Fは正しいのか?」を都度考えることを強制することができる。 境界がなければ意図しない密結合を生みやすくなってしまう。 もちろん、境界を超える
[2021/06/10追記] 2021年5月31日よりガソリンスタンドで利用いただけるようになりました。詳細は次の記事をご覧ください。 blog.kyash.co Kyashサーバーエンジニアの井上です。 Kyash Visaカードは、実は一部店舗でご利用いただけません。 その理由をカード決済の仕組みと合わせてご説明します。 ちなみにサポートページで利用できない店舗を載せているので、こちらもご覧ください。 カード決済の流れ カード決済の仕組みが大きく関係しているので、まずクレジットカードとプリペイドカードの決済の流れについて説明します。 クレジットカード決済 クレジットカード決済には、主に オーソリゼーション(仮売上)※ と 売上(実売上) という処理があります。※以下オーソリ オーソリ(仮売上) はクレジットカードの利用限度額の確保を行う処理のことで、決済実行時に処理されます。 売上(実
シンプルに言うと LenovoショッピングでKyashを使ってノートPC(約15万)を買った 商品が出荷されるまで毎月2回請求(計30万)引き落とされる 多重決済分は返金ではなくKyashポイント充足(60日後に行われる見込み) 納期未定のため、放置すると毎月30万クレジットカードからKyashにチャージするところだった 追記(2020/09/01 18:47) 大きな反響があり驚いています。いくつか漏れていた点があるので追記します。 Lenovoショッピングはプリペイドカードを使うなと言っている 私はコレを完全に見落としていました。というのも当時はKyashがプリペイドカードであるという認識がなかったためです(じゃあ何なんだと言われても、雰囲気で使っていたわけですね) Lenovoに注文した当時は今みたいな納期未定ではなく出荷の見通しが立っていた そういう意味でも不幸な事故という表現をし
この記事を見かけたので。 naoki440.info TL;DR ・オーソリゼーション(仮売上処理、「オーソリ」)の有効期限は最大60日間と定められている為、60日を超過するとオーソリゼーションが無効になり、売上が非成立となる。 ・予約商品では60日以内に再度オーソリを行うことで、実質的に決済の有効期限を延長している。 ・Lenovoが一回目のオーソリ返金完了前に再度オーソリを行ったのは正常な挙動。 ・クレジットカードの場合、オーソリではなく売上確定処理後に請求を行う為、この問題は発生しない。 ・Kyash側で2重に引き落としされた&チャージ元クレジットカードへ返金ができないのは正常な挙動。 ・クレジットカードのシステムにプリペイドを突っ込むとこの挙動になってしまう。つまり仕様と言える(各種プリカ発行会社もユーザーに告知している)。 一般的なカード決済の流れについて オーソリゼーション(仮
日々権限設計で頭を抱えてます。この苦悩が終わることは無いと思ってますが、新しい課題にぶつかっていくうちに最初のころの課題を忘れていきそうなので、現時点での自分の中でぐちゃぐちゃになっている情報をまとめようと思い、記事にしました。 所々で「メリット」「デメリット」に関連する情報がありますが、そのときそのときには色々と感じることがあっても、いざ記事にまとめるときに思い出せないものが多々ありました。フィードバックや自分の経験を思い出しながら随時更新する予定です。 TL;DR(長すぎて読みたくない) 想定する読者や前提知識 この記事での権限とは 権限の種類 ACL(Access Control List) RBAC(Role-Based Access Control) ABAC(Attribute-Based Access Control) どの権限モデルを採用するべきか 権限を適用する場面 機能
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く