クイックスタート: Python を使用して管理グループを作成する

管理グループは、複数のサブスクリプションのアクセス、ポリシー、コンプライアンスを管理するのに役立つコンテナーです。 これらのコンテナーを作成して、Azure PolicyAzure ロール ベースのアクセス制御で使用できる効果的で効率的な階層を構築します。 管理グループについて詳しくは、「Azure 管理グループでリソースを整理する」をご覧ください。

ディレクトリに作成される最初の管理グループは、完了までに最大 15 分かかる場合があります。 Azure 内でディレクトリの管理グループ サービスを初めて設定する際に実行するプロセスがあります。 プロセスが完了すると、通知を受け取ります。 詳細については、「管理グループの初期セットアップ」を参照してください。

前提条件

  • Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。

  • 階層の保護が有効になっていない場合、テナント内のすべての Microsoft Entra ID ユーザーが、管理グループ書き込みアクセス許可を割り当てられていなくても、管理グループを作成できます。 この新しい管理グループは、ルート管理グループ (既定の管理グループ) の子になり、作成者には "所有者" ロールの割り当てが付与されます。 管理グループ サービスでは、この機能が許可されるため、ルート レベルでのロールの割り当ては必要ありません。 ルート管理グループは、作成されると、どのユーザーもアクセスできません。 管理グループを使い始めるために Microsoft Entra ID グローバル管理者を見つける必要がないよう、ルート レベルで最初の管理グループを作成できるようになっています。

Azure Cloud Shell

Azure では、ブラウザーを介して使用できる対話型のシェル環境、Azure Cloud Shell がホストされています。 Cloud Shell で Bash または PowerShell を使用して、Azure サービスを操作できます。 ローカル環境に何もインストールしなくても、Cloud Shell にプレインストールされているコマンドを使用して、この記事のコードを実行できます。

Azure Cloud Shell を開始するには、以下のようにします。

オプション 例とリンク
コードまたはコマンド ブロックの右上隅にある [使ってみる] を選択します。 [使ってみる] を選択しても、コードまたはコマンドは Cloud Shell に自動的にはコピーされません。 Azure Cloud Shell の [使ってみる] の例を示すスクリーンショット。
https://shell.azure.com に移動するか、[Cloud Shell を起動する] ボタンを選択して、ブラウザーで Cloud Shell を開きます。 Azure Cloud Shell を起動するボタン。
Azure portal の右上にあるメニュー バーの [Cloud Shell] ボタンを選択します。 Azure portal の [Cloud Shell] ボタンを示すスクリーンショット

Azure Cloud Shell を使用するには、以下のようにします。

  1. Cloud Shell を開始します。

  2. コード ブロック (またはコマンド ブロック) の [コピー] ボタンを選択し、コードまたはコマンドをコピーします。

  3. Windows と Linux では Ctrl+Shift+V キーを選択し、macOS では Cmd+Shift+V キーを選択して、コードまたはコマンドを Cloud Shell セッションに貼り付けます。

  4. Enter キーを選択して、コードまたはコマンドを実行します。

Resource Graph ライブラリを追加する

Python で管理グループを管理できるようにするには、ライブラリを追加する必要があります。 このライブラリは、Windows 10 の bash やローカルにインストールされている場合も含め、Python を使用できる場所ならどこでも動作します。

  1. 最新の Python がインストールされていることを確認します (3.8 以降)。 まだインストールされていない場合は、Python.org でダウンロードします。

  2. 最新の Azure CLI がインストールされていることを確認します (2.5.1 以降)。 まだインストールされていない場合は、Azure CLI のインストールに関するページを参照してください。

    注意

    次の例で、Python で CLI ベースの認証を使用できるようにするには、Azure CLI が必要です。 その他のオプションの詳細については、Python 用 Azure 管理ライブラリを使用した認証に関するページを参照してください。

  3. Azure CLI から認証します。

    az login
    
  4. 選択した Python 環境で、管理グループに必要なライブラリをインストールします。

    # Add the management groups library for Python
    pip install azure-mgmt-managementgroups
    
    # Add the Resources library for Python
    pip install azure-mgmt-resource
    
    # Add the CLI Core library for Python for authentication (development only!)
    pip install azure-cli-core
    

    Note

    すべてのユーザーに対して Python がインストールされている場合、これらのコマンドは管理者特権のコンソールから実行する必要があります。

  5. ライブラリがインストールされていることを確認します。 azure-mgmt-managementgroups0.2.0 以上、azure-mgmt-resource9.0.0 以上、azure-cli-core2.5.0 以上である必要があります。

    # Check each installed library
    pip show azure-mgmt-managementgroups azure-mgmt-resource azure-cli-core
    

管理グループの作成

  1. Python スクリプトを作成し、次のソースを mgCreate.py として保存します。

    # Import management group classes
    from azure.mgmt.managementgroups import ManagementGroupsAPI
    
    # Import specific methods and models from other libraries
    from azure.common.credentials import get_azure_cli_credentials
    from azure.common.client_factory import get_client_from_cli_profile
    from azure.mgmt.resource import ResourceManagementClient, SubscriptionClient
    
    # Wrap all the work in a function
    def createmanagementgroup( strName ):
        # Get your credentials from Azure CLI (development only!) and get your subscription list
        subsClient = get_client_from_cli_profile(SubscriptionClient)
        subsRaw = []
        for sub in subsClient.subscriptions.list():
            subsRaw.append(sub.as_dict())
        subsList = []
        for sub in subsRaw:
            subsList.append(sub.get('subscription_id'))
    
        # Create management group client and set options
        mgClient = get_client_from_cli_profile(ManagementGroupsAPI)
        mg_request = {'name': strName, 'display_name': strName}
    
        # Create management group
        mg = mgClient.management_groups.create_or_update(group_id=strName,create_management_group_request=mg_request)
    
        # Show results
        print(mg)
    
    createmanagementgroup("MyNewMG")
    
  2. az login を使用して、Azure CLI で認証します。

  3. ターミナルに次のコマンドを入力します。

    py mgCreate.py
    

管理グループの作成結果は、LROPoller オブジェクトとしてコンソールに出力されます。

リソースをクリーンアップする

インストールしたライブラリをお使いの Python 環境から削除する場合は、次のコマンドを使用します。

# Remove the installed libraries from the Python environment
pip uninstall azure-mgmt-managementgroups azure-mgmt-resource azure-cli-core

次のステップ

このクイックスタートでは、リソース階層を整理するための管理グループを作成しました。 管理グループには、サブスクリプションや他の管理グループを含めることができます。

管理グループについて、またリソース階層の管理方法について詳しくは、次の記事に進んでください。