Slide 1

Slide 1 text

Azure の基本的な権限管理の勉強会 2024.4.25 yhana 1

Slide 2

Slide 2 text

2 もくじ 1. Azure の権限管理 2. Azure ロールの割り当て例 3. 特権管理機能 4. 他の Entra ID テナントの Azure サブスクリプションにロール割り当て 5. ユーザー以外へのロール割り当て

Slide 3

Slide 3 text

3 Azure の権限管理

Slide 4

Slide 4 text

4 Entra ID とAzure サブスクリプションの関係 ID およびアクセス管理を提供する Microsoft Entra ID (旧 Azure AD) と Azure サブスクリプショ ンは密接に関係しており、Azure ポータルから両⽅操作できるが、別々に考える必要がある Microsoft Entra ID Azure サブスクリプション 信頼関係

Slide 5

Slide 5 text

5 Entra ID とAzure サブスクリプションの関係 ID およびアクセス管理を提供する Microsoft Entra ID (旧 Azure AD) とAzure サブスクリプショ ンは密接に関係しており、Azure ポータルから両⽅操作できるが、別々に考える必要がある AWS で例えると、AWS IAM と AIAM Identity Center が AWS アカウントから切り離されている イメージ Microsoft Entra ID Azure サブスクリプション 信頼関係 AWS IAM AWS IAM Identity Center AWS account AWS IAM, AWS IAM Identity Center 以外のリソース

Slide 6

Slide 6 text

6 Entra ID とAzure サブスクリプションの関係 Entra ID にはドメインを設定して、ドメインを付与したユーザーを作成する 複数の Azure サブスクリプションや他のアプリケーションを関連付けできる Entra ID の旧称が Azure AD だからといって Azure のためだけに存在するわけではない Microsoft Entra ID Azure サブスクリプション Azure サブスクリプション [email protected] カスタムドメイン example.com Microsoft 365

Slide 7

Slide 7 text

7 Entra ID ロールと Azure ロール ロールベースのアクセス制御(RBAC)で権限を与える Entra ID と Azure に対応した「Microsoft Entra ID ロール」と「Azure ロール」がある 名前の通り、それぞれの製品に対する権限を与えることができ、別々に関連付ける必要がある Azure サブスクリプション Microsoft Entra ID ユーザー Microsoft Entra ID ロール Azure ロール

Slide 8

Slide 8 text

8 Entra ID ロールと Azure ロール Entra ID のポータル画⾯(Azure ポータルもしくは Microsoft Entra 管理センター)において、 「Microsoft Entra ID ロール」と「Azure ロール」の割り当て状況を確認する項⽬も異なる Microsoft Entra ロールの割り当て確認 Azureロールの割り当て確認

Slide 9

Slide 9 text

9 組み込みロール ロールには、事前定義された「組み込みロール」が存在する Microsoft Entra ID ロールの組み込みロール例 Azure ロールの組み込みロール例 ロール名 説明 グローバル管理者 Entra ID の全ての管理機能にアクセスできる権限、組織内で 5 名未満にすることがベストプラクティス ユーザー管理者 ユーザーの作成、更新、削除などができる権限 ロール名 説明 所有者 全てのリソースにアクセスできる権限 共同作成者 全てのリソースにアクセスできるが、ロールを割り当てることはできない権限 閲覧者 リソースを表⽰する権限 Microsoft Entra ID ビルドインロール⼀覧 Azure 組み込みロール

Slide 10

Slide 10 text

10 カスタムロール 独⾃にロールを定義する「カスタムロール」もある 組み込みロール同様に管理グループ、サブスクリプション、リソースグループ等に割り当てできる (引⽤元)Azure カスタム ロール - Azure RBAC | Microsoft Learn 仮想マシンの監視と再起動の権限を与えるカスタムロール例 { "Name": "Virtual Machine Operator", "Id": "88888888-8888-8888-8888-888888888888", "IsCustom": true, "Description": "Can monitor and restart virtual machines.", "Actions": [ "Microsoft.Storage/*/read", "Microsoft.Network/*/read", "Microsoft.Compute/*/read", "Microsoft.Compute/virtualMachines/start/action", "Microsoft.Compute/virtualMachines/restart/action", "Microsoft.Authorization/*/read", "Microsoft.ResourceHealth/availabilityStatuses/read", "Microsoft.Resources/subscriptions/resourceGroups/read", "Microsoft.Insights/alertRules/*", "Microsoft.Insights/diagnosticSettings/*", "Microsoft.Support/*" ], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/subscriptions/{subscriptionId1}", "/subscriptions/{subscriptionId2}", "/providers/Microsoft.Management/managementGroups/{groupId1}" ] } カスタムロールのプロパティ説明

Slide 11

Slide 11 text

11 Azure ロールの割り当て Azure ロールはサブスクリプションやリソースグループ、リソースをスコープとして割り当てできる サブスクリプション リソースグループ Virtual Machines Virtual Network リソースグループ … Azure ロール

Slide 12

Slide 12 text

12 Azure ロールの割り当て 割り当てたロールは下位のスコープに継承される サブスクリプション リソースグループA Virtual Machines Virtual Network リソースグループB … 閲覧者 サブスクリプションを スコープとして割り当て

Slide 13

Slide 13 text

13 Azure ロールの割り当て 下位のスコープに異なるロールの割り当てもできる サブスクリプション リソースグループA Virtual Machines Virtual Network リソースグループB … 閲覧者 共同作成者 リソースグループBを スコープとして割り当て サブスクリプションを スコープとして割り当て

Slide 14

Slide 14 text

14 Azure ロールの割り当て Azure ポータルにおける Azure ロールの割り当て設定はスコープとなる対象の 「アクセス制御(IAM)」から設定できる リソースグループの設定画⾯ 個別のリソースの設定画⾯ サブスクリプションの設定画⾯

Slide 15

Slide 15 text

15 Azure ロールの割り当て サブスクリプションをスコープとした Azure ロールの割り当て設定の例 割り当てるロールの選択 割り当てるユーザー、グループ、 サービスプリンシパル、マネージド ID (※) の選択 設定の検証と確認画⾯ ※︓サービスプリンシパルやマネージド ID は Azure リソースや登録されたアプリケーションに対してロールを割り当てる場合に利⽤される

Slide 16

Slide 16 text

16 Azure ロールの割り当て ロール割り当て状況の確認と Azure ポータルにサインインしているユーザーに割り当てられている ろロールも「アクセス制御(IAM)」から確認できる ロールの割り当て状況の確認 ⾃⾝に割り当てられているロールの確認

Slide 17

Slide 17 text

17 Azure ロールの割り当て Azure CLI (Bash) でロールを割り当てるコマンド例 az role assignment create --assignee "{assignee}" --role "{roleNameOrId}" --scope "/subscriptions/{subscriptionId}” サブスクリプションにロールを割り当てるコマンド例 (参考情報) Azure CLI を使⽤して Azure ロールを割り当てる - Azure RBAC | Microsoft Learn az role assignment create --assignee "{assignee}" --role "{roleNameOrId}" --scope "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}" リソースグループにロールを割り当てるコマンド例

Slide 18

Slide 18 text

18 複数サブスクリプションの権限がある場合 同じテント内の複数のサブスクリプションや複数のリソースグループに対して Azure ロールが割り 当てられている場合は、リソース作成時にどのサブスクリプション / リソースグループに構築するか を指定する 複数のサブスクリプション / リソースグループから指定

Slide 19

Slide 19 text

19 管理グループ サブスクリプションをまとめて管理できる「管理グループ」というサービスがあり、管理グループを スコープとした Azure ロールの割り当てもできる Azure ロール

Slide 20

Slide 20 text

20 (参考)管理グループの構成例 Azure ランディングゾーンアクセラレータにおいて管理グループの構成例が公開されている (引⽤元)Azure ランディング ゾーン アクセラレータと ALZ-Bicep リポジトリ内の管理グループ

Slide 21

Slide 21 text

21 (参考)個⼈で Azure を契約したときの状態 個⼈で Azure を契約(MOSP 契約)した状態では、onmicrosoft.com ドメインの Entra ID テナン トが作成され、個⼈の Microsoft アカウントに関するユーザーが作成されている(と理解している) そのユーザーに特権の「Microsoft Entra ID ロール」と「Azure ロール」が割り当てられており、 Entra ID と Azure サブスクリプションを⾃由に操作できる状態になっている Microsoft Entra ID Azure サブスクリプション ユーザー user_example.com#EXT#@userexample.onmicrosoft.com (外部の「Microsoft アカウント」であり、「職場または学校アカウント/組織アカウント」として作成されたものではない) ⾃動で⽣成されているドメイン userexample.onmicrosoft.com Microsoft Entra ID ロール グローバル管理者 Azure ロール 所有者 メールアドレス「[email protected]」の Microsoft アカウントで Azure を契約した場合のイメージ 信頼関係

Slide 22

Slide 22 text

22 Azure ロールの割り当て Microsoft Defender for Cloud などのサブスクリプション全体を対象とするサービスやサブスクリ プションを跨るサービスのロール割り当てでは、スコープがリソースではない場合もある Azure ポータルの左上の表記を⾒ることでどのスコープを対象にすればよいかのヒントがある Defender for Cloud において、 単⼀のサブスクリプションのセキュリティイベントを 表⽰していることの記載例 Defender for Cloud において、 テナント全体のサブスクリプションにアクセスするためには、 ルート管理グループに対してロールを割り当てる必要がある説明

Slide 23

Slide 23 text

23 Azure ロールの割り当て例

Slide 24

Slide 24 text

24 Azure ロールの割り当て例 Azure ロールの割り当て例を⽰す - リソースグループをシステム毎に分ける - すべてのユーザー(が含まれるグループ)に、サブスクリプションに対する「閲覧者」を割り当て - システム管理者ユーザー/グループに、リソースグループに対する「所有者」を割り当て - システム管理者は必要に応じて、他ユーザーにロールを割り当て

Slide 25

Slide 25 text

25 所有者が割り当てできる Azure ロールの制限 リソースグループに割り当てる「所有者」には他ユーザーへのロール割り当てに条件を設定できる 例えば、他のユーザーにロール割り当て権限を与えないようにできる

Slide 26

Slide 26 text

26 特権管理機能

Slide 27

Slide 27 text

27 資格のある割り当てとアクティブな割り当て Entra ID のロールには「資格のある割り当て」と「アクティブな割り当て」の考え⽅がある 特権管理を提供する PIM (Privileged Identity Management) 機能を利⽤している Microsoft Entra ID ロール グローバル閲覧者 資格のある割り当て アクティブな割り当て ユーザー Microsoft Entra ID Microsoft Entra ID ロール グローバル閲覧者 ユーザー Microsoft Entra ID 資格のある割り当てから利⽤したいロールをアクテイブ化 割り当て終了の時刻指定 or 永続的な割り当て アクセス可能

Slide 28

Slide 28 text

28 資格のある割り当てとアクティブな割り当て Azure ロールも PIM (Privileged Identity Management) 機能を利⽤して同様の運⽤ができる PIM の機能により承認フェーズを設けることもできる (参考ブログ)Azure AD Privileged Identity Managementによる特権アクセス管理を試してみた (引⽤元)PIM の活⽤⽅法 | Japan Azure Identity Support Blog

Slide 29

Slide 29 text

29 他の Entra ID テナントの Azure サブスクリプションに ロール割り当て

Slide 30

Slide 30 text

30 テナントに招待してロールを割り当て Entra ID テナントに他のテナントのユーザーを招待してロールを割り当てすることもできる つまり、1つのユーザーで他のテナントと信頼関係にある Azure サブスクリプションの操作ができる Microsoft Entra ID - B Azure サブスクリプション - B カスタムドメイン b.example.com Microsoft Entra ID - A ユーザー [email protected] カスタムドメイン a.example.com

Slide 31

Slide 31 text

31 テナントに招待してロールを割り当て Entra ID テナントに他のテナントのユーザーを招待してロールを割り当てすることもできる つまり、1つのユーザーで他のテナントと信頼関係にある Azure サブスクリプションの操作ができる Microsoft Entra ID - B Azure サブスクリプション - B ユーザー(ゲスト) [email protected] カスタムドメイン b.example.com Microsoft Entra ID - A ユーザー [email protected] カスタムドメイン a.example.com 同⼀ユーザーで他のテナントを利⽤できる 招待

Slide 32

Slide 32 text

32 テナントに招待してロールを割り当て Entra ID テナントに他のテナントのユーザーを招待してロールを割り当てすることもできる つまり、1つのユーザーで他のテナントと信頼関係にある Azure サブスクリプションの操作ができる Microsoft Entra ID - B Azure サブスクリプション - B ユーザー(ゲスト) [email protected] Microsoft Entra ID - A ユーザー [email protected] Azure ロール 共同作成者 同⼀ユーザーで他のテナントを利⽤できる 招待 カスタムドメイン b.example.com カスタムドメイン a.example.com

Slide 33

Slide 33 text

33 他のテナントに招待してロールを割り当て 他のテナントに切り替える場合は「ディレクトリの切り替え」から実⾏できる 切り替え

Slide 34

Slide 34 text

34 テナントに招待してロールを割り当て 複数のテナント内のサブスクリプションに対してロール割り当てがある場合でも、テナントを切り替 えていない場合は、リソース作成時に他のテナントのサブスククリプションを指定できない Microsoft Entra ID - B サブスクリプション – B1 Microsoft Entra ID - A サブスクリプション – B2 サブスクリプション – A1 サブスクリプション – A2 ユーザー(ゲスト) [email protected] ユーザー [email protected] 招待 「Microsoft Entra ID - A」テナントを選択している場合 選択可能なサブスクリプション ・サブスクリプション - A1 ・サブスクリプション - A2 B1, B2 は表⽰されない

Slide 35

Slide 35 text

35 ユーザー以外へのロール割り当て

Slide 36

Slide 36 text

36 Azure リソースへのロール割り当て マネージド ID という機能を⽤いて Azure リソースに権限を与えられる 例えば、VM (Virtual Machine) リソースに対して、Azure Key Vault へのアクセス権を付与する Virtual Machine Azure Key Vault Entra Managed Identity Azure ロール ロールの割り当てにおけるメンバーとしてマネージド ID を選択

Slide 37

Slide 37 text

37 Azure リソースへのロール割り当て マネージド ID には 2 種類ある(VM の例で説明) Virtual Machine Entra Managed Identity Virtual Machine Entra Managed Identity Virtual Machine Entra Managed Identity Virtual Machine Virtual Machine Entra Managed Identity Virtual Machine システム割り当てマネージド ID - VM リソースから直接有効化できる - VM 毎にマネージド ID は異なる(各 VM で有効化) - VM の削除される場合にマネージド ID も削除される ユーザー割り当てマネージド ID - VM とは独⽴したリソースとしてマネージド ID を作成する - 複数の VM に割り当てることができる - VM を削除してもマネージド ID は削除されない

Slide 38

Slide 38 text

38 Azure リソースへのロール割り当て マネージド ID には 2 種類ある(VM の例で説明) システム割り当てマネージド ID の有効化イメージ VM リソースの機能から有効化できる ユーザー割り当てマネージド ID の設定イメージ マネージド ID を作成後に VM に割り当てる

Slide 39

Slide 39 text

39 オンプレミス等からのアクセス 次の場合は、サービスプリンシパル(アプリまたはサービスを表す ID)を使⽤した認証で Azure リソースへの アクセス権を与えられる - アプリケーションまたはサービスがオンプレミスで実⾏されている - アクセスする必要があるリソースまたはアプリケーションでマネージド ID がサポートされていない Entra ID において「アプリの登録」 登録したアプリにおいて 証明書 or シークレットを設定 ロールの割り当てにおいて メンバーとしてサービスプリンシパル (登録したアプリ)を選択 Microsoft Entra ID リソースグループ App / サービスプリンシパル Azure ロール オンプレミス App ① ② ③

Slide 40

Slide 40 text

40 より詳しい内容は Microsoft Learn サービスプリンシパルとマネージド ID についてより詳しい内容は Microsoft Learn が参考になる Azure リソースのサービス プリンシパルとマネージド ID を使⽤して Azure サービスにアプリを認 証する - Training | Microsoft Learn

Slide 41

Slide 41 text

41