書籍「Keycloak入門」のご紹介とOpenStandiaエンジニアの25日間の振り返り

今年もあっという間の25日間でした。
本日は皆様にクリスマスプレゼント的なお知らせを1つ、
そして、最後に、今年のAdvent Calendarの振り返りをさせていただきたいと思います。

# 書籍「Keycloak入門」発売決定！

各所でTwitterなどで既にアナウンスされていますが、この度、日立製作所さんとNRI OpenStandiaメンバ共著でKeycloakの解説本を出版させていただくことになりました。

https://www.amazon.co.jp/dp/4865943226

<img width="500" alt="Keycloak書籍.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208260/6bf9222b-1907-f299-dd89-91b6dadfaedb.jpeg">

目次は下記の通りとなっております。

■入門編■ 基礎知識を習得しよう
　第1章 Keycloakを理解するための第一歩
　第2章 OAuthとOIDCの基礎知識
　第3章 SSOの基礎知識
　第4章 Keycloakの基礎を理解する
■実践編■ 実際の3つのユースケースを題材に基本的な使い方・設定方法をマスターしよう
　第5章 OAuthに従ったAPI認可の実現
　第6章 SSOを実現する
　第7章 さまざまな認証方式を用いる
■応用編■ 実システム利用を見据えた使い方を知ろう
　第8章 Keycloakのカスタマイズ
　第9章 Keycloakの非機能面の考慮ポイント

Keycloakの書籍はおそらく国内初となります。認証・認可の概念の説明からKeycloakの基礎、Keycloakの実践から応用まで、400ページを超えるボリュームの書籍となります。来年の1月21日に発売予定となっておりますので皆さま楽しみにしてください！

# 25日間の記事を振り返って

初日にお伝えしたとおり、今年は特にテーマは決めずOpenStandiaのメンバが興味のある技術について25日間書いてきました。簡単に25日間の記事を振り返ってみます。

| **投稿日** | **URL** | **振り返り** |
|---|---|---|
| 1日目 | https://qiita.com/daian183/items/4dfa47e2a061438350bd | 初日は私 @daian183 がmidPointについて記載しました。今年はIGAというキーワードが広く世に広がった年だったと感じています。EvolveumがIGAをどう捉えているか、midPointにどう実装されているのかをしるきっかけになったらいいなという思いで書きました。 |
| 2日目 | https://qiita.com/wadahiro/items/79eaed9390391b0f40cc | 2日目は @wadahiro がGitHubで公開しているaws-cli-oidcの便利な使い方について紹介してくれました。アクセスキーの発行・管理は思わぬ事故を引き起こしますのでこういったツールを活用して便利に安全に開発をしていきたいですね。 |
| 3日目 | https://qiita.com/tksst/items/abd2eec3fc4d68a9c329 | 3日目は @tksst がApacheをコンテナ化する際のコツについて紹介してくれました。実は彼は日本有数のApacheコミッタであり、今後もApacheやその他HTTPサーバの奥深い記事を書いてくれると思います。 |
| 4日目 | https://qiita.com/n1330/items/f5ede320e9b5963bccd1 | 4日目は @n1330 がHomebridgeというサーバアプリを用いたおうちハックネタを紹介してくれました。簡単な開発と設定でおうちの身近なものを便利に使えるのは楽しいですね。さらに続編に期待したいです。 |
| 5日目 | https://qiita.com/yoshimi0227/items/84d809890c73727d734a | 5日目は @yoshimi0227 がOpen Policy Agent(OPA)についてユースケースを中心に解説してくれました。OPAのユースケースは今後も広がっていくと思いますし個人的にウォッチしたいプロダクトの1つです。 |
| 6日目 | https://qiita.com/rawr/items/e356f765122637df3dea | 6日目は @rawr が楕円曲線暗号の鍵をJavaで読み込む記事について解説してくれました。RSAの記事はあるようですが楕円曲線を扱う必要がある方はぜひ参考にしてみてください。 |
| 7日目 | https://qiita.com/okuura/items/27ad2f3bed12184994cf | 7日目は @okuura がSigNozというメトリクス取得＆可視化ツールについて紹介してくれました。PrometeusとGrafanaより簡単に導入できるようなので興味ある方は試してみてください。 |
| 8日目 | https://qiita.com/t_katsumura/items/ff379aaaba6931aad1c4 | 8日目は @t_katsumura がWebAssemblyについて紹介してくれました。ブラウザ上で高負荷な処理を実行する際には活用できる場面が多そうです。WebAssemblyって何なのという読者に向けて基礎からユースケースまで紹介してくれているので是非読んでみてください。 |
| 9日目 | https://qiita.com/t_katsumura/items/68b0c612a621ca48102c | 9日目も8日目に引き続き @t_katsumura がKrustletについて語ってくれました。まだまだ新しい技術ですが、2021年7月にCNCFのSandboxプロジェクトに加わったこともあり今後注目の技術のようです。コンテナやマイクロサービスアーキテクチャが主流となる昨今ウォッチしておく必要がありそうです。 |
| 10日目 | https://qiita.com/wadahiro/items/ae7f8ccc8cfb4ac4e0fd | 10日目は @wadahiro がmidPointの最新状況について情報をまとめてくれました。久々のLTSリリースとなるv4.4が2021年11月末にリリースされました。機能追加も多くあるので最新機能を使ってみたい人にも要チェックです。 |
| 11日目 | https://qiita.com/tamura__246/items/18e685b70ab0738eed01 | 11日目は @tamura__246 がTransmogrifAIというSalesforceが公開しているOSSの機械学習ライブラリーについて解説してくれました。使い始めの学習コストは高いようですが、Spark/Hadoopとの連携のしやすさなどの利点も多いようなので気になる人はチェックしてみてください。 |
| 12日目 | https://qiita.com/k5-saito/items/623b3529b55f8675ce4c | 12日目は @k5-saito がTektonというOSSのCI/CDツールについて紹介してくれました。Kubertenes上で展開するプロダクトであり場所を選ばないところがメリットのようです。SaaS前提のCI/CDがある中、こういったOSSがどう有効活用できるか今後も引き続きウォッチしていきたい技術です。 |
| 13日目 | https://qiita.com/yasomaru/items/fa708a1f21a79e637868 | 13日目は @yasomaru がLocalStackについて紹介してくれました。AWSアカウントの登録なしにテストや動作確認ができるツールのようです。LocalStackを触ったことのない方は細かくコマンドの解説もしているので参考にしてみてください。 |
| 14日目 | https://qiita.com/caunu-s/items/4fa0e0465ea83fcc06e4 | 14日目は @caunu-s がDockerとPodman/Skopeo/Buildahは何が違うのかについて解説をしてくれました。コンテナ技術の成り立ちや技術変遷を知るのは2020年代の基盤系エンジニアにとって必須事項かと思います。そのあたりの技術習得のきかっけに本記事ぜひご活用ください。 |
| 15日目 | https://qiita.com/t_katsumura/items/462e2ae6321a9b5e473e | 15日目は @t_katsumura によるdistrolessコンテナの解説記事です。無駄を削ぎ落とすことにより得られるメリット・デメリットについて各ベンダ・ディストリビューションの見解も交えながら解説しています。「distrolessはdistrolessではない」なんてセクションもあるので要チェックです。 |
| 16日目 | https://qiita.com/tama1/items/4b038a331e67390b94d1 | 16日目は @tama1 によるWildFlyの解説記事です。直近のWildFlyのアップデートなどきれいにまとまっているので是非参考にしてみてください。直近のWildFlyのインストール方法も丁寧に解説しています。 |
| 17日目 | https://qiita.com/yasomaru/items/b665836e7cb054bc526a | 17日目は @yasomaru による、React hooksとaxiosを使ったアプリケーション実装の解説です。React 16.8で追加されたReact hooksで可読性の高いコーディングができるようになったようです。フロントエンドの開発技術は日進月歩のスピードが早く追いつくのが大変ですが頑張ってウォッチしていきたいです。 |
| 18日目 | https://qiita.com/caunu-s/items/4b14029995ef55d65438 | 18日目は @caunu-s が、Hoverflyという「HTTP(S)トラフィックのキャプチャと高自由度の制御を提供するOSSのAPIシミュレーションツール」を紹介してくれました。開発、テスト、デバッグなど様々な場面での応用範囲が広そうなので注目したいです。 |
| 19日目 | https://qiita.com/caunu-s/items/f5d3ded321a6f98706e0 | 19日目は @caunu-s が、18日目に引き続き、Hoverflyについて、実際のユースケースベースで使い方の解説をしてくれました。本記事の構成は現場でもよくありそうなのでいろいろ活用できそうです。会社で使う場合はハマりがちなプロキシ配下での設定のTips、Windowsで利用する場合のTipsも書いてくれているのでぜひ参考にしてみください。 |
| 20日目 | （執筆中） | 20日目は @watsuwo がKeycloakの使い方の1つを紹介してくれる予定です。 |
| 21日目 | https://qiita.com/t_katsumura/items/ee83cbb98fefee064bbd | 21日目は @t_katsumura が、KubescapeというKubernetesのセキュリティチェックツールを紹介してくれました。記事中で本人も述べていますが、Kubernetes関連のOSSは無数に存在しウォッチしていくのが厳しいですね。このようなまとめ記事で概要がつかめるものが出るのはありがたいです。 |
| 22日目 | https://qiita.com/yoshimi0227/items/4166451296378e9131d9 | 22日目は @yoshimi0227 がIstioの最近のアップデートについて記事にしてくれました。どうやらIstioでHTTP/3がサポートされ始めたようです。HTTP/3はいよいよ普及期に入っていくのでしょうか。記事では実際のコマンド例も記載しているので興味ある方はぜひ触ってみてください。 |
| 23日目 | https://qiita.com/yasomaru/items/09e63295694d0115983b | 23日目は @yasomaru がReactとKeycloakの連携について解説をしてくれました。SPAとKeycloakの連携記事はあるようで内容が古かったり、あるようでその通りでは動かなかったりするので、直近バージョンでの動作確認例があるのはありがたいですね。まだ動かしたことない方はぜひ参考にしてみてください。 |
| 24日目 | https://qiita.com/wadahiro/items/42c35db33507f87f094f | 24日目は @wadahiro がmidPointとActive DirectoryのForeign Security Principalをどう扱うかを解説してくれています。FSPの解説とmidPointでの連携先表現の実装であるShadowObjectの取り扱いにあたっての注意点について詳しく記載しています。 |
| 25日目 | 本記事 | 25日目は私 @daian183 の本記事です。 |

以上、OpenStandiaエンジニアが興味ある技術をご紹介した25日間でした。参考になる情報があったら幸いです。

今年もあと数日となりました。
それでは皆様よいお年を。