kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

Azure DevOps 2022/4/20の更新

Azure DevOps Sprint 202リリースノートの翻訳を行いました。オリジナルはこちらからご覧ください。

docs.microsoft.com

監査機能がオプトインに代わって(使っている人少なかったんかな)、Azure ADで運用しているアカウントのみ使用可能になってしまいました。私がもっているAzure DevOpsも個人のMSアカウントでは確かに監査(Audit)が消えています。

左がAzure ADで動かしているAzure DevOps、右が個人用MSアカウントで動かしているAzure DevOps。すでに監査を使っている人には影響がありませんが、新規に作った環境ではオプトインしなければならないので気を付けてください。

あれ…REST APIも使えなくなるのかな。今これ使ってMSアカウントのほうではまだAPI使ってアクセスできていますね。うーん、謎(たぶんUI消しただけなのかな)。

たまにログインできない現象を聞いたことがあったのですが、どうもCAP(条件付きアクセスポリシー)を設定してIPアドレスベースで制限していた場合のみ発生していたようですね。IPv4のみ許可していた場合起きていたようなので、Azure AD管理者と相談してくださいということだそうです。

新しいBoards Hubがパブリックプレビューになったそうです。以前はjQueryベースでしたが、いろいろ変わっているようなので、興味ある人はdeveloper toolsで見ると面白いかもしれません。

久々の大きい機能templateContextがAzure Pipelinesに追加されています。でもこれ使いこなすの難しそうな…MS内部では便利に使うのでしょうけれど。今までテンプレートに渡された引数によって処理を分けたい場合、内部のスクリプトで条件分岐するとか、条件分岐を使わないといけませんでしたが、templateContextを使えば記述がより単純に見やすくなりますね。これは確かに便利そうです。

Windows Server 2016のイメージを使っている人がまだ結構いるようで、引退が少し延びました。以前は数時間単位での意図的な停止でしたが、今度は丸一日(おそらくUTC時間)で毎週どこかの平日の曜日で落とすそうなので、これに引っかからない人はいないと思います。気を付けてください。

ではまた三週間後。

Translate to Japanese to Azure DevOps release not…

Azure DevOps 2022/3/29の更新

だいぶ遅れましたが、Azure DevOps sprint 201リリースノートの翻訳を行いました。オリジナルはこちらからご覧ください。

docs.microsoft.com

今までREST API使ったら削除したはずの添付ファイルを履歴からとってこれたんですね😅。これはコンプラ上どうなんだというきはしますので、改善されて何よりです。パイプライン用の拡張機能で拡張するためのエンドポイントが増えたのはいいことです。活用する拡張機能できるといいですね。

Azure DevOps ServerからServiceへ移行するとき、オンプレミスのサーバー版には存在したパイプラインごとの保持ポリシーが無効になります。このミスマッチが移行時の問題になることが多かったので、改善するそうです。とはいえ、日本語照合順序の移行を早くですね。

今までREST APIでパイプラインの結果を取得するとき自分自身のレポジトリしかとってこれなかったのですが、すべてのレポジトリが対象になるようです。そういうビューを作っている人向けには処理が簡単になりそうですね。

ではまた三週間後。

Translate to Japanese to Azure DevOps release not…

Azure DevOpsに侵入されないために

www.microsoft.com

www.itmedia.co.jp

※ セキュリティの専門家ではないので、Azure DevOpsの設定とか当たり前の話になります。

上記のブログをベースに追加の話を書いていきます。

MFA(多要素認証)を使おう

  • とはいってもSIM持ち出されるとつらいので、SMSでのメッセージ送信は避けたほうがいいかもね。
  • 「この場所ならMFAをバイパスする」ってのはやめよう。
  • 複数のユーザーでMFAデバイスや認証の共有は避ける

信頼できるデバイスで

f:id:kkamegawa:20220324213844p:plain

Azure ADの条件付きアクセスポリシーを使いましょう。Azure AD参加済みデバイスで所定のセキュリティ設定を満たしたものだけ使えるようにしましょう。ただしAzure AD Premium P1が必要ですが。

外部ユーザーのアクセス

これはB2Bでコラボレーションするときもあるので難しいですが、External Guest Accessの設定を有効にする場合気を付けてください。

サードパーティアプリの使用

f:id:kkamegawa:20220324213848p:plain

Third-party application access via OAuthを有効にする場合、そこが侵入経路にならないようにしましょう。定期的に棚卸して、使ってないものは消しましょう。

https://app.vssps.visualstudio.com/

このURLからアクセスすれば自分のIDで認証しているアプリケーション一覧が出てきます。

監査設定をしよう

f:id:kkamegawa:20220324213851p:plainf:id:kkamegawa:20220324213840p:plain

organization設定のAuditingから設定します。逐次見るのはつらいので、Event Grid, Monitor, Splunkなどへ出力して、イベントで何らかの通知をするようにしましょう。

パスワードリセットは慎重に

Azure ADにはセルフサービスパスワードリセットがありますが、高/中リスクユーザーに対してはブロックしましょう。特権ユーザーはリスク中でもダメ。

Azure AD Identity Protectionでリスク判定しよう(Premium P2必要)。

教育

今回はソーシャルエンジニアリング(要はだます)でやられてしまったようですが、これは教育でもなかなか難しいので、「このURL踏んでパスワードリセットしましょう」とかは絶対詐欺だから!って単純にするのがいいのかなぁ?

複雑に条件付けすると迷いますからね。

Azure AD参加するときに0x8018000aが出て参加できない

PCのアカウントをローカルのADからAzure AD Joinしようとすると0x801800aが出て参加できない状況になってしまいました。原因は\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Enrollmentsにすでにキーができていると参加できないようです。

Enrollments配下のレジストリで Context, Ownership, Status , ValidNodePaths以外を削除すれば参加可能になります。もちろんAzure ADにデバイスが登録されていないことが前提になります。