【Azure】Azure Active DirectoryのサービスとIDの種類

# はじめに
平素より大変お世話になっております。

いつまでたってもAzureADの内容があいまいだったので、まとめてみた記事です。
今回は、サービスとIDの種類について！

# 1.AzureADとは
**MicrosoftのクラウドベースのID及びアクセス管理サービス。**
略してAADとよく書きます。
Windows Active Directoryと名前が似ているので勘違いしやすいですが、似て非なるものです！


# 2.Azure ADの種類
Azure ADにはいくつかのプランがあります。

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626338/6409bc77-0a50-3644-1e65-ec32e6231308.png)|
|:--|


## 2-1.Azure Active Directory Free
無料版。
ユーザー管理、グループ管理、SaaSアプリのシングルサインオン有効化など、一般的な機能を利用することができます。

## 2-2.Office365アプリ
無料版+クラウドユーザー向けのセルフパワードのリセット機能などが追加されたエディション。
365を使う上で便利な機能がプラスされた感じです。

## 2-3.Azure Active Directory Premium P1
無料版+Office365版+高度な管理機能が利用可能なエディション。
Identity Managerや、動的グループ機能、そしてAzure AD B2Cなどが利用できます。

## 2-4.Azure Active Directory Premium P2
すべての機能が利用できます。
**Azure Active Directory Identity Protection**や、**Privileged Identity Management**が含まれます。

この2つが結構重要な機能で、一時的に発行したIDの有効期限管理ができたりするかなりの便利機能ですね。
**Azure Active Directory Identity Protection**と、**Privileged Identity Management**については、別記事でまとめる予定です。
まとめた別記事↓

https://qiita.com/hikaru_motomiya/items/65d4a36a7aee9aa14bf7

# 3.Azure ADで利用できるID
Azure ADで利用できるIDには、様々な種類があります。

## 3-1.内部のID
組織の内側で利用するID類です。

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626338/9dc3100b-fbda-8760-1dc5-328baee0d619.png)|
|:--|

### 3-1-1.User
基本的なIDです。
**AzureADによって管理されるUserをIDとして表現したもの**です。
これを用いてユーザーはログインを行います。

UserIDは、個々人のIDに対して権限付加することができ、グループにいれることでグループごとに権限管理ができます。

### 3-1-2.サービスプリンシパル
アプリケーション用のIDと考えるとわかりやすいですね。
アプリケーションがAzureADにアクセスする際に利用します。User同様に、権限管理が可能です。

### 3-1-3.マネージドID
**AzureオシオシのIDです。**
マネージドIDは、**AzureADで自動的に管理されるIDで、基本的に管理する必要がありません。**
そのためセキュリティが高く、安全性が高いです。パスワードの変更などは使う側が意識しなくてよいです。
**Azure内の認証を行う場合は、基本的にこのマネージドIDを利用するのがベスト。**
~~とりあえず試験ではマネージドIDを選んでおけばよし?~~

現在利用できるサービスとできないサービスがあります。

マネージドIDには以下の2つのタイプがあります。

#### 3-1-3-1.システム割り当てのマネージドID
**一意のAzureサービスとAzureADのみ利用できるID**です。リソースが削除されると、一緒に削除されます。

#### 3-1-3-2.ユーザー割り当てのマネージドID
自分で作成するマネージドIDです。システム割り当てのマネージドIDと異なり、**複数リソースに割り当てが可能です。**

### 3-1-2.デバイス
ハードウェアに紐づいたID。PCやサーバーはもちろん、プリンタなども含まれます。
AzureADでデバイスを管理することで、AzureADに登録されている端末のみアクセスを許可することなどが可能です。

#### 3-1-2-1.Azure AD**登録**済みデバイス
あんまりADにアクセスさせたくない、要するに個人用端末とか。個人用なので、個人のMicrosoftアカウントやローカルアカウント等を利用してサインインします。

#### 3-1-2-2.Azure AD**参加**済みデバイス
組織で使っている端末とか。組織のものなので、組織のAzureADのIDや同期されたActive Directory の職場または学校アカウントを利用してサインインします。

#### 3-1-2-3.ハイブリットAzureAD参加済みデバイス
組織で使っている端末とか。ハイブリットの名の通り、Active Directory Domain Servicesアカウントを利用してサインインします。

デバイスIDについては、MDM(モバイルデバイス管理)を行う**Microsoft intune**などのツールで管理可能です。

## 3-2.外部のID

現在では、組織内に外に外部から人を入れて共同作業を行うことは一般的ですね。
こういった人に対して、アプリケーションにアクセス権限を付与したり、一時的なデータアクセスを許可する必要があります。

これには、**Azure AD External Identities**を利用します。
**Azure AD External Identities は Premium P1 および P2 Azure AD エディションの機能です。**
Azure AD External Identitiesには、大きく分けて2つあります。

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626338/83411eaf-32f9-8612-6543-9e6cf11e2200.png)|
|:--|

### 3-2-1.B2Bコラボレーション
B2Bは「Business to Businessの略」で、企業と企業の取引のことです。
**自分の組織のアプリケーションとサービスを、他の組織のゲストユーザーへ共有することができます。**

### 3-2-2.B2Cアクセス管理
B2Cは、「Business to Customerの略」で、企業と一般消費者の取引のことです。
**Azure AD B2Cを利用すると、外部のユーザーはソーシャルアカウントやローカルアカウントを利用してサインインできます。**
ログインが必要なショッピングサイトとかありますよね？あれのユーザー管理部分をAzureADにお任せするような感じですね。
AzureADはブルートフォース攻撃やパスワードスプレー攻撃などに対しての脅威の監視と自動処理が行われるので、自分たちで管理するよりも安心です。
Azure AD B2Cは、ログイン画面をカスタマイズすることができます。

## 3-3.ハイブリットIDの認証
**Azure AD Connectを利用して、オンプレミスで使っているWindows Active DirectoryとAzure Active Directoryを同期します。**
ハイブリットIDを利用すると、オンプレミス上のADDSでユーザー管理が行われ、その結果がAzureADに同期されるようになります。
例えばADDSでユーザーが追加されると、AzureADでも自動的にユーザーが追加されることになります。

ハイブリットIDを利用する場合、以下の認証方法が利用できます。

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626338/23976d45-8b11-e4a7-beb1-8b1eefcad698.png)|
|:--|

### 3-3-1.パスワードハッシュの同期
最も簡単な方法で、ADDSからパスワードを同期してきて **Windows Active Directory Domain Service(ADDS)で利用しているユーザー名とパスワードで認証します。** これはAzureAD上で検証されます。

### 3-3-2.パススルー認証
オンプレで動作するソフトウェアを利用して、AzureADの認証サービスに簡単なパスワード検証機能を提供します。
**認証の検証自体はADDSで実施されます。AzureAD側では検証されません。**

### 3-3-3.フェデレーション認証
リダイレクトして別のIDプロバイダーに認証させることをフェデレーション認証といいます。
AzureADは別の認証システムに認証プロセスを引き継ぎます。この場合、**認証の検証をするのは、指定された別の認証システムとなります(オンプレミス上にある、Actiive Directory Federation Serviceなど)。**
**スマートカードを利用して認証を行うならば、フェデレーション認証が必要です。**

# おわりに
これで少しは私の理解が深まったかな…
今回の内容は、参考に張り付けてある**MSLearn「Azure AD のサービスと ID の種類についての説明」** を要略したものです。
その他にもMSLearnには優良なコンテンツがたくさんありますので、ご確認してみてください！

# 参考
https://docs.microsoft.com/ja-jp/learn/modules/explore-basic-services-identity-types/