こんにちは。X(クロス)イノベーション本部 ソフトウェアデザインセンター セキュリティグループの平岡です。
私は社内のSOCサービスの研究開発メンバーとして、AzureのMicrosoft Defender for Cloud周りの調査を専門に行っています。
最近は、主に推奨事項の発出条件やセキュリティアラートの調査をしたり、顧客開発環境のセキュリティ監視などを行うための仕組みを作っています。
SOC活動を通じて、是非読者の皆さんに試していただきたいと思った情報を、このテックブログで紹介したいと思います。どうぞよろしくお願いします。
さて、今回は、Azure Lighthouseを利用して他サブスクリプションのセキュリティ情報を集約する方法を紹介します。
そもそもどんなシチュエーションでこの設定が役に立つのか?
Azureポータル上では、Microsoft Defender for Cloud等のサービスを通じて、自分のサブスクリプション内のセキュリティ情報を見ることが出来ます。
使用しているサブスクリプションが一つだけなら、セキュリティ情報の管理はそれほど難しくないかもしれません。
しかし、大きな企業になると社内で沢山のサブスクリプションを立てて、それを部署や案件単位で管理していることが多いのではないでしょうか。このような状況であれば、一つのサブスクリプションで、他のサブスクリプションや、異なるテナント間のリソースのセキュリティ情報を集約して、監視することが出来たらとても楽ですよね。
そこで使っていただきたいのがAzure Lighthouseです。
Azure lighthouseとは・・・Azure Lighthouseは、複数のAzure ADテナントの管理を一か所のテナントで行えるようにするものです。これにより、Azureを払い出している部署が、各部署や案件単位で利用するテナントを効率的に構築および提供する事ができるようになります。また、Azure Lighthouse自体の利用料金はかかりません。
Azure Lighthouse とは https://learn.microsoft.com/ja-jp/azure/lighthouse/overview
それでは、早速設定してみます。
今回は委任先のサブスクリプションに対して、委任元のサブスクリプションのセキュリティ情報を集約できるようにします。
1. Azure Lighthouseのデプロイを実施します
(1) Azure Lighthouseのデプロイはポータルからはできない(※ 2023/6/1現在)ため、GithubのARMテンプレートを使用します。テンプレートはリンクから選択します。https://github.com/Azure/Azure-Lighthouse-samples/
(2) README.md内の"Deploy to Azure buttons"から、下記画像のテンプレートを選択します。
Name : Azure Lighthouse - Subscription Deployment
Description : onboard a subscription
2. Azureのカスタムデプロイ画面に遷移後、必須項目を埋めます
サブスクリプション : 委任元のサブスクリプション
リージョン :デプロイ場所
Msp Offer Name : 委任の名称
Msp Offer Description : 委任の説明
Managed By Tenant ID : 委任先のテナントID
Authorizations : 委任内容をjson形式で記述
[
{
"principalId": "<ユーザー等のオブジェクト ID>",
"principalIdDisplayName": "<任意の名前>",
"roleDefinitionId": "<委任する組み込みロール ID>"
}
]
委任先のテナントIDは Azure Acrive Directory>概要 を参照します。
principalId(グループまたはユーザーのオブジェクトID)は Azure Active Directory>グループ(ユーザー) を参照します。
roleDefinitionId(委任する組み込みロールID)は 下記ドキュメントから必要な権限を選択します。
Azure 組み込みロール: https://learn.microsoft.com/ja-jp/azure/role-based-access-control/built-in-roles
3.必須項目の入力完了後、”確認と作成”ボタンを押下しデプロイを完了します
4.委任先のテナントで、ポータルの設定に遷移します
ポータルの設定画面は右上の歯車ボタンを押下します
5.既定のサブスクリプションフィルターのプルダウンを“すべてのディレクトリ”および“すべてのサブスクリプション”に設定します
設定は以上です。
集約先のサブスクリプションでMicrosoft Defender for Cloud画面を見てみましょう。
集約元のサブスクリプションの推奨情報やセキュリティ警告が反映されています。サブスクリプションを行き来しなくても、一つのサブスクリプションでセキュリティ情報が見られるようになり、管理がしやすくなりました。
<推奨事項画面>
<セキュリティ警告画面>
終わりに
今回紹介したAzure Lighthouseを利用することで、一つのサブスクリプションに複数のサブスクリプションの情報を集約することができます。
複数のサブスクリプションの管理をしている方は是非利用してみてください。
私たちは一緒に働いてくれる仲間を募集しています!
セキュリティエンジニア執筆:@hiraoka.eri、レビュー:@fukutake.hiroaki
(Shodoで執筆されました)