ラボ 02a - サブスクリプションと RBAC を管理する

ラボ概要

このラボでは、ロールベースのアクセス制御について説明します。 アクセス許可とスコープを使用して、ID が実行できるアクションと実行できないアクションを制御する方法について説明します。 また、管理グループを使用してサブスクリプション管理を容易にする方法についても説明します。

このラボでは Azure サブスクリプションが必要です。 お使いのサブスクリプションの種類により、このラボの機能が使用できるかどうかに影響する可能性があります。 リージョンを変更できますが、手順は米国東部を使って作成されています。

推定時間:30 分

ラボのシナリオ

組織内の Azure リソースの管理を簡素化するために、次の機能を実装する必要があります。

  • すべての Azure サブスクリプションを含む管理グループを作成する。

  • 管理グループ内のすべてのサブスクリプションに対するサポート リクエストを提出するためのアクセス許可を付与する。 アクセス許可は、次の場合に限定する必要があります。

    • 仮想マシンの作成と管理
    • サポート リクエスト チケットを作成する (Azure プロバイダーの追加を含まない)

対話型ラボ シミュレーション

このトピックで役に立つ対話型のラボ シミュレーションがいくつかあります。 このシミュレーションを使用すると、同様のシナリオを自分のペースでクリックしながら進めることができます。 対話型シミュレーションとこのラボには違いがありますが、主要な概念の多くは同じです。 Azure サブスクリプションは必要ありません。

アーキテクチャの図

ラボのタスクの図。

職務スキル

  • タスク 1:管理グループを実装する。
  • タスク 2:組み込みの Azure ロールを確認して割り当てる。
  • タスク 3:カスタム RBAC ロールを作成する。
  • タスク 4:アクティビティ ログを使用してロールの割り当てを監視する。

タスク 1:管理グループを実装する

このタスクでは、管理グループを作成および構成します。 管理グループは、サブスクリプションを論理的に整理してセグメント化するために使用されます。 これによって、RBAC と Azure Policy の割り当てと、他の管理グループとサブスクリプションへの継承が可能になります。 たとえば、組織にヨーロッパ専用のサポート チームがある場合は、ヨーロッパのサブスクリプションを 1 つの管理グループに編成して、(すべてのサブスクリプションへの個別のアクセス権を提供することなく) サポート スタッフがそれらのサブスクリプションにアクセスできるようにします。 このシナリオでは、ヘルプ デスクの全員が、すべてのサブスクリプションにわたるサポート リクエストを作成する必要があります。

  1. Azure portal - https://portal.azure.com にサインインします。

  2. Microsoft Entra ID を検索して選択します。

  3. [管理] ブレードで、[プロパティ] を選択します。

  4. [Azure リソースのアクセス管理] 領域を確認します。 このテナント内のすべての Azure サブスクリプションおよび管理グループへのアクセスを管理できることを確実にします。

  5. Management groups を検索して選択します。

  6. [管理グループ] ブレードで、[+ 作成] をクリックします。

  7. 次の設定で管理グループを作成します。 完了したら、[送信] を選択します。

    設定 [値]
    管理グループ ID az104-mg1 (ディレクトリ内で一意である必要があります)
    管理グループの表示名 az104-mg1
  8. 管理グループのページを更新して、新しい管理グループが表示されていることを確認します。 これには時間がかかることがあります。

    注: ルート管理グループに気付きましたか? このルート管理グループは階層に組み込まれており、すべての管理グループとサブスクリプションはルート管理グループにまとめられます。 ルート管理グループにより、グローバル ポリシーと Azure ロールの割り当てをディレクトリ レベルで適用できます。 管理グループを作成したら、グループに含める必要があるサブスクリプションを追加します。

タスク 2:組み込みの Azure ロールを確認して割り当てる

このタスクでは、組み込みロールを確認し、VM 共同作成者ロールをヘルプ デスクのメンバーに割り当てます。 Azure には、多数の組み込みロールが用意されています。

  1. az104-mg1 管理グループを選択します。

  2. [アクセスの制御 (IAM)] ブレードを選択してから、[ロール] タブを選択します。

  3. 使用可能な組み込みロールの定義をスクロールします。 ロールを表示して、アクセス許可JSON、および割り当てに関する詳細情報を取得します。 多くの場合、所有者共同作成者閲覧者を使用します。

  4. ドロップダウン メニューから [+ 追加] を選択し、[ロールの割り当ての追加] を選択します。

  5. [ロールの割り当ての追加] ブレードで、[仮想マシン共同作成者] を検索して選択します。 仮想マシン共同作成者のロールでは仮想マシンを管理できますが、そのオペレーティング システムにアクセスしたり、接続先の仮想ネットワークやストレージ アカウントを管理したりすることはできません。 これはヘルプ デスクにとって適切なロールです。 [次へ] を選択します。

    ご存知でしたか? Azure では当初、クラシック デプロイ モデルのみ用意されていました。 これが、Azure Resource Manager デプロイ モデルに置き換えられました。 ベスト プラクティスとして、クラシック リソースを使用しないでください。

  6. [メンバー] タブで [メンバーの選択] を行います。

    注: 次の手順では、ヘルプデスク グループにロールを割り当てます。 ヘルプ デスク グループがない場合は、少し時間を取って作成します。

  7. helpdesk グループを検索して選択します。 [選択] をクリックします。

  8. [レビューと割り当て] を 2 回クリックして、ロールの割り当てを作成します。

  9. [アクセス制御 (IAM)] ブレードの操作を続行します。 [ロールの割り当て] タブで、helpdesk グループに仮想マシン共同作成者ロールがあることを確認します。

    注: ベスト プラクティスとして、常に個人ではなくグループにロールを割り当てます。

    ご存知でしたか? この割り当てによって、実際には追加の特権が付与されない場合があります。 所有者ロールが既にある場合、そのロールには、VM 共同作成者ロールに関連付けられているすべてのアクセス許可が含まれます。

タスク 3:カスタム RBAC ロールを作成する

このタスクでは、カスタム RBAC ロールを作成します。 カスタム ロールは、環境に対する最小特権の原則の実装に関する中心的な部分です。 ご自分のシナリオでは、組み込みロールにあるアクセス許可が多すぎる場合があります。 また、新しいロールを作成し、必要ではないアクセス許可を削除します。 重複するアクセス許可を管理する計画はありますか?

  1. 管理グループの作業を続行します。 [アクセス制御 (IAM)] ブレードに移動します。

  2. ドロップダウン メニューから [+ 追加] を選択し、[カスタム役割の追加] を選択します。

  3. [基本] タブで、構成を完了します。

    設定 Value
    カスタム ロール名 Custom Support Request
    説明 A custom contributor role for support requests.
  4. [ベースラインのアクセス許可] で、[ロールを複製する] を選択します。 [複製するロール] ドロップダウン メニューで、[サポート リクエスト共同作成者] を選択します。

    [ロールを複製する] スクリーンショット。

  5. [次へ] を選択して [アクセス許可] タブに移動し、[+ アクセス許可を除外する] を選択します。

  6. リソース プロバイダーの検索フィールドで、.Support と入力して Microsoft.Support を選択します。

  7. アクセス許可の一覧で、[その他:サポート リソース プロバイダーを登録します] の横にチェックボックスを置いて、[追加] を選択します。 このアクセス許可を NotAction として含むようにロールを更新する必要があります。

    注: Azure リソース プロバイダーは、特定の Azure サービスの機能を有効にする一連の REST 操作です。 ヘルプ デスクがこの機能を持てるようにすることは望ましくないため、複製されたロールから削除されます。

  8. [割り当て可能なスコープ] タブで、管理グループが一覧表示されていることを確認し、[次へ] をクリックします。

  9. ロールでカスタマイズされた ActionsNotActionsAssignableScopes を JSON で確認します。

  10. [確認と作成][作成] の順に選択します。

    注: この時点で、カスタム ロールを作成し、管理グループに割り当てました。

タスク 4:アクティビティ ログを使用してロールの割り当てを監視する

このタスクでは、アクティビティ ログを表示して、誰かが新しいロールを作成したかどうかを判別します。

  1. ポータルで az104-mg1 リソースを見つけて、[アクティビティ ログ] を選択します。 アクティビティ ログを見ると、サブスクリプションレベルのイベントに関する分析情報が得られます。

  2. ロールの割り当てのアクティビティを確認します。 アクティビティ ログは、特定の操作についてフィルター処理できます。

    フィルターが構成された [アクティビティ ログ] ページのスクリーンショット。

リソースのクリーンアップ

自分のサブスクリプションで作業している場合は、お手数ですが、ラボ リソースを削除してください。 これにより、リソースが確実に解放されるため、コストが最小限に抑えられます。 ラボ リソースを削除する最も簡単な方法は、ラボ リソース グループを削除することです。

  • Azure portal で、リソース グループを選び、[リソース グループの削除][リソース グループ名を入力してください] の順に選び、[削除] をクリックします。
  • Azure PowerShell を使用する場合は、「Remove-AzResourceGroup -Name resourceGroupName」と入力します。
  • CLI を使用する場合は、「az group delete --name resourceGroupName」と入力します。

Copilot を使用して学習を拡張する

Copilot は、Azure スクリプト ツールの使用方法を学習するのに役立ちます。 Copilot は、ラボでは対象外の、またはさらに詳しい情報が必要な領域でも役立ちます。 Edge ブラウザーを開き、Copilot (右上) を選択するか、copilot.microsoft.com に移動します。 次のプロンプトを試すには数分かかります。

  • Azure で組織のサブスクリプションに関する情報を取得するための重要な PowerShell コマンドと CLI コマンドを強調表示している 2 つのテーブルを作成し、列 “説明” で各コマンドについて説明してください。
  • Azure RBAC JSON ファイルの形式は何ですか?
  • カスタム Azure RBAC ロールを作成するための基本的な手順は何ですか?
  • Azure RBAC ロールと Microsoft Entra ロールの違いは何ですか?

自習トレーニングでさらに学習する

要点

以上でラボは完了です。 このラボの要点は次のとおりです。

  • 管理グループは、サブスクリプションを論理的に整理するために使用されます。
  • 組み込みのルート管理グループには、すべての管理グループとサブスクリプションが含まれています。
  • Azure には多数の組み込みロールがあります。 これらのロールを割り当てて、リソースへのアクセスを制御できます。
  • 新しいロールを作成することも、既存のロールをカスタマイズすることもできます。
  • ロールは JSON 形式のファイルで定義され、ActionsNotActionsAssignableScopes が含まれます。
  • アクティビティ ログを使用して、ロールの割り当てを監視できます。