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 での使用に対応しています。 次に例を示します。
- Visual Studio Code 用 Azure Storage 拡張機能
- Visual Studio Code Azure Resources 拡張機能 (バージョン 0.4.0 以前が必要)
- Visual Studio Code 用 Azure Virtual Machines 拡張機能
Azure Account 拡張機能の前提条件
- Azure Stack Hub 環境。
- Visual Studio Code。
- Azure Account 拡張機能。
- Azure Stack Hub サブスクリプションと、Azure Stack Hub にアクセスできる資格情報。
- Azure Stack Hub 用の AZ モジュールを使用する PowerShell での環境。 手順については、「Azure Stack Hub 用の PowerShell Az モジュールをインストールする」を参照してください。
資格情報を取得する
このセクションでは、テナント 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>
は完全修飾ドメイン名です。
管理者特権のプロンプトで 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/
次のコマンドレットを同じセッションで実行します。
$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 aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb username@contoso.com
テナント ID を書き留めておきます。 Azure Account 拡張機能を構成する JSON セクションを追加するときに、これが必要になります。
Azure Account 拡張機能を設定する
VS Code を開きます。
左隅にある [拡張機能] を選択します。
検索ボックスに「
Azure Account
」と入力します。[Azure Account] を選択し、 [インストール] を選択します。
VS Code を再起動して、拡張機能を読み込みます。
Ctrl+Shift+P キーを押し、 [Preferences: Open User Settings (JSON)](基本設定: ユーザー設定 (JSON) を開く) を選択します。
コード エディター内で、お使いの環境の値を使って次の 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>",
ユーザー設定 (JSON) を保存し、Ctrl + Shift + P キーをもう一度使用します。 [Azure: サインイン] を選択します。 お使いのブラウザーに認証ページが読み込まれます。 お使いのエンドポイントにサインインします。
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 ストレージ アカウントにファイルをアップロードします。 |