kkamegawa's weblog

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

条件付きアクセスを設定してAzure DevOpsへのアクセスを保護する

これはAzure DevOps アドベントカレンダー4日目の記事です。

qiita.com

Azure DevOpsをEntraに接続している場合、条件付きアクセスポリシーを設定して保護が可能です(要Entra Premium P1ライセンス)。

learn.microsoft.com

実際にやってみましょう。

今回は「日本以外からのアクセスをはじく」という条件でやってみるので、まずは条件付きアクセスからLocationを作成します。今回は日本という大雑把なくくりですが、事業所が固定IPアドレスを持っている場合はそこだけにするとかでもいいでしょう。AzureはIPv6もサポートしているので、IPv4のつもりが実はIPv6でアクセスしていたとかならないようにしてください。

条件付きアクセスポリシーのターゲットリソースからクラウドアプリを選び、Azure DevOpsを追加します。ここではorganizationを指定できません。Entraに接続しているAzure DevOps Organizationはすべて同じ条件になります。機密レベルが変わるから条件付きアクセスポリシーを変更したい場合、接続するEntraテナントを変更する以外ありません。

場所の対象をすべての場所とします。

逆に対象外の場所に最初に作成したJapanGeoIPを指定します。

アクセス許可にブロックを指定します。

これで保存すると、日本以外に用意したAzure VMからアクセスするとブロックされます。簡単ですね。自分のテナントなので、最初からブロックしていますが、最初からブロックするとちゃんと使っている人が使えなくなるので、最初は「レポートのみ」にしてレポートを見て正しくブロックで来ているか確認してからにしましょう。

今回は場所のみにしましたが、実際は会社所有デバイス(Entra Joined)にするとか、会社所有じゃないけど、Intune支配下にはいっているものを除くとかであればデバイスフィルターでこんな条件を付けてもいいはずです。