Entra ID

# EntraID（旧：AzureAD）
EntraIDとはMicrosoftが提供するクラウドべースのアイデンティティおよびアクセス管理サービス。組織や個人のデジタル資産を安全に保護し効率的に管理するためのツール。
※アイデンティティ：システムやネットワークで特定のユーザーやデバイスを識別するための情報

## 主な機能と目的

> ①ユーザー認証とシグナルサインオン（SSO）

- 企業や組織のユーザーが複数のアプリケーション（Microsoft365やその他SaaSアプリ）に1度のログインでアクセス可能
- パスワードレス認証や多要素認証（MFA）に対応

> ②アイデンティティ管理

- 従業員、パートナー、顧客のアイデンティティを一元管理
- ActiveDirectoryとの統合が可能でオンプレミスとクラウドの両方で利用可能

> ③アクセス制御とセキュリティ

- 条件付きアクセス（場所、デバイス、リスクレベルに基づいた制御）
- セキュリティレポートやアラートで不正アクセスを検出

> ④アプリケーション統合

- Microsoftの製品だけでなくGoogleWorkspaceやSalesforceなどのサードパーティアプリとも連携可能

> ⑤B2B・B2Cシナリオ

- B2B（Business-to-Business）：外部パートナーとのコラボレーションを簡素化。外部パートナーや請不業者が自分のアイデンティティ（MicrosoftアカウントやGoogleアカウント）を使って安全にリソースにアクセス可能
- B2C（Business-to-Consumer）：カスタマーポータルやアプリケーションで顧客向けの安全なログイン機能を提供

## Entra IDの技術的な特徴

> ①クラウドとの統合

- Entra IDはクラウド専用またはハイブリット環境（オンプレミスのActiveDirectoryと連携）で利用可能
- Azure AD Connectを使用してオンプレミスとクラウド間のデータを同期

> ②アイデンティティガバナンス

- ライフサイクル管理：従業員やパートナーのアカウントを自動的にプロビジョニングおよデプロビジョニング
- アクセスレビュー：アクセス権を定期的に見直して不要な権限を削除

> ③セキュリティ基盤

- ゼロトラストモデル：「信頼しない、常に検証する」を前提としたセキュリティアプローチ
- Microsoftディフェンダーとの統合：Entra IDとMicrosoft Defenderを組み合わせて脅威に対応

> ④APIと開発者向け機能

- Microsoft Graph APIを使用してEntra IDをアプリケーションに統合
- 開発者はカスタム認証フローやトークンのカスタマイズが可能
※API：アプリケーション・プログラミング・インターフェイスの略。異なるソフトウェア間が情報や機能をやり取りするための仕組み。プログラム同士が会話するためのルールや手順が定義されたもの。


## EntraIDの位置付け

EntraIDはMicrosoftのEntraファミリー（アイデンティティとアクセス管理の包括的なプラットフォーム）の一部。
他の関連サービスには「Entra Permissions Management」や「Entra Verified ID」などが含まれる

**組織のデジタルセキュリティを強化しつつ利便性を向上させるためのツール**

# Entra IDのアーキテクチャと技術的な仕組み
具体的な技術面やユースケースに焦点を当てて深掘りしていく
※アーキテクチャ：システムや構造物の設計思想や構造

## アーキテクチャの構成
Entra IDはマルチテナント型クラウドサービスであり以下の要素で構成されている

**ディレクトリサービス**
各組織が独自のテナントを持ち、ユーザー、グループ、デバイスなどの情報を格納

**認証エンジン**
OAuth2.0、OpenID Connect、SAMLなどの標準プロトコルを用いて安全な認証を実現

**セキュリティとガバナンス機能**
AIを活用した脅威検出、アクセスレビュー、自動化されたライフサイクル管理

**APIレイヤー**
Microsoft Graph APIを通じて他のアプリケーションと連携可能

## 認証プロトコル

**OAuth2.0**
アクセストークンを用いたリソースアクセス

**OpenID Connect (OIDC)**
OAuth2.0を拡張し認証情報を提供

**SAML(Security Assertion Markup Language)**
既存の企業アプリケーションとの統合に使用

**WS-Federation**
レガシーシステムとの互換性を確保

**FIDO2/WebAuthn**
パスワードレス認証の実現

## 条件付きアクセスポリシーの詳細
条件付きアクセスはゼロトラストセキュリティモデルの中心であり、以下の条件で柔軟にアクセス制御を行う

**ユーザー属性**
ユーザーのグループ、ロール、部署

**デバイスの状態**
管理されたデバイス、デバイスコンプライアンス状況

**場所（IPアドレスや地理的情報）**
特定の地域またはVPN経由でのアクセス許可/拒否

**リスクレベル**
Microsoftが提供するAIベースのリスク検出（例：異常なログイン活動）

**アプリケーションの種類**
SaaS、カスタムアプリ、オンプレミスアプリ

[例]
未承認デバイスからのアクセスをブロック、海外IPからのログインにはMFA（多要素認証）を必須化

## セキュリティとリスク管理の高度化
Entra IDはAI機械学習を活用してリアルタイムで脅威を検出し対策をする

**ID保護（Identity Protection）**
ID保護機能はリスクの高いものを自動検出し対策をする
> リスクの種類
- 不審なログイン（例：異常な場所やデバイスからのアクセス）
- 過去に漏洩したパスワードの使用
- 機械学習に基づく異常行動の検知
> 対応例
- ユーザーに強制的にパスワード変更を要求
- 条件付きアクセスを用いて一時的なアクセス制限

**多要素認証（MFA）**
複数の認証要素を組み合わせることでアカウント乗っ取りを防ぐ
> 認証方式
- Microsoft Authenticatorアプリ
- SMSコードまたは音声通話
- 生体認証（指紋・顔認証）

## 開発者向け機能とAPI
Entra IDは開発者がアプリケーションに取り組める多くの機能を提供している

> Microsoft Graph API
Grath APIを使用して以下の操作が可能

- ユーザーやグループの管理
- アクセス権の動的な変更
- サインインのログ取得

> カスタムアプリケーションの統合
独自のアプリケーションで以下を実現できる

- シグナルサインオン（SSO）の設定
- カスタムロールとアクセス許可の適用
- アプリケーション内でのユーザー属性の利用

## 実際のユースケース

> 企業の従業員管理
- 入社時に自動でOffice365やその他の業務アプリへのアクセスをプロビジョニング
- 部署異動や退職時にはアクセス権を変更または削除
- 条件付きアクセスで患者データへの不正アクセス防止

> 医療業界
- 医療機関が外部の専門家に一時的なアクセス権を付与しプロジェクト終了後に自動削除
- 条件付きアクセスで患者データへの不正アクセス防止

> 教育機関
- 学生と職員のアクセスを分離しカスタマイズされた認証ポリシーを適用
- クラウドベースのラーニングプラットフォームとのシームレスな連携

## Entra IDの管理ポータル
管理者は以下のポータルを使用して設定やモニタリングを行う
> Microsoft Entra管理センター
- ユーザーとグループの管理
- アプリケーションとデバイスの統合設定
> Azureポータル
- より詳細なカスタマイズや統合設定
> PowerShellとCLI
- 大規模なスクリプト操作や自動化

## Entra IDと他のEntraの関係
Entra IDはMicrosoftのEntraファミリーに属する製品の中核として位置付けられる。他の製品と連携することでアイデンティティ管理を包括的に強化できる

**Entra Permissions Management**
クラウド環境でのアクセス権の可視化と制御

**Entra Verified ID**
デジタル証明書を用いてユーザーやデバイスの信頼性を保証

# Entra IDのユーザー認証
## 1.Entra IDのユーザー認証プロセス
Entra IDの認証プロセスは以下の手順で行われる
>①識別（Identification）

ユーザーが自分のID（例：ユーザー名やメールアドレス）を入力して誰であるかを識別する
>②認証（Authentication）

Entra IDがユーザーが本人であることを確認するために次の認証方法を適用する
- パスワード認証
- 多要素認証（MFA）
- パスワードレス認証
- 条件付きアクセスポリシー

>③認可（Authorization）

認証後、ユーザーに必要な権限が付与されリソースへのアクセスが可能になる

## 2.Entra IDが提供する認証方法
> ①パスワード認証

- 概要
ユーザーがID（メールアドレスなど）とパスワードを入力して認証を行う
- 特徴
旧来の基本的な認証方法
Entra IDでは強力なパスワードポリシーを適用できる（例：パスワードの最小文字数や有効期限）

> ②多要素認証（MFA）

- 概要
パスワード認証に加えて追加の認証要素を要求しセキュリティを強化する
- MFAの具体的な方法
❶認証アプリ（Microsoft Authenticator）
スマートフォンアプリでコードを生成しそれを入力
「承認」ボタンを押すだけのプッシュ通知にも対応
❷ワンタイムパスワード
SMSまたはメールで送信されたコードを入力
❸電話認証
登録済みの電話番号にかかってくる電話で認証
❹生体認証
Windows HelloやFIDO2デバイスを使用して認証

> ③パスワードレス認証
- 概要
パスワードを使用せず所有物や整体認証で本人確認を行う
- パスワードレスの種類
❶Microsoft Authenticatorアプリ
プッシュ通知で認証を実行
パスコード入力や確認のみでログイン可能
❷FIDO2セキュリティキー
物理的なセキュリティキー（例：YubiKey）を使って認証
❸Windows Hello
顔認証や指紋認証でログイン

> ④条件付きアクセスポリシー
- 概要
ユーザーのログイン条件（場所、デバイス、リスクレベルなど）に基づいて認証プロセスを動的に制御する
- 例
❶信頼されたネットワーク（社内ネットワーク）からのログインではMFAを省略
❷未知のデバイスからのアクセスにはMFAを強制
❸リスクが高い場合はアクセスをブロック

> ⑤ハイブリット認証
- 概要
オンプレミスのActive DirectoryとEntra IDを統合しシームレスな認証を実現する
- 具体的な技術
❶Pass-through Authentication(PTA)
パスワード認証をオンプレミスで処理
❷フェデレーション認証
Active Directory Federation Services(ADFS)を利用
❸Azure AD Connect
ハイブリット環境でオンプレミスとクラウドの認証を統合

## 3.Entra IDの認証に関連する高度な機能
> ①Identity Protection（アイデンティティ保護）
- 概要
AIを活用して不正なログインやリスクの高い行動を検出し自動で対策を行う
- 機能例
❶ユーザーのリスクスコアを計算
❷自動的にパスワードリセットを要求
❸条件付きアクセス連携してリスクに応じたポリシーを適用

> ②シグナルサインオン（SSO）
- 概要
ユーザーが1度ログインするだけで複数のクラウドアプリやオンプレミスアプリにアクセス可能
- 例
Microsoft365、Salesforce、Googl WorkspaceなどのSaaSアプリケーション

> ③認証レポート
- 概要
管理者向けにユーザーのサインイン活動やリスクの詳細レポートを提供
- 用途
不審なログイン試行を特定
ユーザー行動を監視しセキュリティ対策を強化

## 4.Entra IDの認証設定手順（簡易）
### 基本的な設定フロー
> ①Entra IDポータルにサインイン

管理者がMicrosoft Entra 管理センターにログイン

> ②ユーザーの登録

- 新規ユーザーの追加
- ユーザーのグループを作成

> ③MFAの有効化

- 対象ユーザーやグループにMFAを有効化
- 認証方法（認証アプリ、SMSなど）を設定

> ④条件付きアクセスポリシーの設定

- ユーザーのアクセス条件を定義
- ポリシーの適用範囲を選択（特定のアプリやユーザーに限定）

> ⑤監視とレポートの確認

- サインインログやリスクレポートを定期的に確認

## 5.Entra ID認証の利点
> ①セキュリティの強化

パスワードレス認証やMFAにより不正アクセスを大幅に低減
> ②利便性の向上

SSOで複数のアプリケーションレスにアクセス可能
> ③柔軟なポリシー管理

条件付きアクセスでユーザー体験とセキュリティのバランスを調整
> ④スケーラビリティ

小規模から大規模な組織まで対応可能

# Entra ID認証設定手順詳細
## 1.Entra IDポータルにアクセス
> ①Microsoft Entra管理センターにサインイン

管理者アカウントを使用してMicrosoft Entra管理センターへサインイン

> ②Entra IDテナントを選択

必要に応じて複数テナントから対象のテナントを選択

## 2.ユーザーの管理
> ユーザーの追加

❶[ユーザー]セクションに移動
- 左側メニューから「ユーザー」を選択

❷新規ユーザーの作成
- 「+新しいユーザー」をクリック
 以下の情報を入力：
 ユーザー名（例：user@yourdomain.onmicrosoft.com）
 名、姓
 ロール（例：ユーザー、管理者）
- パスワードを設定しユーザーに通知

❸外部ユーザー（ゲスト）の追加
- 外部パートナーやゲストのメールアドレスを入力
- 必要に応じてカスタムメッセージを追加して招待

## 3.多要素認証（MFA）の設定
MFAを有効化してユーザーのセキュリティを強化

> ①MFAを有効化

❶MFA設定ページに移動
- 「セキュリティ＞MFA」を選択
- 「ユーザー設定」をクリック

❷ユーザー毎にMFAを有効化
- 対象のユーザーを検索
- 該当するユーザーの横にある状態を「有効」に変更

❸ユーザーへの通知
- 有効化されたユーザーは次回ログイン時に、MFAの設定（電話番号や認証アプリ）を求められる

> ②認証方法の設定

Entra IDではユーザーが使用するMFAの方法を選択できる

❶[セキュリティ > 認証方法]に移動
- 認証方法ポリシーを設定できる

❷認証方法を選択
- 使用可能な方法を有効化
 Microsoft Authenticatorアプリ
 SMS認証
 音声通話
 FIDO2セキュリティキー
 生体認証（Windows Hello）

❸グループ単位での適用
- 「対象のユーザーまたはグループ」を選択して特定の対象のみに適用

## 4.条件付きアクセスの設定
条件付きアクセスを利用してセキュリティと利便性を両立させる

> 条件付きアクセスポリシーの作成

❶[セキュリティ > 条件付きアクセス]に移動

- 「+新しいポリシー」をクリック

❷ポリシーの基本情報を設定

- ポリシー名を入力（例：「リスクベースMFA」）
- 対象ユーザーまたはグループを選択

❸条件の設定

- デバイスプラットフォーム：特定のOS（Windows、macOS、iOS/Androidなど）を条件に設定可能
- 場所：信頼されたIPアドレスからのアクセスのみ許可
- リスクレベル：Identity Protectionのリスクスコアに基づいて適用

❹制御の設定

- アクセス許可：「MFAを要求」または「アクセスをブロック」
- セッション管理：セッションの有効期限を指定可能

❺ポリシーの有効化

- 必要な設定が完了したらポリシーを「オン」に切り替え

## 5.パスワードレス認証の設定
Entra IDではパスワードレス認証も簡単に設定できる

> 認証方法ポリシーの設定

❶[セキュリティ > 認証方法]に移動
- 「FIDO2セキュリティキー」や「Microsoft Authenticator」を有効化

❷ユーザーに適用
- 対象のユーザーやグループを選択
- ユーザーは次回ログイン時にパスワードレス認証を設定

## 6.サインインとログ管理
認証後のログイン活動やリスク状態を管理

> サインインログの確認

❶[監視 > サインインログ]に移動
- ユーザーごとのログイン履歴を確認
- 不審なログイン試行を特定可能

❷リスク検出
- Identity Protection機能でリスクの高いログインを検出
- リスクレベル（低、中、高）毎に自動対応を設定

## 7.監査と運用ポイント

> ①レポートの活用

- サインインアクティビティ
ログイン成功/失敗の記録を分析

- MFAステータス
ユーザー毎のMFAの適用状況を確認

> ②自動化とスクリプト

- PowerShellを使用
Azure AD PowerShellモジュールで大量のユーザーを一括操作可能。
MFAや条件付きアクセスポリシーの自動設定に利用。

## 8.運用後の管理と最適化

> ①ユーザー教育

- MFA設定やパスワードレス認証の利便性を利用者に説明
- フィッシング攻撃などに注意を促す

> ②ポリシーの見直し

- 運用状況やリスクの変化に応じてポリシーを定期的に更新