基本から理解するJWTとJWT認証の仕組み
これは、豆蔵デベロッパーサイトアドベントカレンダー2022第8日目の記事です。 JSON Web Token(JWT)の単語を目にすることがよくあると思いますが、それと一緒に認証と認可や、RSAの署名や暗号化、そしてOpenIDConnectやOAuth2.0までと難しそうな用語とセットで説明されることも多いため、JWTって難しいなぁと思われがちです。しかし、JWT自体はシンプルで分かりやすいものです...
記事を読むEnvoy OAuth2 Filter を使ったログイン
庄司です。 いくつか Envoy Proxy の JWT Authentication や External Authorization を使った認証や認可の記事を書いてきました。 今回は OAuth2 Filter を使った例を説明します。 あらためて説明すると、Envoy Proxy は C++ で書かれた軽量かつ高速なプロキシです。 Envoy Proxy は構成を動的に変更でき、ゼロダウンタイムで反映できる特徴を持っています...
記事を読むNetlify Identityを使ってNetlify CMSのユーザー認証をする
以前に以下の記事でNetlify CMSを使ったコンテンツ管理をご紹介しました。 Netlify CMSのワークフローでコンテンツ管理をする この記事ではGitHubのOAuth認証を使用して、ユーザーがブログ投稿をできるようにしました。 当サイトにおいても、記事の投稿をNetlify CMSでも作成、公開できるようにしました。この記事自体もNetlify CMSを使って作成しています。 CMSを使うのはいいですが、これを操作して誰でも投稿できる状態は望ましくありません...
記事を読むOpenID Connect でパスワードレス認証を使う
庄司です。 「WebAuthn でパスワードの無い世界へ」に続く「Envoy Proxy による HTTPS Proxy」の記事でプライベートネット内にパスワードレス認証ができる環境構築の方法を説明しました。この記事では、OpenID Connect の Code Flow を使ってパスワードレス認証を説明します。 サービスの概要 # 題材は宇宙船の冬眠ポッド (hibernation pod) です...
記事を読むEnvoy Proxy による HTTPS Proxy
庄司です。 「WebAuthn でパスワードの無い世界へ」の記事では、AWS Fargate を使って Keycloak を起動してデモンストレーション環境を構築しました。 記事で説明した環境は、Keycloak のための AWS Fargate 以外に、ロードバランサ (ALB) など時間課金のリソースも含んでいました...
記事を読むWebAuthn でパスワードの無い世界へ
庄司です。 複数のサービスにアクセスするための異なるパスワードを記憶しておくことは困難で、結果としてパスワードを使いまわすといったセキュリティリスクの高い行動パターンをとりがちです。 最近のスマートフォンやPCでは指紋認証や顔認証のような生体情報を用いた認証が可能になっています。このようなデバイスを活用してより安全性の高い認証の仕様として、FIDO2 (WebAuthn) があります...
記事を読むADFSとCognito Userpoolsの連携
庄司です。 ブラウザなどの UI からアクセスするマイクロサービスでは JWT 認証 (OpenID Connect 等) を利用することが一般的です。AWS を利用している場合には、Amazon Cognito user pools (Cognito Userpools) で JWT の発行が可能です。 Cognito Userpools を利用する場合には、システムにアクセスするユーザーをこのサービスに登録する必要があります...
記事を読むEnvoy を使用して ID Token (OIDC) を検証する
庄司です。 Envoy proxy は API を使って動的に構成すると無停止で設定変更等を行うことができます。このような操作は 通常 Istio や AWS App Mesh のようなコントロールプレーンで行うことになります。 この一連の記事では Envoy proxy 単体の機能を説明するために静的な設定を用いて説明しています...
記事を読むEnvoy と Open Policy Agent を使用した認可
庄司です。 Envoy proxy は API を使って動的に構成すると無停止で設定変更等を行うことができます。このような操作は 通常 Istio や AWS App Mesh のようなコントロールプレーンで行うことになります。 この一連の記事では Envoy proxy 単体の機能を説明するために静的な設定を用いて説明しています。 認証についての記事で OpenID Connect の ID Token の検証について説明しています...
記事を読むDapr on Jetson Nano with k3s
庄司です。 マイクロサービスのように、多言語プログラミング (polyglot programming) が前提の環境では、認証認可やログのような横断的関心事 (cross-cutting concern) をアプリケーションのコードとして実装すると、各言語やフレームワークごとに移植が必要となり最新化への足かせとなります...
記事を読む