M365アイデンティティガバナンス最新機能と実践的アーキテクチャ

Tech

本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。

M365アイデンティティガバナンス最新機能と実践的アーキテクチャ

クラウド環境におけるセキュリティとコンプライアンスの重要性が高まる中、Microsoft 365(M365)エコシステムにおけるアイデンティティガバナンスは、組織のデジタル資産を保護し、規制要件を満たす上で不可欠です。本記事では、M365のアイデンティティガバナンスを構成するMicrosoft Entra ID Governanceの最新機能に焦点を当て、その実践的なアーキテクチャ、設定手順、運用監視、セキュリティ、コスト、そして潜在的な落とし穴について解説します。

アーキテクチャの概要

M365アイデンティティガバナンスのアーキテクチャは、Microsoft Entra IDを中核とし、Entitlement Management、Access Reviews、Privileged Identity Management (PIM)、Lifecycle Workflows、およびMicrosoft Entra Verified IDといった主要コンポーネントが連携することで、アイデンティティのライフサイクル全体を管理します。

最新機能の組み込み:

  1. Lifecycle Workflowsのカスタム拡張タスク(2024年4月GA): 従来の組み込みタスクに加え、Azure Logic AppsやAzure Functionsを統合することで、入社・異動・退職(Joiner-Mover-Leaver, JML)プロセスを外部システム(人事システム、学習管理システムなど)と連携させ、より複雑な自動化を実現します[1][4]。

  2. Microsoft Entra Verified IDによるアプリケーション認証(2024年3月提供開始): ユーザーがVerified ID(分散型デジタルID)を用いてアプリケーションに認証できるようになり、パスワードレス認証の選択肢を拡大し、セキュリティとユーザーエクスペリエンスを向上させます[2][5]。

  3. ロール割り当て可能なグループのサービスプリンシパル限定(2024年5月プレビュー): Microsoft Entra IDのロールを割り当て可能なグループのメンバーを、ユーザーだけでなくサービスプリンシパルに限定できるようになり、特権アクセス管理の粒度とセキュリティが強化されます[1]。

これらの機能は、M365エコシステム全体にわたるアイデンティティのプロビジョニング、アクセス権の管理、特権アクセスの制御、およびコンプライアンスの確保をより効率的かつ安全に行うための基盤を提供します。

以下に、Lifecycle Workflowsを中心としたアイデンティティガバナンスのアーキテクチャフローを示します。

graph TD
    A["人事システム / 外部連携システム"] --> B{"新入社員入社/異動/退職"};
    B --トリガー --> C["Microsoft Entra Lifecycle Workflows"];
    C --Joiner/Mover/Leaverタスク実行--> D{"ユーザーアカウント作成/更新/無効化"};
    D --カスタム拡張タスク|Azure Logic Apps/Functions|--> E["外部システム連携(例: Slack/LMS)"];
    D --> F{"ライセンス付与"};
    F --> G{"部署別アクセスパッケージ適用"};
    G --Entitlement Management--> H["グループメンバーシップ自動追加"];
    H --> I{"特権ロール昇格設定"};
    I --PIM--> J["Just-In-Timeアクセス許可設定"];
    J --> K["入社時/定期的なアクセスレビュー登録"];
    K --Access Reviews--> L["アクセス権の継続的な見直しと認証"];
    L --> M["セキュリティベースライン適用"];
    M --Conditional Access--> N["アクセス制御ポリシー適用"];
    N --> O["監視とログ記録|Microsoft Entra IDログ/Defender for Identity|"];

図1: アイデンティティライフサイクルガバナンスのアーキテクチャフロー

設定手順

ここでは、Microsoft Entra ID GovernanceのAccess ReviewsをPowerShellで設定する手順を示します。これにより、特定のグループのメンバーシップに対する定期的なレビュープロセスを自動化できます。

前提条件:

  • Microsoft Graph PowerShell SDKがインストールされていること。

  • 適切な管理者権限(Access Reviews管理者など)が付与されていること。

  • レビュー対象となるMicrosoft Entra IDグループが存在すること。

# Prerequisites: Install Microsoft Graph PowerShell SDK


# Install-Module -Name Microsoft.Graph

# 1. Connect to Microsoft Graph with necessary permissions


# IdentityGovernance.ReadWrite.All, Group.Read.All

Connect-MgGraph -Scopes "IdentityGovernance.ReadWrite.All", "Group.Read.All"

# 2. Define variables for the Access Review

$groupId = "YOUR_GROUP_ID" # レビュー対象のグループIDに置き換える
$reviewName = "Quarterly Access Review for Finance Group"
$description = "四半期ごとの財務グループメンバーシップレビュー"
$reviewerId = "YOUR_ADMIN_OBJECT_ID" # レビュー担当者のユーザーオブジェクトIDに置き換える
$durationInDays = 7 # レビュー期間(日)
$recurrenceType = "quarterly" # "weekly", "monthly", "quarterly", "annually", "noRecurrence"
$recurrenceEndType = "never" # "endDate", "occurrences", "never"
$recurrenceEndDate = (Get-Date).AddYears(1).ToString("yyyy-MM-dd") # recurrenceEndTypeがendDateの場合

# 3. Create a new Access Review definition

$params = @{
    DisplayName = $reviewName
    Description = $description
    Scope = @{
        Query = "/groups/$groupId/members"
        QueryType = "MicrosoftGraph"
    }
    Reviewers = @(
        @{
            Query = "/users/$reviewerId"
            QueryType = "MicrosoftGraph"
        }
    )
    Settings = @{
        MailNotificationsEnabled = $true
        RemindersEnabled = $true
        RecommendationEnabled = $true

        # AutoApplyRecommendationsEnabled = $true # 推奨事項を自動適用する場合

        JustificationRequiredOnApproval = $true

        # DefaultDecision = "Approve" # "Approve", "Deny", "NoDecision"


        # DecisionMakerType = "Reviewers" # "Reviewers", "Self"

        Recurrence = @{
            Pattern = @{
                Type = $recurrenceType
                Interval = 1 # for quarterly, this means every 1 quarter

                # DayOfWeek = "Monday" # for weekly/monthly

            }
            Range = @{
                Type = $recurrenceEndType

                # EndDate = $recurrenceEndDate # If recurrenceEndType is "endDate"

            }
        }
        DurationInDays = $durationInDays

        # If no one responds, what happens? "Deny", "Approve", "RemoveAccess", "NoChange"

        IfNotReviewed = "Deny"
    }
}

New-MgIdentityGovernanceAccessReviewDefinition -BodyParameter $params

# 4. Disconnect from Graph

Disconnect-MgGraph

コード1: Microsoft Graph PowerShell SDKによるAccess Review定義の作成

このスクリプトは、特定のMicrosoft Entra IDグループに対して四半期ごとのアクセスレビューを定義します。レビュー担当者、期間、未回答時のアクションなどを細かく設定可能です。

運用監視

M365アイデンティティガバナンスの運用監視は、システムの健全性を保ち、セキュリティインシデントに迅速に対応するために不可欠です。

  • 可観測性: Microsoft Entra IDの監査ログ、サインインログ、プロビジョニングログなどをMicrosoft SentinelやAzure Monitor Log Analyticsに統合し、集中監視を行います。特に、PIMでのロール昇格イベント、Access Reviewsの結果、Lifecycle Workflowsの実行状況は継続的に監視すべきです。

  • ログ管理: すべての関連ログは、法的要件およびコンプライアンス要件に従って、適切な期間保持します。Microsoft Entra ID P2ライセンスには、最大30日間のログ保持が含まれますが、長期保存にはLog Analyticsへのエクスポートが推奨されます[3]。

  • SLAとバックアップ/DR: Microsoft Entra ID自体はMicrosoftが管理する高可用性サービスであり、SLAが適用されます。ただし、設定データやカスタムスクリプト(Lifecycle Workflowsのカスタム拡張で利用するAzure Functionsなど)は、Azure DevOpsなどのバージョン管理システムで管理し、定期的なバックアップと災害復旧(DR)計画を策定することが重要です。

セキュリティ

アイデンティティと権限の境界を明確にし、M365エコシステム全体のセキュリティを強化します。

  • Microsoft Entra ID: 全てのM365リソースへのアクセスを制御する中核です。多要素認証(MFA)を必須とし、Entra ID Protectionによるリスクベースの条件付きアクセスを導入します。

  • ロールとPrivileged Identity Management (PIM): 最小権限の原則を徹底し、特権ロール(グローバル管理者、Exchange管理者など)はPIMを通じてJust-In-Time (JIT) アクセスを必須とします。これにより、恒久的な特権アクセスを排除し、アクセス期間を限定します。2024年5月にプレビューされたロール割り当て可能なグループのサービスプリンシパル限定は、特に自動化されたプロセスにおける特権管理を強化するものです[1]。

  • 条件付きアクセス (CA): ユーザー、デバイス、場所、アプリケーション、サインインリスクなどの条件に基づいてアクセスを制御します。例えば、特定の管理タスクには、MFAと準拠デバイスからのアクセスを必須とするといったポリシーを適用します[7]。

  • Microsoft Defender for Identity: オンプレミス環境のActive Directoryを監視し、IDベースの脅威(ゴールデンチケット攻撃、パスザハッシュ攻撃など)を検出・対処します。Entra ID Protectionと連携することで、ハイブリッド環境全体でのアイデンティティ脅威からの保護を強化します。

コスト

M365アイデンティティガバナンス関連機能の利用には、通常、Microsoft Entra ID P2ライセンスが必要です。

  • Microsoft Entra ID P2: Entitlement Management、Access Reviews、Privileged Identity Management (PIM)、Lifecycle Workflows、およびEntra ID Protectionといった主要なガバナンス機能を利用するには、Microsoft Entra ID P2ライセンスがユーザーごとに必要となります[3]。

  • コスト最適化:

    • ライセンス最適化: 全てのユーザーにP2ライセンスが必要なわけではありません。ガバナンス機能を利用する管理者、特権ロールを持つユーザー、またはアクセスレビューの対象となるユーザーに対してのみP2ライセンスを割り当てることでコストを最適化できます。ただし、Lifecycle Workflowsはテナント内の全てのユーザーに対して適用可能であり、対象ユーザー数に応じたライセンスが必要になる場合があります。

    • Azureリソースの最適化: Lifecycle Workflowsのカスタム拡張タスクで利用するAzure Logic AppsやAzure Functionsは、従量課金モデルが基本です。実行回数や実行時間に応じて課金されるため、効率的な設計と不要な実行の削減によりコストを抑制できます。

    • 既存ライセンスの活用: Microsoft 365 E5やEnterprise Mobility + Security E5(EMS E5)には、Microsoft Entra ID P2が含まれているため、既存のライセンスポートフォリオを確認し、重複購入を避けることが重要です。

落とし穴

アイデンティティガバナンスの実装には、いくつかの一般的な落とし穴が存在します。

  • 過剰なアクセス権の付与: 最初から広範なアクセス権を付与し、後にレビューで削減しようとすると、ユーザーからの抵抗や業務停止のリスクが生じます。最小権限の原則に基づき、必要なアクセス権のみを付与するゼロトラストの考え方を導入すべきです。

  • レビュー疲労: Access Reviewsの頻度が高すぎたり、レビュー対象が多すぎたりすると、レビュー担当者が疲弊し、形骸化するリスクがあります。適切な範囲と頻度を設定し、推奨事項の自動適用などを活用してレビュー担当者の負担を軽減することが重要です。

  • ライフサイクルワークフローの複雑化: カスタム拡張タスクの導入により、複雑なワークフローを構築できますが、過度に複雑にすると管理が困難になり、トラブルシューティングのコストが増大します。段階的に導入し、シンプルさを保つことを心がけます。

  • テスト不足: 新しいガバナンスポリシーやワークフローを展開する前に、テスト環境で徹底的に検証しないと、予期せぬアクセス拒否や業務中断を引き起こす可能性があります。

  • ユーザーへの周知不足: ガバナンスポリシーの変更や新しいプロセスの導入に際し、ユーザーへの十分な説明とトレーニングが不足していると、混乱や不満が生じやすくなります。

まとめ

M365アイデンティティガバナンスは、Microsoft Entra ID Governanceの最新機能を活用することで、より高度で自動化されたアイデンティティ管理を実現します。Lifecycle Workflowsのカスタム拡張タスクやMicrosoft Entra Verified IDによる認証強化は、今後のアイデンティティ管理において重要な役割を果たすでしょう。

堅牢なアーキテクチャ設計、適切な設定手順、継続的な運用監視、多層的なセキュリティ対策、そしてコスト最適化の視点を持つことが成功の鍵です。また、過剰なアクセス権付与やレビュー疲労、複雑化といった落とし穴を避け、段階的かつ計画的に導入を進めることで、組織のセキュリティ体制とコンプライアンス順守を強力に推進できます。クラウドアーキテクトとして、これらの最新機能を最大限に活用し、セキュアで効率的なM365環境の構築を目指しましょう。


参考文献: [1] Microsoft Learn, “What’s new in Microsoft Entra ID”, https://learn.microsoft.com/en-us/entra/fundamentals/whats-new, 2024年5月28日 (JST) 最終確認. [2] Microsoft Learn, “What’s new in Microsoft Entra ID – March 2024”, https://learn.microsoft.com/en-us/entra/fundamentals/whats-new-march-2024, 2024年5月28日 (JST) 最終確認. [3] Microsoft Learn, “What is Microsoft Entra Identity Governance?”, https://learn.microsoft.com/en-us/entra/id-governance/identity-governance-overview, 2024年5月28日 (JST) 最終確認. [4] Microsoft Learn, “Configure custom extension for lifecycle workflows”, https://learn.microsoft.com/en-us/entra/id-governance/lifecycle-workflows-configure-custom-extension, 2024年5月28日 (JST) 最終確認. [5] Microsoft Learn, “Microsoft Entra Verified ID overview”, https://learn.microsoft.com/en-us/entra/verified-id/verified-id-overview, 2024年5月28日 (JST) 最終確認. [6] Microsoft Learn, “Microsoft Entra Privileged Identity Management (PIM)”, https://learn.microsoft.com/en-us/entra/id-governance/privileged-identity-management/pim-configure, 2024年5月28日 (JST) 最終確認. [7] Microsoft Learn, “What is Conditional Access?”, https://learn.microsoft.com/en-us/entra/identity/conditional-access/overview, 2024年5月28日 (JST) 最終確認.

ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

タイトルとURLをコピーしました