Visual Studio Code 内で Azure Account 拡張機能を使用して Azure Stack Hub に接続する

この記事では、Azure Account 拡張機能を使用して Azure Stack Hub に接続する方法について説明します。これにより、Visual Studio Code から Azure を直接使用できるようになります。 ご自分の Visual Studio Code (VS Code) の設定を更新する必要があります。

VS Code は、Web とクラウドのアプリケーションのビルドとデバッグを行うための軽量エディターです。 ASP.NET Core、Python、NodeJS、Go などの開発者が VS Code を使用しています。 Azure Account 拡張機能を利用すると、Azure シングル サインインを他の Azure 拡張機能に対するサブスクリプション フィルターと一緒に使用することができます。 この拡張機能により、VS Code 統合ターミナル内で Azure Cloud Shell を使用できるようになります。 拡張機能を使用すると、ID マネージャーの Microsoft Entra ID と Active Directory フェデレーション サービス (AD FS) の両方を使用して、Azure Stack Hub サブスクリプションに接続できます。 Azure Stack Hub にサインインし、お使いのサブスクリプションを選択して、Cloud Shell で新しいコマンド ラインを開くことができます。

Note

この記事の手順は、Active Directory フェデレーション サービス (AD FS) 環境に使用できます。 AD FS の資格情報とエンドポイントを使用します。

Visual Studio Code と Azure Stack Hub

Visual Studio 用の Azure Account 拡張機能に加えて、他の多くの Azure 拡張機能が Azure Stack Hub と Visual Studio Code での使用に対応しています。 次に例を示します。

Azure Account 拡張機能の前提条件

資格情報を取得する

このセクションでは、テナント ID を取得するために資格情報を使用します。 お使いの Azure Stack Hub Resource Manager URL とテナント ID が必要になります。

Azure Stack Hub Resource Manager は、Azure リソースのデプロイ、管理、監視を行うことができる管理フレームワークです。

  • Azure Stack Development Kit (ASDK) の Resource Manager URL: https://management.local.azurestack.external/
  • 統合システムの Resource Manager URL は https://management.region.<fqdn>/ です。ここで、<fqdn> は完全修飾ドメイン名です。
  1. 管理者特権のプロンプトで PowerShell を開き、次のコマンドレットを実行します。

    Add-AzEnvironment -Name "<username@contoso.com>" -ArmEndpoint "https://management.region.<fqdn>"
    
    Name  Resource Manager Url                            ActiveDirectory Authority
    ----  --------------------                            -------------------------
    username@contoso.com https://management.region.<fqdn> https://login.microsoftonline.com/
    
  2. 次のコマンドレットを同じセッションで実行します。

    $AuthEndpoint = (Get-AzEnvironment -Name "sethm@microsoft.com").ActiveDirectoryAuthority.TrimEnd('/')
    $AADTenantName = "masselfhost.onmicrosoft.com"
    $TenantId = (invoke-restmethod "$($AuthEndpoint)/$($AADTenantName)/.well-known/openid-configuration").issuer.TrimEnd('/').Split('/')[-1]
    Add-AzAccount -EnvironmentName "sethm@microsoft.com" -TenantId $TenantId
    
    Account               SubscriptionName  TenantId                             Environment
    -------               ----------------  --------                             -----------
    username@contoso.com   azure-stack-sub  6d5ff183-b37f-4a5b-9a2f-19959cb4224a username@contoso.com
    
  3. テナント ID を書き留めておきます。 Azure Account 拡張機能を構成する JSON セクションを追加するときに、これが必要になります。

Azure Account 拡張機能を設定する

  1. VS Code を開きます。

  2. 左隅にある [拡張機能] を選択します。

  3. 検索ボックスに「 Azure Account」と入力します。

  4. [Azure Account] を選択し、 [インストール] を選択します。

    拡張機能のインストール画面のスクリーンショット

  5. VS Code を再起動して、拡張機能を読み込みます。

  6. Ctrl+Shift+P キーを押し、 [Preferences: Open User Settings (JSON)](基本設定: ユーザー設定 (JSON) を開く) を選択します。

  7. コード エディター内で、お使いの環境の値を使って次の JSON スニペットを更新し、スニペットを設定ブロック内に貼り付けます。

    • 値:

      パラメーター 説明
      azure.cloud このパラメーターには、リテラル定数 「AzureCustomCloud」 を使用する必要があります。
      azure.tenant Azure Stack Hub のテナント ID の値。
      azure.customCloud.resourceManagerEndpointUrl これは Azure Stack Hub に対する Azure Resource Manager のルート URL です。
      validateAuthority ID マネージャーとして Microsoft Entra ID を使用している場合は、このパラメーターを省略できます。 AD FS を使用している場合は、値 false を使用してパラメーターを追加します。
    • JSON スニペット:

        "azure.cloud": "AzureCustomCloud",
        "azure.customCloud.resourceManagerEndpointUrl": "https://management.region.<fqdn>",
        "azure.tenant": "<your-tenant-ID>",
      
  8. ユーザー設定 (JSON) を保存し、Ctrl + Shift + P キーをもう一度使用します。 [Azure: サインイン] を選択します。 お使いのブラウザーに認証ページが読み込まれます。 お使いのエンドポイントにサインインします。

  9. Azure Stack Hub サブスクリプションに正常にログインしたことをテストするには、Ctrl + Shift + P キーを使用し、 [Azure:Select Subscription](Azure: サブスクリプションの選択) を選択し、ご自分のサブスクリプションが使用できるかどうかを確認します。

コマンド

Azure: Sign In (Azure: サインイン) Azure サブスクリプションにサインインします。
Azure: Sign In with Device Code (Azure: デバイス コードを使用したサインイン) デバイス コードを使用して、お使いの Azure サブスクリプションにサインインします。 セットアップで、サインイン コマンドが動作しないデバイス コードを使用します。
Azure: Sign in to Azure Cloud (Azure: Azure クラウドへのサインイン) いずれかのソブリン クラウドでお使いの Azure サブスクリプションにサインインします。
Azure: サインアウト お使いの Azure サブスクリプションからサインアウトします。
Azure: [サブスクリプション] を選択します。 使用するサブスクリプションのセットを選択します。 この拡張機能では、フィルター処理されたサブスクリプション内のリソースのみが表示されます。
Azure: アカウントの作成 Azure アカウントを持っていない場合、今すぐサインアップし、$200 の無料クレジットを手に入れることができます。
Azure: Open Bash in Cloud Shell (Azure: Cloud Shell 内で Bash を開く) Cloud Shell 内で Bash を実行している新しいターミナルを開きます。
Azure: Open PowerShell in Cloud Shell (Azure: Cloud Shell 内で PowerShell を開く) Cloud Shell 内で PowerShell を実行している新しいターミナルを開きます。
Azure: Upload to Cloud Shell (Azure: Cloud Shell へのアップロード) お使いの Cloud Shell ストレージ アカウントにファイルをアップロードします。

次の手順

Azure Stack Hub 内で開発環境を設定する

Visual Studio Code から Azure Stack Hub で Azure Storage を設定する