「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>部会メモ]]
--[[部会メモ(2020年)>部会メモ#qba10194]]
--部会メモ(2021年)
--[[部会メモ(2022年)]]
--[[部会メモ(2023年)]]
--%%部会メモ(2024年)%%
--[[部会メモ(2025年)]]

*目次 [#uf698e49]
#contents

*概要 [#b3e2db5c]
部会開催メモ
-計画
-実施内容
-コンテンツ

*詳細(2021年 [#vc776404]

**1/8 セルフZoom部会(第15回) [#qabbe468]
Device Flowの実装とFAPI-CIBAの改修をしました。

***準備 [#q56965a3]
-Device Flowの実装と、テスト。
-FAPI-CIBAの改修と、テスト。

-説明が漏れましたが、開発環境は、~
[[以前に使用した環境>部会メモ#ba542c26]]と同じです。

-参考:https://twitter.com/openhishopjpo/status/1340904688841965568

***デモ [#lf29a4b8]
-[[Device Flow>https://techinfoofmicrosofttech.osscons.jp/index.php?OAuth%202.0%20Device%20Authorization%20Grant]]
-[[FAPI-CIBA(AD無しモード)>部会メモ#fd1f6676]]改
-UserStoreのDockerCompose化

***結果 [#o3632e0e]
-本実装は、[[02-70(01-99)>リリース情報#a0f53e98]]に同梱される予定。
-FAPI-CIBAのADは、[[03-00(02-00)>リリース情報#s6854a3b]]に同梱される予定。

***動画 [#k753e80a]
-Zoomの録画をYoutubeにアップロード

--第15回 部会 汎用認証サイトのDevice FlowとFAPI-CIBAのデモ+α。~
https://www.youtube.com/watch?v=w4C6VHeR8rc

-OSSコンソーシアム Blogにも掲載

--第15回 部会 汎用認証サイトのDevice FlowとFAPI-CIBAのデモ+α。~
https://www.osscons.jp/jof8k7jag-537/

**1/11 セルフZoom部会(第16回) [#j5ab711c]
DX系施策の説明

***準備 [#q49ad0c2]
DX系(BD → IoT系)のリサーチ

-[[前回部会>#qabbe468]]の+α部。

--BD~
OSSコンソーシアム
---今期のDX系のスタック&コラボレーションを段階的詳細化する。~
https://www.osscons.jp/jo74ru4oq-537/
---.NET for Apache Sparkで見えた、配管工おじさん入門への道~
https://www.osscons.jp/joj7rztvv-537/

--IoT系
---Sensor Tweet~
[[(1)>https://www.facebook.com/permalink.php?story_fbid=1853579398255298&id=100008097671788]]、[[(2)>https://twitter.com/OsscJpDevInfra/status/859365056106057728]]

---[[.NET Core On Rasbian>https://twitter.com/openhishopjpo/status/1342374782117924867]]

-Wiki&Blog
--開発基盤部会 Wiki
---[[データ・パイプライン>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?%E3%83%87%E3%83%BC%E3%82%BF%E3%83%BB%E3%83%91%E3%82%A4%E3%83%97%E3%83%A9%E3%82%A4%E3%83%B3]]
---[[スタック&コラボレーション>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%EF%BC%86%E3%82%B3%E3%83%A9%E3%83%9C%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3]]

--OSSコンソーシアム
---まだ仕事始めじゃないケド、予算立案のポイントをサマリしておく回。~
https://www.osscons.jp/joa0wzomm-537/
---次のインプットは、ITストラテジストかPfMP(PgMP)辺りにしようかと。~
https://www.osscons.jp/joyp604g1-537/

***説明 [#mcf8f045]
-[[上記のコンテンツ>#q49ad0c2]]を使用して、アドリブで説明。
-どういうインプットをして、組み立てられたプログラムなのか?
--多数のインプット(RDB系、認証、Frontend、IoT、BD、AI/BI)を前提に、
--ストラテジスト、PfMP(PgMP)知識を駆使してプログラム化して行く。

***結果 [#seb3443d]
難しくなってきて辛い感はある。

***動画 [#da220571]
-Zoomの録画をYoutubeにアップロード

--第16回 部会 DX系施策の説明回。~
https://www.youtube.com/watch?v=gHUsXhK-1HQ

-OSSコンソーシアム Blogにも掲載

--第16回 部会 DX系施策の説明回。~
https://www.osscons.jp/joq4lotgi-537/

**3/7 セルフZoom部会(第17回) [#wf61dced]

***準備 [#tc61bd7d]
Open Source Conference 2021 Online/Springの別撮り。~
https://event.ospn.jp/osc2021-online-spring/session/274258

***説明 [#oa1852d5]
時間が短かったのと、後続が居ると思って巻いたんですが、~
なかったみたいで、今回は、同スライドをユックリ話すダケの動画です。

※ スライド:https://www.slideshare.net/nishi_74322014/osscjpdevinfraosc2021os

***結果 [#o6a180f9]
原点回帰できた。
>-原点回帰、生産技術とは?-

***動画 [#fa9f1dc0]
-Zoomの録画をYoutubeにアップロード

--第17回 部会 -原点回帰、生産技術とは?-~
https://www.youtube.com/watch?v=4DWlOZNr7ro

-OSSコンソーシアム Blogにも掲載

--第17回 部会 -原点回帰、生産技術とは?-~
https://www.osscons.jp/jogsdp10y-537/

**4/3 セルフZoom部会(第18回) [#l7d0a0d3]

***準備 [#rcad6764]
-[[02-70のリリース>リリース情報#a0f53e98]]を完了させる。

-説明が漏れましたが、開発環境は、~
[[以前に使用した環境>部会メモ#ba542c26]]と同じです。~
(追加で、[[.NET5のSDKのインストール>https://techinfoofmicrosofttech.osscons.jp/index.php?.NET%205#vc424a36]]は必要です)

-バ美肉アプリ&素材
--MMDモデル
---[[VMagicMirror>https://malaybaku.github.io/VMagicMirror/]]
---[[AAミカコ - VRoid Hub>https://hub.vroid.com/characters/384915228726884163/models/5417282268520046179]]

--音声
---%%[[Voicemod>https://www.voicemod.net/ja/]]%% → [[バ美声beta0403>https://booth.pm/ja/items/1177717]]
---[[VB-Audio Virtual Apps>https://vb-audio.com/Cable/]]

***デモ [#g7af913c]
ビルドと実行を行う。

***結果 [#ce8370ff]
ビルドと実行が出来た。

※ 補足:動かすには、「\root(_VS201X)\files」を、~
 Cドラ直下に「C:\root\files」と配置する必要があります。

***動画 [#g412c185]
-Zoomの録画をYoutubeにアップロード

--第18回 部会 Open棟梁 02-70のビルドと実行デモ@バ美肉編~
https://www.youtube.com/watch?v=_Xj5F-e4HK0

-OSSコンソーシアム Blogにも掲載

--第18回 部会 Open棟梁 02-70のビルドと実行デモ@バ美肉編~
https://www.osscons.jp/jo3ogddrq-537/

※ 動画中で「美バ肉」「美バ肉」言ってますが、~
  申し訳ございません、正確には、「バ美肉」でした。♨

**5/5 セルフZoom部会(第19回) [#fe59e40e]

***準備 [#l4818765]
-リサーチ
--[[Flutter>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Flutter#i112328c]]
--[[.NET Core On Docker On Rasbian>https://techinfoofmicrosofttech.osscons.jp/index.php?.NET%20Core%20On%20Rasbian#ud09ed44]]
--[[Node-RED On Rasbian>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Node-RED%20On%20Rasbian]]

-説明が漏れましたが、開発環境は、~
[[以前に使用した環境>部会メモ#ba542c26]]と同じです。~
~
追加で、~

--[[.NET5のSDKのインストール>https://techinfoofmicrosofttech.osscons.jp/index.php?.NET%205#vc424a36]]
--[[Flutterの開発環境の構築>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Flutter%E3%81%AE%E3%83%95%E3%82%A1%E3%83%BC%E3%82%B9%E3%83%88%E3%83%BB%E3%82%B9%E3%83%86%E3%83%83%E3%83%97#sdd49677]]

>は必要です。

***デモ [#b04ce367]
[[準備>#l4818765]]物件が対象。

***結果 [#e16bb9e0]
スマホ、IoT等の、新しい、~
デバイス&プラットフォーム上での開発も、~
結構、快適になってきた。

***動画 [#cc179868]
-Zoomの録画をYoutubeにアップロード

--第19回 部会 スマホ開発(Flutter)と~
IoT開発(.NET5・Node-RED)のデモ動画~
https://www.youtube.com/watch?v=zuaH-MiRcZA

-OSSコンソーシアム Blogにも掲載

--第19回 部会 スマホ開発(Flutter)と~
IoT開発(.NET5・Node-RED)のデモ動画~
https://www.osscons.jp/job945mxj-537/

※ 声がオッサンの声のママでした。すいません。~
  (ZoomにVoicemodの音声を流し込むには、VB-Audio Virtual Cableを使う)

**5/20 セルフZoom部会(第20回) [#m2d64d6d]
成果物の説明とデモンストレーション。

***準備 [#pdd3c4e5]
CLIサンプル / テンプレの開発

-参考
--コマンドプロンプトの作業フォルダパスが長すぎるとき - カヤの内~
https://kaya574.hatenadiary.org/entry/20110427/1303866987

***デモ [#t6b08d20]
-上記の物件の紹介。

--[[機能一覧 - 対応する処理方式と、そのサンプル - V1系 > Console方式 > CLI >機能一覧 - 対応する処理方式と、そのサンプル - V1系#e1a9875e]]

--GitHub
---https://github.com/OpenTouryoProject/OpenTouryo/tree/develop/root/programs/CS/Samples/CLI_sample
---https://github.com/OpenTouryoProject/OpenTouryo/tree/develop/root/programs/CS/Samples4NetCore/Legacy/CLI_sample

-何故、今、CLIか?と言う話と、~
今回、使用したライブラリについて。

--[[自作CUI(CLI)の話>https://techinfoofmicrosofttech.osscons.jp/index.php?%E8%87%AA%E4%BD%9CCUI%EF%BC%88CLI%EF%BC%89%E3%81%AE%E8%A9%B1]] - マイクロソフト系技術情報 Wiki
---[[CLI開発(Sharprompt)>https://techinfoofmicrosofttech.osscons.jp/index.php?CLI%E9%96%8B%E7%99%BA%EF%BC%88Sharprompt%EF%BC%89]]
---[[CLI開発(System.CommandLine)>https://techinfoofmicrosofttech.osscons.jp/index.php?CLI%E9%96%8B%E7%99%BA%EF%BC%88System.CommandLine%EF%BC%89#gdc2ba57]]

***結果 [#r6c0b699]
イケる感じがする。

***動画 [#bda01a2b]
-Zoomの録画をYoutubeにアップロード

--第20回 新テンプレ、CLIテンプレートの紹介動画~
https://www.youtube.com/watch?v=Lle20xLzSd8

-OSSコンソーシアム Blogにも掲載

--第20回 新テンプレ、CLIテンプレートの紹介動画~
https://www.osscons.jp/jodqpha64-537/

**5/30 セルフZoom部会(第21回) [#aa8b4ac0]
成果物の説明とデモンストレーション。

***準備 [#q3ea9b44]
ログインCLIサンプル / テンプレの開発

-GitHub
--https://github.com/OpenTouryoProject/OpenTouryo/tree/develop/root/programs/CS/Samples4NetCore/Legacy/CLI_sample/DAG_Login_CLI
--https://github.com/OpenTouryoProject/OpenTouryo/tree/develop/root/programs/CS/Samples4NetCore/Legacy/CLI_sample/LIR_Login_CLI

***デモ [#t821b6d6]
上記の物件の紹介。

-参考~
[[機能一覧 - 対応する処理方式と、そのサンプル - V1系 > Console方式 > CLI >機能一覧 - 対応する処理方式と、そのサンプル - V1系#e1a9875e]]

-マイクロソフト系技術情報 Wiki
--[[自作CUI(CLI)の話>https://techinfoofmicrosofttech.osscons.jp/index.php?%E8%87%AA%E4%BD%9CCUI%EF%BC%88CLI%EF%BC%89%E3%81%AE%E8%A9%B1]]
--[[Azure CLI - マイクロソフト系技術情報 Wiki > 詳細 > ログイン>https://techinfoofmicrosofttech.osscons.jp/index.php?Azure%20CLI#ief49638]]

***結果 [#v5897026]
イケてる感じがする。

***動画 [#p1a15f05]
-Zoomの録画をYoutubeにアップロード

--第21回 新テンプレ、ログインCLIテンプレートの紹介動画~
https://www.youtube.com/watch?v=ZZYNAojeW-8

-OSSコンソーシアム Blogにも掲載

--第21回 新テンプレ、ログインCLIテンプレートの紹介動画~
https://www.osscons.jp/jo8yzj54s-537/

**6/6 セルフZoom部会(第22回) [#fd16cbb8]
成果物の説明とデモンストレーション。

***準備 [#x35aa225]
Flutter サンプル / テンプレの開発

-[[Flutter step by step>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Flutter#i112328c]]
--ファースト・ステップ
--セカンド・ステップ

-説明が漏れましたが、開発環境は、~
[[5/5 セルフZoom部会(第19回) >#fe59e40e]]と同じです。

-参考
--テスト用ページ - OSSコンソーシアム~
https://www.osscons.jp/jo5v2ne7n-537/
--GitHub~
https://github.com/OpenTouryoProject/SampleProgram/tree/master/Template/MobileTemplate/flutter_template

***デモ [#v18af215]
上記の物件の紹介。

-カウント・アップ

-ブラウザ起動と~
[[アプリケーション間通信>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E9%96%93%E9%80%9A%E4%BF%A1]]

-ネイティブAPIアクセス

-[[WebAPI>https://techinfoofmicrosofttech.osscons.jp/index.php?WebAPI]]呼出

-[[AppAuth>https://techinfoofmicrosofttech.osscons.jp/index.php?AppAuth]]での認証

***結果 [#x94d0fcf]
-順調に進んでいる感じがする。

-HTTPS必須で証明書検証が厳密になって来ている。

--先ず、HTTPだと動かないケースが増えて来ている。
---CookieがSameSite Cookie対応で~
HTTPSでないと有効にならないケース
---ライブラリ側がHTTPSしか許可していないケース

--自己署名証明書の検証も厳密になってきている。
---CNを適切に合わせ、
---更に、SAN属性を含めて、
---且つ、証明書チェーンの検証をキャンセルさせる

***動画 [#p194884c]
-Zoomの録画をYoutubeにアップロード

--第22回 Flutter step by stepの途中経過のデモ(特にflutter_appauth)~
https://www.youtube.com/watch?v=DnHrSasI3oA

-OSSコンソーシアム Blogにも掲載

--第22回 Flutter step by stepの途中経過のデモ(特にflutter_appauth)~
https://www.osscons.jp/jofrifqku-537/

**6/22 セルフZoom部会(第23回) [#yd489207]
成果物の説明とデモンストレーション。

***準備 [#yb55e15e]
-Flutter サンプル / テンプレの開発

-[[前回紹介したモノ>#fd16cbb8]] に [[プッシュ通知を実装>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Flutter%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%89%E3%83%BB%E3%82%B9%E3%83%86%E3%83%83%E3%83%97#p7b4ca10]]。

***デモ [#m27e675a]
プッシュ通知のデモ。

***結果 [#yddd1ab9]
-現状、Flutterの情報は若干少ない感じ。
-だた、探せば何とかなる感じでもある。

***動画 [#m6a326c2]

-Zoomの録画をYoutubeにアップロード

--第23回 Flutter step by stepの途中経過のデモ(プッシュ通知)~
https://www.youtube.com/watch?v=YD1Nu6N7aQM

-OSSコンソーシアム Blogにも掲載

--第23回 Flutter step by stepの途中経過のデモ(プッシュ通知)~
https://www.osscons.jp/joiizkg0m-537/

**6/29 セルフZoom部会(第24回) [#q623af66]
成果物の説明とデモンストレーション。

***準備 [#sdaf4262]
-Flutter CRUDサンプル / テンプレの開発

-[[前回紹介したモノ>#yd489207]] に [[CRUD処理を実装>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Flutter%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%89%E3%83%BB%E3%82%B9%E3%83%86%E3%83%83%E3%83%97]]。

-格納リポジトリの変更~
https://github.com/OpenTouryoProject/FrontendTemplates/tree/develop/UI/XPlat/flutter_template

***デモ [#paa7ea1e]
CRUDサンプル / テンプレのデモ。

***結果 [#f597c5cf]
-業務系の実装も可能だが、スマホは画面が小さいので。
-[[最後の最後まで証明書に苦しめられる>#x94d0fcf]](jwks_uriとの通信部分)。

***動画 [#v176e22c]

-Zoomの録画をYoutubeにアップロード

--第24回 Flutter step by stepの途中経過のデモ(CRUD)~
https://www.youtube.com/watch?v=W9qdO0iOVEc

-OSSコンソーシアム Blogにも掲載

--第24回 Flutter step by stepの途中経過のデモ(CRUD)~
https://www.osscons.jp/jo11besa1-537/

**7/6 セルフZoom部会(第25回) [#m081b785]
[[2021年度 活動方針・部会紹介>https://www.osscons.jp/joir4yg60-537/]]の説明(総会リハ)

***準備 [#rb0309ab]
[[2021年度 活動方針・部会紹介>https://www.osscons.jp/joir4yg60-537/]]

***説明 [#j30e11b5]
[[2021年度 活動方針・部会紹介>https://www.osscons.jp/joir4yg60-537/]]

***結果 [#yf82032f]
リハ完了&ロングバージョンの生成

***動画 [#za2ee9ae]
総会翌日に公開予定。

-Zoomの録画をYoutubeにアップロード

--第25回 2021年度 活動方針・部会紹介の説明(総会リハ)~
https://www.youtube.com/watch?v=3YPZtaJAGLQ

-OSSコンソーシアム Blogにも掲載

--第25回 2021年度 活動方針・部会紹介の説明(総会リハ)~
https://www.osscons.jp/jo190vhqf-537/

**7/13 セルフZoom部会(第26回) [#sf8d6042]
成果物の説明とデモンストレーション。

***準備 [#df3d9586]
-Flutter製のCIBAのAD開発

-[[前回紹介したモノ>#q623af66]] をベースに

--[[CIBAのADを開発>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Flutter%E3%81%AE5th%E3%82%B9%E3%83%86%E3%83%83%E3%83%97#z2628776]]。
--序に、[[2FAのラインナップにプッシュ通知を追加>https://github.com/OpenTouryoProject/MultiPurposeAuthSite/issues/153]]する。

***デモ [#fb3ecc4b]
プッシュ通知を用いた

-CIBAのAD
-更に2FA

の機能を追加した汎用認証サイトのデモ。

***結果 [#c6cebdf0]
まぁ、ボチボチ、できたかなぁ...と。

***動画 [#we0b7f38]

-Zoomの録画をYoutubeにアップロード

--第26回 Flutter step by stepも一段落。のデモ(CIBAのAD+α)~
https://www.youtube.com/watch?v=Dbqw5R7Zzhg

-OSSコンソーシアム Blogにも掲載

--第26回 Flutter step by stepも一段落。のデモ(CIBAのAD+α)~
https://www.osscons.jp/jo8365k62-537/

**10/26 セルフZoom部会(第27回) [#y1587e0e]
Azureで共通基盤的なモノの土台を作成してみる。

***準備 [#ca42878d]
説明に使用したverを表すタグ(0.1.0)を打ちました。

https://github.com/OpenTouryoProject/DxCommon/tree/0.1.0/AzureIaC/
-https://github.com/OpenTouryoProject/DxCommon/tree/0.1.0/AzureIaC/Simplest
-https://github.com/OpenTouryoProject/DxCommon/tree/0.1.0/AzureIaC/AddUsers

***デモ [#ne6a5e1a]
上記のコンテンツ(スクリプト)を流す。

***結果 [#o9291903]
IaC的に、共通基盤(的なモノ)の基礎を構築できた。

***動画 [#h4a4322f]

-Zoomの録画をYoutubeにアップロード

--第27回 Azureで共通基盤的なモノの土台を作成してみる。~
https://www.youtube.com/watch?v=ehTPxs3M_BQ

-OSSコンソーシアム Blogにも掲載

--第27回 Azureで共通基盤的なモノの土台を作成してみる。~
https://www.osscons.jp/jobhy5wdr-537/

**11/18 セルフZoom部会(第28回) [#e991b816]
上期にDX系で調べたことをまとめてみる。

***準備 [#c565e49e]
取り敢えず、EXCELを作成。

>[[content_20211118.xlsx>https://onedrive.live.com/view.aspx?resid=F9DA3F8FC6E5EC67!1769&ithint=file%2cxlsx&authkey=!AOax04TQx68XHd0]]

***説明 [#icdf1f6b]
今回はデモではなく説明ダケの回。

***結果 [#u44e9fd4]
なんとなく考えがまとまったか?

***動画 [#cc7c3688]

-Zoomの録画をYoutubeにアップロード

--第28回 上期にDX系で調べたことをまとめてみる。~
https://www.youtube.com/watch?v=69ETXIh3Xk4

-OSSコンソーシアム Blogにも掲載

--第28回 上期にDX系で調べたことをまとめてみる。~
https://www.osscons.jp/jo89rcy0a-537/

**12/7 セルフZoom部会(第29回) [#b09e0fe3]
上期にDX系で調べたことをデモしてみる。

***準備 [#ec74fbb7]
EXCELを更新しました。

>[[content_20211118.xlsx>https://onedrive.live.com/view.aspx?resid=F9DA3F8FC6E5EC67!1769&ithint=file%2cxlsx&authkey=!AOax04TQx68XHd0]]

***デモ [#ne4931d7]
-クラウドのIaC
--[[Azure Event Hubs>https://github.com/OpenTouryoProject/DataPipeline/tree/develop/Gateway/EventHubs/IaC]] > Kafkaエンドポイント
--[[Azure Databricks>https://github.com/OpenTouryoProject/DataPipeline/tree/develop/Batch/AzDatabricks]]

-ブローカーのテスト
--[[Mosquitto>https://techinfoofmicrosofttech.osscons.jp/index.php?Mosquitto]]
--[[RabbitMQ>https://techinfoofmicrosofttech.osscons.jp/index.php?RabbitMQ]]
--[[Kafkaエンドポイント>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Kafka%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB]]

-Apache Spark

--ローカル~
[[Jupyter Notebook>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Jupyter%20Notebook]]

--クラウド~
[[Azure Databricks>https://techinfoofmicrosofttech.osscons.jp/index.php?Azure%20Databricks]]

***結果 [#fb708d2e]
取り敢えず、一段落。

***動画 [#bd57e782]

-Zoomの録画をYoutubeにアップロード

--第29回 上期にDX系で調べたことをデモしてみる。
--補足:https://www.youtube.com/watch?v=VEniHjxygCM
--デモ1:https://www.youtube.com/watch?v=i1wWRX2SW3g
--デモ2:https://www.youtube.com/watch?v=1meHICz6OhM
--デモ3:https://www.youtube.com/watch?v=yUB5uu1g554

-OSSコンソーシアム Blogにも掲載

--第29回 上期にDX系で調べたことをデモしてみる。~
https://www.osscons.jp/jo8xlqsou-537/

**12/17 セルフZoom部会(第30回) [#m1208cd9]

***準備 [#b5241c2d]
PPTを作成しました。

>[[OAuth2, OIDC&SAML2.pptx>https://1drv.ms/p/s!Amfs5caPP9r5jXOcoGHsgck9v1iH]]

***説明 [#r52a4ea1]
PPTを使って説明。

***結果 [#vff4599a]
OAuth2/OIDC、SAML2などを完全に理解した。

***動画 [#ue5bb268]
-Zoomの録画をYoutubeにアップロード

--第30回 部会 いまさらOAuth2/OIDC、SAML2について説明してみる。~
https://www.youtube.com/watch?v=7IS7Dc3MKTc

-OSSコンソーシアム Blogにも掲載

--第30回 部会 いまさらOAuth2/OIDC、SAML2について説明してみる。~
https://www.osscons.jp/jofcqrm8k-537/

*参考 [#eaf59d1b]

**[[部会メモ(開発基盤部会)>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?%E9%83%A8%E4%BC%9A%E3%83%A1%E3%83%A2]] [#r3336717]

**メモ [#y1587e0e]

***準備1 [#q0a2510e]
スクリプトの準備

-共通

--Azure CLI

---起動しログインする。
 >az login

---サブスクリプションを指定する。
 >az account set --subscription "XXXXX"

---ロケーションを一覧
 >az account list-locations --output table

--PowerShell~
PowerShellも使うので

---起動しログインする。
 >Connect-AzAccount

---サブスクリプションを一覧する。
 >Get-AzSubscription

---サブスクリプションを指定する。
 >Set-AzContext -SubscriptionId "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"

-環境構築

--Azure Bastion
---Azure Bastion用の...~
・リソース・グループを作成する。
 >az group create --name AzureBastionRG --location japanwest
・ネットワークを作成する。
 >az network vnet create --resource-group AzureBastionRG --name AzureBastionVnet --address-prefix 10.0.0.0/16 --subnet-name AzureBastionSubnet --subnet-prefix 10.0.0.0/24 --location japanwest
・パブリック IP アドレスを作成する。
 >az network public-ip create --resource-group AzureBastionRG --name AzureBastionPubIP --sku Standard --location japanwest
・本体を作成
 >az network bastion create --name MyAzBastion --public-ip-address AzureBastionPubIP --resource-group AzureBastionRG --vnet-name AzureBastionVnet --location japanwest

--Jumpbox VMの作成

---サブネットの定義
 >az network vnet subnet create --resource-group AzureBastionRG --name JumpboxSubnet --address-prefixes 10.0.1.0/24 --vnet-name AzureBastionVnet

---VMの作成~
以下は通常のWindows(Linuxターミナル・サーバーなどもやってみたい。~
~
・作成
 >az vm create ^
 --resource-group AzureBastionRG ^
 --name JumpboxVM1 ^
 --location "japanwest" ^
 --size Standard_F4 ^
 --image Win2019Datacenter ^
 --admin-user [users名] ^
 --admin-password [password] ^
 --vnet-name AzureBastionVnet ^
 --subnet JumpboxSubnet ^
 --public-ip-address ""
・確認
 >az network public-ip list --output table

--アクセス先の作成
---アクセス先のリソース・グループを定義する。
 >az group create --name YourRG --location japanwest

---アクセス先のネットワークを定義する。
 >az network vnet create --resource-group YourRG --name YourVnet --address-prefix 10.1.0.0/16 --subnet-name YourSubnet --subnet-prefix 10.1.0.0/24 --location japanwest

---アクセス先のVMを作成する。~
・作成
 >az vm create ^
 --resource-group YourRG ^
 --name YourVM1 ^
 --location "japanwest" ^
 --size Standard_F4 ^
 --image Win2019Datacenter ^
 --admin-user [users名] ^
 --admin-password [password] ^
 --vnet-name YourVnet ^
 --subnet YourSubnet ^
 --public-ip-address ""
・確認
 >az network public-ip list --output table

--VNETピアリング~
この状態でBastionやJumpbox VMからの接続はまだ出来ない([[参考>https://techinfoofmicrosofttech.osscons.jp/index.php?Azure%E3%81%AE%E4%BB%AE%E6%83%B3%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%20%E3%83%94%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0#k2a1b42d]])。
---VNETのIDを取得~
・接続元~
 >az network vnet show --resource-group AzureBastionRG --name AzureBastionVnet --query id --out tsv > d:\temp_cmd_result.txt
 >set /p AzureBastionVnetId= 0<d:\temp_cmd_result.txt
 >del d:\temp_cmd_result.txt
 >echo %AzureBastionVnetId%
・接続先
 >az network vnet show --resource-group YourRG --name YourVnet --query id --out tsv > d:\temp_cmd_result.txt
 >set /p YourVnetId= 0<d:\temp_cmd_result.txt
 >del d:\temp_cmd_result.txt
 >echo %YourVnetId%

---ピアリング作成~
・接続元→接続先
 >az network vnet peering create ^
 --name AzureBastionVnet-YourVnet ^
 --resource-group AzureBastionRG ^
 --vnet-name AzureBastionVnet ^
 --remote-vnet %YourVnetId% ^
 --allow-vnet-access
・接続先→接続元
 >az network vnet peering create ^
 --name YourVnet-AzureBastionVnet ^
 --resource-group YourRG ^
 --vnet-name YourVnet ^
 --remote-vnet %AzureBastionVnetId% ^
 --allow-vnet-access

---ピアリング確認~
・接続元→接続先
 >az network vnet peering show ^
 --name AzureBastionVnet-YourVnet ^
 --resource-group AzureBastionRG ^
 --vnet-name AzureBastionVnet ^
 --query peeringState
・接続先→接続元
 >az network vnet peering show ^
 --name YourVnet-AzureBastionVnet ^
 --resource-group YourRG ^
 --vnet-name YourVnet ^
 --query peeringState

--カスタム・ロールの作成~
[[コチラ>https://techinfoofmicrosofttech.osscons.jp/index.php?Role%20Based%20Access%20Control%20%28RBAC%29#nec899f1]]を参考に作業する。

---仮想マシンの起動と停止
 $role = Get-AzRoleDefinition "Virtual Machine Contributor"
 $role.Id = $Null
 $role.Name = "仮想マシンの起動と停止"
 $role.Description = "仮想マシンの起動と停止、再起動ができます"
 $role.Actions.Clear()
 $role.Actions.Add("Microsoft.DevTestLab/schedules/*")
 $role.Actions.Add("Microsoft.Compute/virtualMachines/write")
 $role.Actions.Add("Microsoft.Compute/VirtualMachines/start/action")
 $role.Actions.Add("Microsoft.Compute/VirtualMachines/restart/action")
 $role.Actions.Add("Microsoft.Compute/VirtualMachines/deallocate/action")
 $role.Actions.Add("Microsoft.Storage/*/read")
 $role.Actions.Add("Microsoft.Network/*/read")
 $role.Actions.Add("Microsoft.Compute/*/read")
 $role.Actions.Add("Microsoft.Authorization/*/read")
 $role.Actions.Add("Microsoft.Resources/subscriptions/resourceGroups/read")
 $role.Actions.Add("Microsoft.ResourceHealth/availabilityStatuses/read")
 $role.Actions.Add("Microsoft.Insights/alertRules/*")
 $role.Actions.Add("Microsoft.Support/*")
 $role.AssignableScopes.Clear()
 $role.AssignableScopes.Add("/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
 New-AzRoleDefinition -Role $role

---仮想マシン作成のための追加の権限
 $role = Get-AzRoleDefinition "Virtual Machine Contributor"
 $role.Id = $Null
 $role.Name = "仮想マシン作成のためVMCに追加する権限"
 $role.Description = "仮想マシンの作成のためVMCにNSGのreadm/writeを追加する。"
 $role.Actions.Clear()
 $role.Actions.Add("Microsoft.Network/networkSecurityGroups/read")
 $role.Actions.Add("Microsoft.Network/networkSecurityGroups/write")
 $role.Actions.Add("Microsoft.Compute/snapshots/read")
 $role.Actions.Add("Microsoft.Compute/snapshots/write")
 $role.Actions.Add("Microsoft.Compute/disks/beginGetAccess/action")
 $role.AssignableScopes.Clear()
 $role.AssignableScopes.Add("/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") <--- SubsctionId を指定。
 New-AzRoleDefinition -Role $role

---Azure Cloud Shellの実行のための追加の権限
 $role = Get-AzRoleDefinition "Virtual Machine Contributor"
 $role.Id = $Null
 $role.Name = "Azure Cloud Shellの実行のために追加する権限"
 $role.Description = "Azure Cloud Shellの実行のためstorageAccountsのreadm/writeを追加する。"
 $role.Actions.Clear()
 $role.Actions.Add("Microsoft.Storage/storageAccounts/read")
 $role.Actions.Add("Microsoft.Storage/storageAccounts/write")
 $role.AssignableScopes.Clear()
 $role.AssignableScopes.Add("/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") <--- SubsctionId を指定。
 New-AzRoleDefinition -Role $role

--ロールによりユーザに権限を付与する。

---[[権限付与するユーザを招待する。>https://techinfoofmicrosofttech.osscons.jp/index.php?Azure%20Active%20Directory%20B2B%20collaboration#c7f18957]]

---ResourcesGroupに対するロール権限を追加~
・仮想マシン共同作成者のビルトイン・ロール
 >New-AzRoleAssignment `
 -SignInName <emailOrUserprincipalname> `
 -RoleDefinitionName "Virtual Machine Contributor" `
 -ResourceGroupName YourRG
・前述の仮想マシン作成のたのカスタム・ロール
 >New-AzRoleAssignment `
 -SignInName <emailOrUserprincipalname> `
 -RoleDefinitionName "仮想マシン作成のためVMCに追加する権限" `
 -ResourceGroupName YourRG
・前述のAzure Cloud Shellの実行のためのカスタム・ロール
 >New-AzRoleAssignment `
 -SignInName <emailOrUserprincipalname> `
 -RoleDefinitionName "Azure Cloud Shellの実行のために追加する権限" `
 -ResourceGroupName cloud-shell-storage-southeastasia

---Subscriptionに対するロール権限を追加~
前述の「仮想マシンの起動と停止」のカスタム・ロール
 >New-AzRoleAssignment `
 -SignInName <emailOrUserprincipalname> `
 -RoleDefinitionName "仮想マシンの起動と停止" `
 -Scope /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` <--- SubsctionId

--権限付与されたアカウントで動作を確認する。

---Azure Cloud Shellを実行出来るか確認する。
 >az account list-locations --output table

---アクセス先のVMを作成出来るか確認する。~
・作成
 >az vm create ^
 --resource-group YourRG ^
 --name YourVM2 ^
 --location "japanwest" ^
 --size Standard_F4 ^
 --image Win2019Datacenter ^
 --admin-user [users名] ^
 --admin-password [password] ^
 --vnet-name YourVnet ^
 --subnet YourSubnet ^
 --public-ip-address ""
 ※ [[QuotaExceeded>https://techinfoofmicrosofttech.osscons.jp/index.php?Azure%E3%81%AE%E3%82%AF%E3%82%A9%E3%83%BC%E3%82%BF]]のエラーが出たりした。~
~
・確認
 >az network public-ip list --output table

---[[マイ・ディスクを使用したVMの作成>https://techinfoofmicrosofttech.osscons.jp/index.php?Azure%E4%B8%8A%E3%81%AB%E7%B4%A0%E6%97%A9%E3%81%8F%E7%92%B0%E5%A2%83%E3%82%92%E6%A7%8B%E7%AF%89%E3%81%99%E3%82%8B#z6270e46]]が出来るか確認する。

***準備2 [#vc306769]
スクリプトの準備

-アクセス情報【使用中のIPアドレス確認】~
https://www.cman.jp/network/support/go_access.cgi

-共通

--Azure CLI

---起動しログインする。
 >az login

---サブスクリプションを指定する。
 >az account set --subscription "XXXXX"

---ロケーションを一覧
 >az account list-locations --output table
※ https://azure.microsoft.com/ja-jp/global-infrastructure/services/

---データ・パイプライン用のリソース・グループを作成する。
 >az group create --name DplRG --location westus2

--PowerShell~
PowerShellも使うので

---起動しログインする。
 >Connect-AzAccount

---サブスクリプションを一覧する。
 >Get-AzSubscription

---サブスクリプションを指定する。
 >Set-AzContext -SubscriptionId "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"

-Azure Storageの作成

--アカウント
 >az storage account create ^
   --name osscjpdevinfra  ^
   --resource-group DplRG ^
   --location westus2 ^
   --sku Standard_LRS

--コンテナ

---権限付与
 >az ad signed-in-user show --query objectId -o tsv | az role assignment create ^
 --role "Storage Blob Data Contributor" ^
 --assignee @- ^
 --scope "/subscriptions/<subscriptionId>/resourceGroups/DplRG/providers/Microsoft.Storage/storageAccounts/osscjpdevinfra"

---作成
 >az storage container create ^
 --account-name osscjpdevinfra ^
 --name container1 ^
 --auth-mode login

--IPアドレス制限
---付与
 >az storage account network-rule add ^
 --resource-group DplRG ^
 --account-name osscjpdevinfra ^
 --ip-address xxx.xxx.xxx.xxx

---確認
 >az storage account network-rule list ^
 --account-name osscjpdevinfra

---ポータルからだと、ストレージ・アカウント → ネットワーク~
→ 選択されたネットワーク → ファイアウォール欄

--動作確認~
AzureStorageExplorerなどで動作確認する(IPアドレス制限も確認する)。

-Event Hubsの作成

--作成
 >az eventhubs namespace create --name osscjpdevinfra --resource-group DplRG -l westus2
 >az eventhubs eventhub create --name OsscJpDevInfra --resource-group DplRG --namespace-name osscjpdevinfra

--IPアドレス制限

---付与
 >az eventhubs namespace network-rule add --resource-group DplRG --namespace-name osscjpdevinfra --ip-address xxx.xxx.xxx.xxx

---確認
 >az eventhubs namespace network-rule list --resource-group DplRG --namespace-name osscjpdevinfra

---ポータルからだと、Event Hubs → ネットワーク~
→ 選択されたネットワーク → ファイアウォール欄

--動作確認~
Confluent.Kafkaなどのライブラリで動作確認する(IPアドレス制限も確認する)。

-Databricksの作成

--PowerShellを起動し

---ログインする。
 >Connect-AzAccount

---サブスクリプションIDを指定する。
 >Set-AzContext -SubscriptionId ...

---リソースプロバイダーを登録する。
 >Register-AzResourceProvider -ProviderNamespace Microsoft.Databricks

--Databricksを作成する。
 >New-AzDatabricksWorkspace -Name mydatabricksws -ResourceGroupName DplRG -Location westus2 -ManagedResourceGroupName DatabricksRG -Sku standard

IP:153.226.106.215 TIME:"2025-04-16 (水) 10:35:08" REFERER:"https://opentouryo.osscons.jp/index.php?cmd=edit&amp;page=%E9%83%A8%E4%BC%9A%E3%83%A1%E3%83%A2%EF%BC%882021%E5%B9%B4%EF%BC%89" USER_AGENT:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36"

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS