Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

yhana
April 25, 2024

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

yhana

April 25, 2024
Tweet

More Decks by yhana

Other Decks in Technology

Transcript

  1. 2 もくじ 1. Azure の権限管理 2. Azure ロールの割り当て例 3. 特権管理機能

    4. 他の Entra ID テナントの Azure サブスクリプションにロール割り当て 5. ユーザー以外へのロール割り当て
  2. 4 Entra ID とAzure サブスクリプションの関係 ID およびアクセス管理を提供する Microsoft Entra ID

    (旧 Azure AD) と Azure サブスクリプショ ンは密接に関係しており、Azure ポータルから両⽅操作できるが、別々に考える必要がある Microsoft Entra ID Azure サブスクリプション 信頼関係
  3. 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 以外のリソース
  4. 6 Entra ID とAzure サブスクリプションの関係 Entra ID にはドメインを設定して、ドメインを付与したユーザーを作成する 複数の Azure

    サブスクリプションや他のアプリケーションを関連付けできる Entra ID の旧称が Azure AD だからといって Azure のためだけに存在するわけではない Microsoft Entra ID Azure サブスクリプション Azure サブスクリプション [email protected] カスタムドメイン example.com Microsoft 365
  5. 7 Entra ID ロールと Azure ロール ロールベースのアクセス制御(RBAC)で権限を与える Entra ID と

    Azure に対応した「Microsoft Entra ID ロール」と「Azure ロール」がある 名前の通り、それぞれの製品に対する権限を与えることができ、別々に関連付ける必要がある Azure サブスクリプション Microsoft Entra ID ユーザー Microsoft Entra ID ロール Azure ロール
  6. 8 Entra ID ロールと Azure ロール Entra ID のポータル画⾯(Azure ポータルもしくは

    Microsoft Entra 管理センター)において、 「Microsoft Entra ID ロール」と「Azure ロール」の割り当て状況を確認する項⽬も異なる Microsoft Entra ロールの割り当て確認 Azureロールの割り当て確認
  7. 9 組み込みロール ロールには、事前定義された「組み込みロール」が存在する Microsoft Entra ID ロールの組み込みロール例 Azure ロールの組み込みロール例 ロール名

    説明 グローバル管理者 Entra ID の全ての管理機能にアクセスできる権限、組織内で 5 名未満にすることがベストプラクティス ユーザー管理者 ユーザーの作成、更新、削除などができる権限 ロール名 説明 所有者 全てのリソースにアクセスできる権限 共同作成者 全てのリソースにアクセスできるが、ロールを割り当てることはできない権限 閲覧者 リソースを表⽰する権限 Microsoft Entra ID ビルドインロール⼀覧 Azure 組み込みロール
  8. 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}" ] } カスタムロールのプロパティ説明
  9. 13 Azure ロールの割り当て 下位のスコープに異なるロールの割り当てもできる サブスクリプション リソースグループA Virtual Machines Virtual Network

    リソースグループB … 閲覧者 共同作成者 リソースグループBを スコープとして割り当て サブスクリプションを スコープとして割り当て
  10. 15 Azure ロールの割り当て サブスクリプションをスコープとした Azure ロールの割り当て設定の例 割り当てるロールの選択 割り当てるユーザー、グループ、 サービスプリンシパル、マネージド ID

    (※) の選択 設定の検証と確認画⾯ ※︓サービスプリンシパルやマネージド ID は Azure リソースや登録されたアプリケーションに対してロールを割り当てる場合に利⽤される
  11. 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}" リソースグループにロールを割り当てるコマンド例
  12. 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 を契約した場合のイメージ 信頼関係
  13. 22 Azure ロールの割り当て Microsoft Defender for Cloud などのサブスクリプション全体を対象とするサービスやサブスクリ プションを跨るサービスのロール割り当てでは、スコープがリソースではない場合もある Azure

    ポータルの左上の表記を⾒ることでどのスコープを対象にすればよいかのヒントがある Defender for Cloud において、 単⼀のサブスクリプションのセキュリティイベントを 表⽰していることの記載例 Defender for Cloud において、 テナント全体のサブスクリプションにアクセスするためには、 ルート管理グループに対してロールを割り当てる必要がある説明
  14. 24 Azure ロールの割り当て例 Azure ロールの割り当て例を⽰す - リソースグループをシステム毎に分ける - すべてのユーザー(が含まれるグループ)に、サブスクリプションに対する「閲覧者」を割り当て -

    システム管理者ユーザー/グループに、リソースグループに対する「所有者」を割り当て - システム管理者は必要に応じて、他ユーザーにロールを割り当て
  15. 27 資格のある割り当てとアクティブな割り当て Entra ID のロールには「資格のある割り当て」と「アクティブな割り当て」の考え⽅がある 特権管理を提供する PIM (Privileged Identity Management)

    機能を利⽤している Microsoft Entra ID ロール グローバル閲覧者 資格のある割り当て アクティブな割り当て ユーザー Microsoft Entra ID Microsoft Entra ID ロール グローバル閲覧者 ユーザー Microsoft Entra ID 資格のある割り当てから利⽤したいロールをアクテイブ化 割り当て終了の時刻指定 or 永続的な割り当て アクセス可能
  16. 28 資格のある割り当てとアクティブな割り当て Azure ロールも PIM (Privileged Identity Management) 機能を利⽤して同様の運⽤ができる PIM

    の機能により承認フェーズを設けることもできる (参考ブログ)Azure AD Privileged Identity Managementによる特権アクセス管理を試してみた (引⽤元)PIM の活⽤⽅法 | Japan Azure Identity Support Blog
  17. 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 同⼀ユーザーで他のテナントを利⽤できる 招待
  18. 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
  19. 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 は表⽰されない
  20. 36 Azure リソースへのロール割り当て マネージド ID という機能を⽤いて Azure リソースに権限を与えられる 例えば、VM (Virtual

    Machine) リソースに対して、Azure Key Vault へのアクセス権を付与する Virtual Machine Azure Key Vault Entra Managed Identity Azure ロール ロールの割り当てにおけるメンバーとしてマネージド ID を選択
  21. 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 は削除されない
  22. 38 Azure リソースへのロール割り当て マネージド ID には 2 種類ある(VM の例で説明) システム割り当てマネージド

    ID の有効化イメージ VM リソースの機能から有効化できる ユーザー割り当てマネージド ID の設定イメージ マネージド ID を作成後に VM に割り当てる
  23. 39 オンプレミス等からのアクセス 次の場合は、サービスプリンシパル(アプリまたはサービスを表す ID)を使⽤した認証で Azure リソースへの アクセス権を与えられる - アプリケーションまたはサービスがオンプレミスで実⾏されている -

    アクセスする必要があるリソースまたはアプリケーションでマネージド ID がサポートされていない Entra ID において「アプリの登録」 登録したアプリにおいて 証明書 or シークレットを設定 ロールの割り当てにおいて メンバーとしてサービスプリンシパル (登録したアプリ)を選択 Microsoft Entra ID リソースグループ App / サービスプリンシパル Azure ロール オンプレミス App ① ② ③
  24. 40 より詳しい内容は Microsoft Learn サービスプリンシパルとマネージド ID についてより詳しい内容は Microsoft Learn が参考になる

    Azure リソースのサービス プリンシパルとマネージド ID を使⽤して Azure サービスにアプリを認 証する - Training | Microsoft Learn
  25. 41