Oktaサービスアカウントの権限
ディレクトリの権限を調整する前に、Active Directory(AD)の権限がどのように設定されるかを理解し、環境内の権限の管理方法を計画してください。このタスクの実行に必要なアカウント要件の詳細については、「Active Directory統合の前提条件」を参照してください。
このトピックは3つの部分に分かれています。サービスアカウントに必要な権限、オプションのユースケース、およびリファレンスについて説明します。
必要な権限
既存のアカウントが選択されていない場合は、デフォルトで、Okta ADエージェントのインストーラーがOktaServiceというOktaサービスカウントを作成します。このアカウントはDomain Usersグループの権限を継承します。また、OktaServiceは、エージェントの実行中にAuthenticated UsersとEveryone特別IDグループのメンバーになります。デフォルトでは、Authenticated Usersグループは、Pre-Windows 2000 compatible Accessグループのメンバーです。Pre-Windows 2000 Compatible AccessグループからAuthenticated Usersグループを削除すると、増分インポートで問題が発生する可能性があります。増分インポートの問題を解決するためにお勧めの方法は、次のいずれかの変更を行うことです。
- OktaサービスアカウントをWindows 2000以前と互換性のあるアクセスグループに追加します。
- Oktaサービスアカウントに、同期されたすべてのADオブジェクトに対する[Read all(すべて読み取り)]権限があることを確認します。
Okta ADエージェント管理ユーティリティには、OktaServiceアカウントをドメイン管理者グループに追加するオプションも含まれています。ここに示されている機能が必要な一方で、サービスアカウントを完全な管理者にしたくない場合は、適切なユースケースに対して権限が設定されていることを確認してください。
ユースケース
これらは、オプションのユースケースのいくつかで必要となる権限です。
ユーザーをプロビジョニングする
サービスアカウントがユーザープロビジョニングを行うには、次の権限が必要です。
- 対象組織単位(OU)でのユーザーオブジェクトの子の作成権限が必要です。
- 対象OUでのユーザーオブジェクトの子の削除権限が必要です。
- 対象OU内のユーザーオブジェクトに対するパスワードリセットのアクセス権の制御が必要です。
- 次の属性について、対象OU内のユーザーオブジェクトに対するプロパティ書き込み権限が必要です。
- userPrincipalName
- SAMaccountName
- givenName
- sn
- userAccountControl
- pwdLastSet
- lockoutTime
- cn
- name
- Okta内のADユーザープロファイルにマッピングされるその他すべての属性について、対象OU内のユーザーオブジェクトに対するプロパティの書き込み権限が必要です。マッピングは、https://<org>/admin/universaldirectoryの[Directories(ディレクトリ)]の下にリストされます。
このユースケースの権限を設定するには、PowerShellで次のコマンドを使用します。
dsacls "OU=targetOU,DC=domain" /G domain\agentserviceaccount:CCDC;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;mail;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;userPrincipalName;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;sAMAccountName;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;givenName;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;sn;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;userAccountControl;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;pwdLastSet;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;lockoutTime;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;cn;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;name;user
ユーザー属性を更新する
サービスアカウントがユーザー属性を更新するには、次の権限が必要です。
- 次の属性について、対象OU内のユーザーオブジェクトに対するプロパティ更新権限が必要です。
- userPrincipalName
- SAMaccountName
- givenName
- sn
- userAccountControl
- pwdLastSet
- lockoutTime
- cn
- name
- https://<org>/admin/universaldirectoryのADユーザープロファイルにマッピングされるその他すべての属性について、対象OU内のユーザーオブジェクトに対するプロパティ更新権限が必要です。
このユースケースの権限を設定するには、PowerShellで次のコマンドを使用します。
# Okta内の組織でマッピングされている他の属性を含めます dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;mail;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;userPrincipalName;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;sAMAccountName;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;givenName;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;sn;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;userAccountControl;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;pwdLastSet;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;lockoutTime;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;cn;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;name;user
グループプッシュまたは双方向グループ管理
グループプッシュまたは双方向グループ管理を実行するには、サービスアカウントに次の権限が必要です。「グループプッシュ」と「Active Directoryを使った双方向グループ管理」を参照してください。
- 対象OUでのグループオブジェクトの子の作成権限が必要です。
- 対象OUでのグループオブジェクトの子の削除権限が必要です。
- 次の属性について、対象OU内のグループオブジェクトに対するプロパティーの更新権限が必要です。
- sAMAccountName
- description
- groupType
- member
- cn
- name
このユースケースの権限を設定するには、PowerShellで次のコマンドを使用します。
dsacls "OU=targetOU,DC=domain" /I:T /G domain\agentserviceaccount:CCDCDT;group # ユースケースで子オブジェクトにのみ前述の権限を付与する必要がある場合は、 /I:Tを/I:Sに置き替えられます dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;sAMAccountName;group dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;description;group dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;groupType;group dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;member;group dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;cn;group dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;name;groupパスワードをリセットする、忘れたパスワードを確認する、パスワードを同期する
パスワードリセット、同期、パスワード忘れのユースケースを処理するには、サービスアカウントに次の権限が必要です。
- 次の属性について、対象OU内のユーザーオブジェクトに対するプロパティ更新権限が必要です。
- lockoutTime
- pwdLastSet
- 対象OU内のユーザーオブジェクトに対する、パスワードのリセットのアクセス権の制御の権限が必要です。
このユースケースの権限を設定するには、PowerShellで次のコマンドを使用します。
dsacls "OU=targetOU,DC=domain" /I:S /G "domain\agentserviceaccount:CA;Reset Password;user" dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;pwdLastSet;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;lockoutTime;user
ユーザーをアクティブ化する/非アクティブ化する
- 次の属性について、対象OU内のユーザーオブジェクトに対するプロパティーの更新権限が必要です。
- userAccountControl
このユースケースの権限を設定するには、PowerShellで次のコマンドを使用します。
dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;userAccountControl;user
コマンドリファレンス
リストされているコマンドを使用して権限を追加します。それをバッチファイルに保存し、環境に合わせて対象OUとサービスアカウント情報を変更します。必ず不要な権限を削除し、Okta内のプロビジョニング用にマッピングしたすべての属性を追加します。ユーザー属性の完全なリストは、https://<org>/admin/universaldirectoryのディレクトリユーザープロファイルから取得することができます。PowerShellからdsaclsコマンドを管理者権限で実行します。これらの権限を得るには、PowerShellの起動時に[Run as administrator(管理者として実行)]オプションを使用します。
# ユーザーを作成します dsacls "OU=targetOU,DC=domain" /G domain\agentserviceaccount:CC;user # ユーザーを作成または更新します # Okta内の組織でマッピングされるその他の属性を含めます dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;mail;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;userPrincipalName;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;sAMAccountName;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;givenName;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;sn;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;userAccountControl;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;pwdLastSet;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;lockoutTime;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;cn;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;name;user # ユーザー/パスワードリセットを作成します dsacls "OU=targetOU,DC=domain" /I:S /G "domain\agentserviceaccount:CA;Reset Password;user" dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;pwdLastSet;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;lockoutTime;user # グループプッシュ dsacls "OU=targetOU,DC=domain" /I:T /G domain\agentserviceaccount:CCDCDT;group # If your use case requires that you grant the preceding permission only for child objects, you can replace /I:T with /I:S. dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;sAMAccountName;group dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;description;group dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;groupType;group dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;member;group dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;cn;group dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;name;group