要件
この Wiki ページでは、Runbook を実行できるようにするために必要な要件や(システムレベルの)権限について説明します。
PowerShell モジュール
共有ランブックは GitHub 次の Windows PowerShell 5.1 モジュールを想定/使用します:
RealmJoin.RunbookHelperAz.AccountsAz.StorageAzureADExchangeOnlineManagement
RealmJoin ポータルは、ランブック内で参照されている場合にこれらのモジュールを自動的にインポートおよびインストールします。このインポートはモジュールに指定された最小バージョンも尊重します。
権限
RealmJoin の共有ランブックは Azure Automation の システム割り当てマネージド ID を使用して Entra ID、MS Graph API 等とやり取りします。
以下のロールと権限の一覧は、当社の共有リポジトリで現在利用可能なすべてのランブックを使用できるようにするものです。
ランブックはこの権限セットに対してのみテストされているため、これらのロール/権限を削減することは推奨されません。ロール/権限を削減すると、いくつかのランブックが機能しなくなります。
Entra ID ロール
マネージド ID に次の Entra ID ロールを割り当ててください
ユーザー管理者
クラウド デバイス管理者
Exchange 管理者
Teams 管理者
Graph API 権限
マネージド ID に次の Graph API 権限を付与してください
AppCatalog.ReadWrite.AllApplication.ReadWrite.AllAuditLog.Read.AllBitlockerKey.Read.AllChannel.Delete.AllChannelMember.ReadWrite.AllChannelSettings.ReadWrite.AllCloudPC.ReadWrite.AllDevice.Read.AllDeviceLocalCredential.Read.AllDeviceManagementApps.ReadWrite.AllDeviceManagementConfiguration.ReadWrite.AllDeviceManagementManagedDevices.PrivilegedOperations.AllDeviceManagementManagedDevices.ReadWrite.AllDeviceManagementServiceConfig.ReadWrite.AllDirectory.ReadWrite.AllGroup.ReadWrite.AllIdentityRiskyUser.ReadWrite.AllInformationProtectionPolicy.Read.AllMail.SendOrganization.Read.AllPlace.Read.AllPolicy.Read.AllReports.Read.AllRoleManagement.Read.AllTeam.CreateTeamSettings.ReadWrite.AllUser.ReadWrite.AllUserAuthenticationMethod.ReadWrite.AllWindowsUpdates.ReadWrite.All
その他のアプリ API 権限
マネージド ID に次の Office 365 Exchange Online API 権限を付与してください
Exchange.ManageAsApp
マネージド ID に次の WindowsDefenderATP API 権限を付与してください
Machine.Read.AllMachine.IsolateMachine.RestrictExecutionTi.ReadWrite.All
マネージド ID に次の SharePoint API 権限を付与してください
User.Read.AllSites.Read.AllSites.FullControl.All
ロールと権限の付与
マネージド ID への権限付与は現在 Azure ポータル上で行うことができません。これには MS Graph / PowerShell スクリプトの使用を推奨します。
このプロセスの例は見つけることができます こちら.
Azure リソースの権限
ランブック用の Azure Automation アカウントをホストしているサブスクリプションまたはリソースグループに対して、少なくとも「共同作成者(Contributor)」のアクセスを付与してください
一部のランブックはレポートやバックアップを保存するために Azure ストレージ アカウントを使用します。対応するサブスクリプションまたはリソースグループに対して少なくとも「共同作成者(Contributor)」のアクセスを付与してください。ほとんどのランブックはその後、リソースグループ内にリソースを自動的に作成できます。
認証方法
マネージド ID
Azure Automation は マネージド ID (システム割り当て)を主な認証方法としてサポートします。これは非推奨となった RunAs アカウントに代わるものです。
RealmJoin のランブックは、マネージド ID が構成されていない場合に RunAs アカウントをサポートします。
マネージド ID と RunAs アカウントが同時に構成されている場合、当社のサポート用モジュールの新しいバージョンを使用していると、RealmJoin の共有リポジトリからのランブックは自動的にマネージド ID を優先して使用します。 RealmJoin.RunbookHelper モジュールは v0.8.0 以降で開始します。
古いバージョンのモジュールはマネージド ID を完全に利用できず、RunAs アカウントを優先していました。
マネージド ID に必要な権限を付与するか、完全に無効にして RunAs アカウントのみを使用するようにしてください。
クライアント シークレット
一部のプライベートランブックは ClientID/Secret スタイルの認証を必要とする場合があります。現在、ClientID と Secret を必要とする共有ランブックはありません。
必要な場合、ClientID と Secret は Azure Automation アカウントの管理資格情報「realmjoin-automation-cred」に保存できます。
現在、オートメーション アカウント内の「realmjoin-automation-cred」は RJ ウィザードによってデフォルトで作成されますが、ランダムな値で埋められています — 正しい値で埋める必要があります。
ユーザー アカウント(問題あり)
古いモジュールは操作のために「本物の」ユーザー オブジェクトを必要とする場合があります。
Microsoft Teams は現在マネージド ID 経由で操作できるようになっています。すべての音声/電話用ランブックはマネージド ID を使用するように調整されています。
偽のユーザーを使用したい場合、次を行う必要があります
(ADM-)ユーザー オブジェクトを作成する、例:
ADM-ServiceUser.TeamsAutomationユーザーにパスワードを割り当てる
パスワードの有効期限を無期限にする(またはパスワード変更を適切に追跡する)
このユーザーの MFA を無効にする/条件付きアクセスがユーザーをブロックしないようにする
RealmJoin ランブックで使用する Azure Automation アカウントに資格情報オブジェクトを作成し、資格情報の名前を例えば次のようにする、
fakeuserそしてその資格情報を保存する。
これは推奨される方法ではなく回避すべきです。デフォルトのランブックはもはやこのシナリオを使用していません。
最終更新
役に立ちましたか?