Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
msgraph-sshpubkey
Search
YAEGASHI Takeshi
November 09, 2019
Technology
90
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
msgraph-sshpubkey
第三十七回Azureもくもく会@品川
YAEGASHI Takeshi
November 09, 2019
More Decks by YAEGASHI Takeshi
See All by YAEGASHI Takeshi
Microsoft Entra IDとAzure App Serviceによる エンタープライズWebアプリ・サービスのプラットフォーム構築
yaegashi
0
180
Microsoft Entra/Azure による Redmine の企業内利用向けカスタマイズと運用
yaegashi
0
650
バンダイナムコスタジオにおけるクラウドネイティブなゲーム開発スタジオの挑戦
yaegashi
2
1.6k
Bandai Namco DX Cloud Studios の全貌
yaegashi
0
290
DX(開発者体験)の向上を目指す ゲーム開発インフラの進化とDX(デジタル変革)
yaegashi
0
210
Azure AD対応の認証プロキシサーバをGoで作っている話
yaegashi
0
290
ゲーム開発におけるクラウドネイティブな CI/CD の最新動向
yaegashi
0
580
rclonefunction
yaegashi
0
940
大規模ゲーム開発を支えるAzure DevOpsによるクラウドネイティブなCI/CDの紹介
yaegashi
5
2.9k
Other Decks in Technology
See All in Technology
論語・武士道・産業革命から見る かわるもの、かわらないもの
ichimichi
8
1.9k
AI驚き屋発見器
yama3133
1
390
CloudWatchから始めるAWS監視
butadora
0
300
「待ち時間」の消滅と「自我消耗」の加速:生成AI時代のエンジニアを救うメンタル・リソース管理
poropinai1966
0
360
ソフトウェアアーキテクチャ研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
1k
GMOフィナンシャルゲートが挑む、「止まらない」決済インフラ構築の裏側【SORACOM Discovery 2026】
soracom
PRO
0
110
歴史から理解するクラウドインフラのしくみ
kizawa2020
0
190
LangfuseによるLLMOps基盤の構築と活用事例
zozotech
PRO
1
190
plamo-3-translateの開発
pfn
PRO
0
210
ここは地獄!つらい朝会を体験することで、チームとしてのより良い振る舞いに気づくワークショップ / The stand-up meeting from hell in the game industry
scrummasudar
0
440
『モンスターストライク』 の運営に伴走する! データ民主化への 解析グループの3つのアプローチ
mixi_engineers
PRO
0
180
実践が先生だった— 新卒サーバーエンジニア1年目のリアル
mixi_engineers
PRO
0
210
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
41
2.6k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
First, design no harm
axbom
PRO
2
1.2k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
450
Making Projects Easy
brettharned
120
6.7k
Are puppies a ranking factor?
jonoalderson
1
3.7k
A designer walks into a library…
pauljervisheath
211
24k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
370
How to make the Groovebox
asonas
2
2.3k
ラッコキーワード サービス紹介資料
rakko
1
4.1M
Transcript
msgraph-sshpubkey 2019-11-09 Takeshi Yaegashi 第三十七回Azureもくもく会@品川
自己紹介 八重樫 剛史 Takeshi Yaegashi • 株式会社バンダイナムコスタジオ所属 • Linux・Unix・OSS・低レベルなことが好きなエンジニア •
ホームページ・ブログ https://l0w.dev • 最近の仕事 ◦ Raspberry Pi を使った IoT 案件 (Go) ◦ スマホゲームアプリのサーバ (Go) ◦ Azureによる開発者向けインフラ構築 (Python, Ansible, etc.) • 最近の登壇 ◦ Microsoft de:code 2019「DT01 ゲームメーカー目線でAzureを(略)」 ◦ Go Conference 2019 Autumn「Microsoft Graph API Library for Go」
msgraph.go • Microsoft Graph Client Library for Go https://github.com/yaegashi/msgraph.go •
Microsoft Graph の各種リソースをGo言語で操作できるライブラリ ◦ Azure Active Directory: User, Group, ... ◦ Office 365: OneDrive, SharePoint, Outlook, Teams, Excel Workbook, ... • 様々なGo製インフラツールをMicrosoft Graph対応にできるかもしれない ◦ oauth2_proxy, traefik, ... ◦ HashiCorp Terraform,Vault, Consul, Packer, …
msgraph.go アプリの例:msgraph-sshpubkey • https://github.com/yaegashi/msgraph.go/tree/master/cmd/msgraph-sshpubkey • SSH 公開鍵を Azure AD に登録して
Linux VM ログインの認証に利用できる • 必要なものは 5.6MB の実行ファイルと設定ファイルのみ、導入が容易 /etc/ssh/sshd_config: AuthorizedKeysCommand /usr/bin/msgraph-sshpubkey -config /etc/msgraph-sshpubkey.json -login %u AuthorizedKeysCommandUser root /etc/msgraph-sshpubkey.json: { "tenant_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "client_id": "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY", "client_secret": "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ", "login_map": { "yaegashi": "
[email protected]
" } }
背景:Azure Linux VM のユーザー認証・認可 • Windows VM と比較して、認証統合機能が弱い • Azure
Active Directory 認証を使用して Azure の Linux 仮想マシンにログインする https://docs.microsoft.com/ja-jp/azure/virtual-machines/linux/login-using-aad • ユーザー名がUPNになる
[email protected]
• ソースコードが 公開されていない? • どうも使いづらい (コレジャナイ感) • VMのRBACでアクセス 制御できるのはよい Package: aadlogin Status: install ok installed Priority: extra Section: default Installed-Size: 686 Maintainer: Azure AD <
[email protected]
> Architecture: amd64 Version: 1.0.009820001 Depends: uuid-runtime, libcurl4 Conffiles: /etc/sudoers.d/aad_admins 108feed92ff2287593d22b83206b82ea Description: AAD NSS and PAM extensions License: MIT Vendor: Microsoft Homepage: https://azure.com
背景:Azure Linux VM に自分がほしい機能 • ユーザーログインの認証、SSH 公開鍵の管理 ◦ ユーザーの SSH
公開鍵を Azure AD で管理できる ◦ VM ログインに Azure AD に登録した SSH 公開鍵が利用できる ◦ ユーザーは自分の SSH 公開鍵の管理が Web や CLI で簡単にできる • ユーザーログインのアクセス認可 ◦ Azure AD のグループによるアクセス認可 ◦ Linux VM RBAC 設定によるアクセス認可 • 類似のソフトウェア http://linyo.ws/octopass ◦ GitHub のユーザー・組織情報を利用する
msgraph-sshpubkey もくもく進捗 • 今日できたこと ◦ WIP: ユーザーが自分の SSH 公開鍵を管理できる Web
アプリの開発 ▪ React フロントエンドと Go バックエンド、CLIの雛形作成 ◦ msgraph-sshpubkey リポジトリの公開 https://github.com/yaegashi/msgraph-sshpubkey • 次にやりたいこと ◦ CLI と Web アプリの完成 ◦ Azure AD グループや RBAC などを利用した認可機能
おわり