2021-01-14 めも

  • watahani
  • 5 Minutes
  • January 14, 2021

早いもので 2020 年も終わり、新年が明けて半月が過ぎようとしている。ふと気づいたら、転職してちょうど丸 2 年ということに気づいた。

2020 年の振り返りもできていなかったので、ここいらで 2 年でやったこと、やりたかったこと、できなかったことをまとめていこうと思う。

特に誰のためになるわけでもなく、いわゆるチラ裏。チラ裏って言葉も死語になったのか全然聞かないっすね。

2019-2020 振り返り

丸 2 年、サポート エンジニアとして働いた。Non Tech な内容については、業務にかかわるので書きづらかったり纏まってなかったりなので、ひとまずやってきた技術分野についてまとめる。

WebAuthn

2019 年は、前職でゴリゴリやってた WebAuthn 関連の活動も続けており、もくもく会を開いたり技術同人誌出したりしていた。WebAuthn のアカウントリカバリーとかについてまとめてたのが、Cryptology ePrint になってた。Cryptology ePrint っていうのがイマイチ位置づけがわかってないんだけど、暗号分野におけるそれなりに権威のある論文になってるって感じなんですかね。最近は全然手を付けておらず、停滞気味…。

Azure の機能と周辺技術

2019 年 1 月時点では、Azure AD について右も左もわからないままだったなあ…。Azure の機能としてメインでゴリゴリやってたのはこのあたり。

条件付きアクセスの動作

Azure AD の中でもとっつきやすく、検証もしやすい条件付きアクセス ポリシーは現職のチームの中では、入門コンテンツとして存在する感がある。

しかし、条件付きアクセス ポリシーは Azure AD のコンポーネントのなかで中心となる機能の一つであるため、入門コンテンツとしても、より深い Azure AD の理解のためにもよいコンテンツ (?) だと思う。具体的には、検証を行う中で、テナントやユーザー、グループ、ゲスト ユーザーといった Azure AD の基礎知識を習得していける。また、 Azure AD で保護されたリソース、サービス プリンシパル、OAuth, OpenID Connect といった技術領域まで発展して学習ができるし、興味があれば Office 365 のアクセス制御と連携した学習も可能だと思う。

泥臭いポリシーの検証や動作確認は辛いこともあるが、条件付きアクセス ポリシーを極めるに当たり、Azure AD のさまざまなコンポーネントを理解できる。

ということで、Azure AD 勉強する人はぜひ条件付きアクセスから勉強しましょう?

AD FS, SAML, WS-Fed, WS-Trust の基本とログ解析

これはあまり語ることはないが、Windows サーバーをあまり触ったことのなかった私には、オンプレの Active Directory を立てることから勉強だった。いまだにオンプレの AD については知らないことだらけだが、まあ最低限 Kerberos などの認証系の基本的なコンポーネントについては理解ができているつもり。

SAML については AD FS や Azure AD の動作ベースでプロトコルの概要は理解した。たまーに OASIS の仕様を見に行くことがあったが、枯れた技術なので現状の動作が理解できれば十分だろうと思ってる。WS-Fed, WS-Trust ってのも元気に動いてることを知った。

AD FS については基礎動作や、基本的なログ解析については学習したが、最近あんまやってないのでほとんど忘れた。

Azure AD Application Proxy

意外と厄介なやつで、なんかいろいろ苦労した覚えがある。AD FS とこいつのトラブル シューティングのためにパケット解析の基礎を習得した。あと意外と Web 標準系の RFC などを見る必要があり、その辺の技術が身についた気がする。

OAuth, OIDC, サービス プリンシパル

2019 年の後半から、2020 年はほとんどこの辺の技術領域ばかり調べてた記憶がある。実際のところは RFC とかは斜め読みしかしておらず、Azure AD の実装しか見ていないのがイマイチなところ。Azure AD の実装にだけはやたら詳しくなったので、Qiita とかチームのブログにポチポチアウトプットしてた。

Azure AD B2C

とにかく苦労したおもひで。とにかく当時はドキュメントが少なく、何をするにしてもエンジニアに聞くみたいな感じだったように思う。(私が始めた時より前はもっと無かったらしいのだが)

実は Stack Overflow を MS の開発陣がうろついてて、技術的なことは Stack Overflow で纏まってたりする。今はドキュメントも充実してきたので本当にうれしいし、ドキュメント作ってる人にマジ感謝である。とはいえ取っつきづらいところもあるので、その辺はまとめた記事をチームブログに書いたりした。

カスタム ポリシーは相変わらず非常に難しく、また、実際に要望がないと作ってみようとならないので、最近はさぼり気味。なんか個人宛に仕事くださいw

MSAL (.Net/Core/Android/js/Java)

MSAL は .Net, .Net Core, Android, msal.js (1.0/2.0), Java なんかを動かした。OIDC のオプションや各種パラメータがどのように実装されているかについては大まかに理解したし、Android の Broker アプリの動作についても大体動作を舐めているが、このあたりは正直各言語やプラットフォームについて理解していないと厳しい部分があり、どこまで極めるかについては要検討。

英語

外資系企業に入れば多少はできるようになるやろうと思ったけど、半分は正解。ヒアリングはできるようになったけど、一方で全く喋れん。現職だと喋る機会も少ないので、その辺は自己投資でやっていかないとと思いながらまあ大してできてない。困らないと動かない。

公式ドキュメントは (個人の観測範囲では) よくなっていると思うが、フィードバックが必要な部分はまだまだあるので英語でゴリゴリ PR 書けるようになりたい。けど、ちょっと英語の公式ドキュメントを書くレベルの英語力が無いのが困ってるところ。日本語ならいいんですけどね…。
ちょっと英語とは話がそれるが、これは「やらなくても良い」仕事なんだけど、トータルなリターンを考えると「絶対やった方がいい」仕事なので、ドキュメントを直すことによるインセンティブが働くようになればなーと空想してる。

その他

個人的な興味の範囲で、暗号技術のすべて、プロフェッショナルSSL/TLS あたりを読んだが、実装レベルで理解していない。暗号技術のすべてを読みながら .Net の勉強がてら実装してみようかなと思っている。ECDSA の周りももう一度再入門したいのだが、全然勉強が進んでおらず、ちょっと独学以外の勉強しようと輪読会なんかもやってたけど、あんまり思い通りにはならなかった。DID とかもそうだけど、実務で直接扱わない分野の勉強が全然進まないのがちょっと課題。強引に実務にする機会がないかは虎視眈々と狙っている。

あと、チームブログの立ち上げと運用をしているが、コミュニティ活動って建付けなので、ちょっとバランスが難しい。

2021 年の豊富

娘が生まれたのでワークライフバランス大事にいきたい。

真面目な話をすると、サポートの仕事を丸 2 年経験した感想としてもっとプロアクティブに動かないと業務過多で死ぬということ。ブログでのアウトプット以外の情報発信とか共有について、もうちっとロジカルに考えていかないと娘との時間を取れない気がしているので、その辺ますます注力したい。

しかし、子育ては本当に大変で、世の中のお父さんお母さんには頭が上がらない。たまたま育児休暇とリモートワークで妻と長く過ごすことができて、非常にいい経験になったのでその辺の話もまとめておきたいが、また別の機会に。

関連記事