メインコンテンツへスキップ

認証とセットアップ

Azure Active Directoryの設定 - 認証およびユーザー管理ツール Azure Active Directoryのユーザー一覧表示、パスワードリセット、ユーザー有効化/無効化ツール Azure Active Directory(Azure AD)の統合は、Azure AD App Registrationを通じたOAuth 2.0認証を使用したMicrosoft Graph APIを利用します。自動化されたユーザー管理には、委任権限ではなくアプリケーション(管理者レベル)権限が必要です。組織は、Azure Portalで適切な権限と管理者同意を持つAzure ADアプリケーションを作成する必要があります。Azure AD(Entra ID)によるユーザープロビジョニング、ライセンス管理、グループ管理、セキュリティ操作をサポートしています。

必要なアプリケーション権限

  • User.ReadWrite.All: ユーザーアカウントの作成、読み取り、更新、削除を行います。
  • User.Read.All: ユーザープロファイルへの読み取り専用アクセスです。
  • Group.ReadWrite.All: グループメンバーシップとプロパティを管理します。
  • Directory.ReadWrite.All: 高度な操作のためのフルディレクトリアクセスです。
  • UserAuthenticationMethod.ReadWrite.All: MFAと認証方法を管理します。

利用可能な操作

すべての必要な権限を設定すると、ツールキットは以下の操作を可能にします。

ユーザー管理

  • Get User: メール、名前、部署、役職、マネージャーを含むユーザープロファイルを取得します。
  • List Users: 部署、場所、またはカスタム属性でフィルタリングし、すべてのユーザーを照会します。
  • Create User: UPN、表示名、パスワード、ライセンスを指定して新しいユーザーアカウントをプロビジョニングします。
  • Update User: 部署、電話番号、役職、オフィス場所など、ユーザーのプロパティを変更します。
  • Delete User: ユーザーアカウントを削除します(ソフト削除;30日間復元可能です)。
  • Restore User: ごみ箱からソフト削除されたユーザーを復元します。
  • Get User Photo: ユーザープロフィール写真を取得します。
  • Set User Photo: ユーザーのプロフィール写真をアップロードします。

パスワード管理

  • Reset Password: パスワードのリセットを強制し、一時パスワードを送信します。
  • Force Password Change: 次回のサイン時にパスワードの変更を要求します。
  • Set Password: ユーザーアカウントに特定のパスワードを設定します。
  • Get Password Policies: パスワードの複雑性と有効期限の設定を取得します。

アカウント制御

  • Disable Account: アカウントを削除せずにユーザーのサインインをブロックします。
  • Enable Account: 無効化されたユーザーアカウントを再有効化します。
  • Revoke Sessions: すべてのアクティブなセッションとリフレッシュトークンから強制サインアウトします。
  • Block Sign-In: 特定のユーザーがリソースにアクセスするのを防止します。

ライセンス管理

  • Assign License: Office 365、Microsoft 365、またはAzureのライセンスをユーザーに割り当てます。
  • Remove License: ユーザーからライセンスを解除します。
  • Get User Licenses: ユーザーに割り当てられたすべてのライセンスを表示します。
  • List Available Licenses: 組織のライセンスプールと空き状況を照会します。
  • Batch License Assignment: 複数のユーザーに同時にライセンスを割り当てます。

グループ操作

  • Create Group: セキュリティグループ、Microsoft 365グループ、または配布リストを作成します。
  • Get Group: メンバーとオーナーを含むグループの詳細を取得します。
  • List Groups: フィルタリング付きですべてのグループを照会します。
  • Update Group: グループのプロパティを変更します。
  • Delete Group: ディレクトリからグループを削除します。
  • Add User to Group: ユーザーにグループメンバーシップを付与します。
  • Remove User from Group: グループメンバーシップを剥奪します。
  • List Group Members: グループ内のすべてのユーザーを取得します。
  • List Group Owners: グループの管理者を表示します。

ディレクトリロール

  • Assign Role: 管理者ロール(グローバル管理者、ユーザー管理者など)を付与します。
  • Remove Role: 管理者権限を剥奪します。
  • Get User Roles: ユーザーに割り当てられたすべてのロールを表示します。
  • List Available Roles: ディレクトリロールテンプレートを照会します。

マネージャー関係

  • Get Manager: ユーザーの直属のマネージャーを取得します。
  • Set Manager: ユーザーにマネージャーを割り当てます。
  • Remove Manager: マネージャーの割り当てを解除します。
  • Get Direct Reports: マネージャーに報告するすべてのユーザーを一覧表示します。

認証方法

  • Get Auth Methods: 設定されたMFA方法(電話、メール、認証アプリ)を表示します。
  • Add Auth Method: 新しい認証方法を登録します。
  • Remove Auth Method: 認証方法を削除します。
  • Reset MFA: MFA登録をクリアし、再登録を強制します。

設定オプション

  • Default Domain: 新規ユーザー作成用のプライマリドメインを設定します。
  • Password Complexity: 最小パスワード要件を設定します。
  • License Defaults: 新規ユーザーに特定のライセンスを自動割り当てします。
  • Group Templates: 新規ユーザーを追加する標準グループを設定します。

ユースケース

  • ユーザーオンボーディング: アカウント作成、ライセンス割り当て、グループメンバーシップを含む新入社員のプロビジョニングを自動化します。
  • オフボーディング: 退職社員のアカウント無効化、ライセンス剥奪、グループメンバーシップの削除を行います。
  • パスワードリセット: サポートチケットからトリガーされるセルフサービスパスワードリセットワークフローです。
  • ライセンス管理: 使用状況に基づいてライセンスの割り当てを最適化し、未使用のライセンスを回収します。
  • セキュリティ監査: 管理者ロールの割り当てと特権アクセスを監視します。
  • 一括操作: 組織変更(部署異動、役職変更)のための大规模ユーザー更新を行います。
  • コンプライアンスレポート: コンプライアンス監査用のユーザーアクセスレポートを生成します。
  • HR統合: HRシステムとAzure AD間でユーザーデータを同期します。

ベストプラクティス

  • Service Principalの使用: 個人アカウントではなく、専用のアプリ登録を作成してください。
  • 最小権限: 操作に必要な最小限の権限を付与してください。
  • 管理者同意: テナント管理者がアプリケーション権限への同意を確実に付与してください。
  • エラーハンドリング: 同時変更競合を適切に処理してください。
  • 一括操作: 大規模なユーザーアップデートにはバッチエンドポイントを使用してください。
  • 監査ログ: コンプライアンスのためにすべてのユーザー管理操作を記録してください。

セキュリティに関する考慮事項

  • クライアントシークレットは安全に保管し、定期的にローテーションしてください(最大2年の有効期限)。
  • Azure AD監査ログでアプリのサインインとAPI使用状況を監視してください。
  • 機密操作(ロールの割り当て、削除)には承認ワークフローを実装してください。
  • 条件付きアクセスポリシーを使用して管理者操作を保護してください。

よくある問題と対処法

  • 権限が不十分です: アプリに管理者同意付きの必要なアプリケーション権限があることを確認してください。
  • ライセンスが利用できません: 割り当て前に組織のライセンスプールを確認してください。
  • UPNの競合: ユーザー作成時にユーザープリンシパル名が一意であることを確認してください。
  • Immutable ID: クラウド専用アカウントのimmutableIdは変更できません。