クイック スタート: JavaScript 使用した管理グループの作成

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

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

前提条件

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

  • 開始する前に、バージョン 12 以降の Node.js がインストールされていることを確認してください。

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

Azure Cloud Shell

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

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

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

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

  1. Cloud Shell を開始します。

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

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

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

アプリケーションのセットアップ

JavaScript で管理グループを管理できるようにするには、環境を設定する必要があります。 Windows 10 上での Bash など、JavaScript を利用できる場所であればどこでもこのセットアップは機能します。

  1. 次のコマンドを実行し、新しい Node.js プロジェクトをセットアップします。

    npm init -y
    
  2. yargs モジュールへの参照を追加します。

    npm install yargs
    
  3. Azure Resource Graph モジュールへの参照を追加します。

    npm install @azure/arm-managementgroups
    
  4. Azure 認証ライブラリへの参照を追加します。

    npm install @azure/identity
    

    注意

    "package.json" で @azure/arm-managementgroups がバージョン 2.0.1 以上であることと、@azure/identity がバージョン 2.0.4 以上であることを確認します。

管理グループの作成

  1. index.js という名前のファイルを新規作成し、次のコードを入力します。

       const argv = require("yargs").argv;
       const { InteractiveBrowserCredential } = require("@azure/identity");
       const { ManagementGroupsAPI } = require("@azure/arm-managementgroups");
    
       if (argv.groupID && argv.displayName) {
          const createMG = async () => {
             const credentials = new InteractiveBrowserCredential();
             const client = new ManagementGroupsAPI(credentials);
             const result = await client.managementGroups.beginCreateOrUpdateAndWait(
                argv.groupID,
                {
                   displayName: argv.displayName
                }
             );
             console.log(result);
          };
    
       createMG();
    }
    
  2. ターミナルに次のコマンドを入力します。

    node index.js --groupID "<NEW_MG_GROUP_ID>" --displayName "<NEW_MG_FRIENDLY_NAME>"
    

    各トークンの <> プレースホルダーはそれぞれ、"管理グループ ID" と "管理グループのフレンドリ名" に置き換えてください。

    スクリプトによって認証が試行されると、次のようなメッセージがターミナルに表示されます。

    サインインするには、Web ブラウザーを使用して https://microsoft.com/devicelogin ページを開き、認証用のコード FGB56WJUGK を入力します。

    ブラウザーでの認証が完了すると、スクリプトが引き続き実行されます。

管理グループを作成した結果はコンソールに出力されます。

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

インストール済みのライブラリをアプリケーションから削除する場合、次のコマンドを実行します。

npm uninstall @azure/arm-managementgroups @azure/identity yargs

次のステップ

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

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