この記事では、AZURE アカウント拡張機能を使用してAzure Stack Hubに接続する方法について説明します。これにより、VS Code から直接Azureを使用できます。 VS Code の設定を更新する必要があります。
VS Code は、Web アプリケーションとクラウド アプリケーションをビルドおよびデバッグするための軽量エディターです。 ASP.NET Core、Python、Node.js、Go などの開発者は VS Code を使用します。 Azure アカウント拡張機能を使用すると、サブスクリプションで他のAzure拡張機能をフィルター処理して、1 つのAzure サインインを使用できます。 この拡張機能により、VS Code 統合ターミナルで Azure Cloud Shell を使用できるようになります。 拡張機能を使用すると、Identity Manager の Microsoft Entra ID と Active Directory フェデレーション サービス (AD FS) (AD FS) の両方を使用して、Azure Stack Hub サブスクリプションに接続できます。 Azure Stack Hub にサインインし、サブスクリプションを選択して、Cloud Shell で新しいコマンド ラインを開くことができます。
注
この記事の手順は、Active Directory フェデレーション サービス (AD FS) 環境で使用できます。 AD FS の資格情報とエンドポイントを使用します。
Visual Studio Code と Azure Stack Hub
Visual StudioのAzure アカウント拡張機能に加えて、Azure Stack Hubや VS Code で使用できるその他のAzure拡張機能も多数サポートされています。 これらの拡張機能は次のとおりです。
- Visual Studio Code Azure Storage 拡張機能
- Visual Studio Code Azure Resources 拡張機能 (バージョン 0.4.0 以前が必要)
- Visual Studio Code Azure 仮想マシン 拡張機能
Azure アカウント拡張機能の前提条件
- Azure Stack Hub 環境。
- Visual Studio Code。
- Azure アカウント拡張機能。
- Azure Stack Hub サブスクリプション と、Azure Stack Hub にアクセスできる資格情報。
- Azure Stack Hub 用の AZ モジュールを使用する PowerShell を使用する環境。 手順については、 Azure Stack Hub 用の PowerShell Az モジュールのインストールに関するページを参照してください。
資格情報を取得する
このセクションでは、資格情報を使用してテナント ID を取得します。 Azure Stack Hub Azure 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 $TenantIdAccount SubscriptionName TenantId Environment ------- ---------------- -------- ----------- username@contoso.com azure-stack-sub aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb username@contoso.comテナント ID を書き留めます。 Azure アカウント拡張機能を構成する JSON セクションを追加するときに必要になります。
Azure アカウント拡張機能を設定する
VS Code を開きます。
左側の隅にある [拡張機能 ] を選択します。
検索ボックスに「
Azure Account」と入力します。[Azure アカウント] を選択し、[インストール] を選択します。
VS Code を再起動して拡張機能を読み込みます。
Ctrl + Shift + P キーを押し、[Preferences: Open User Settings (JSON)]\(ユーザー設定を開く (JSON)\) を選択します。
コード エディターで、次の JSON スニペットを環境の値で更新し、設定ブロックにスニペットを貼り付けます。
値:
パラメーター Description azure.cloudこのパラメーターにはリテラル定数 "AzureCustomCloud" を使用します。 azure.tenantAzure Stack Hub テナント ID の値。 azure.customCloud.resourceManagerEndpointUrlこれは、Azure Stack HubのResource Managerのルート URL です。 validateAuthorityid マネージャーとして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を選択します。[サブスクリプション] を選択し、使用できるサブスクリプションがあるかどうかを確認します。
Commands
| Azure: サインイン | Azure サブスクリプションにサインインします。 |
|---|---|
| Azure: デバイス コードを使用してサインインする | デバイス コードを使用して、Azure サブスクリプションにサインインします。 サインイン コマンドが機能しないセットアップでデバイス コードを使用します。 |
| Azure: Azure Cloud にサインインする | いずれかのソブリン クラウドで Azure サブスクリプションにサインインします。 |
| Azure: サインアウト | Azure サブスクリプションからサインアウトします。 |
| Azure: サブスクリプションの選択 | 取り扱うサブスクリプションのセットを選択します。 拡張機能には、フィルター処理されたサブスクリプション内のリソースのみが表示されます。 |
| Azure: アカウントを作成する | Azureアカウントをお持ちでない場合は、今すぐサインアップできます。 |
| Azure: Cloud Shell で Bash を開く | Cloud Shell で Bash を実行している新しいターミナルを開きます。 |
| Azure: Cloud Shell で PowerShell を開く | Cloud Shell で PowerShell を実行している新しいターミナルを開きます。 |
| Azure: Cloud Shell にアップロードする | Cloud Shell ストレージ アカウントにファイルをアップロードします。 |