AzureRM PowerShell モジュールを使用して Azure にサインインする

警告

AzureRM PowerShell モジュールは、2024 年 2 月 29 日に正式に非推奨になりました。 引き続きサポートを受け、更新を受け取れるようにするために、AzureRM から Az PowerShell モジュールに移行することをお勧めします。

AzureRM モジュールの機能は今後も使用できますが、メンテナンスやサポートは行われないため、引き続きの使用はユーザーの判断に委ねられ、リスクが発生することがあります。 Az モジュールへの移行に関するガイダンスについては、移行リソースを参照してください。

Azure PowerShell では、複数の認証方法がサポートされています。 最も簡単に始められるのは、コマンド ラインから対話形式でサインインする方法です。

対話操作でサインインする

対話操作でサインインするには、Connect-AzureRmAccount コマンドレットを使用します。

Connect-AzureRmAccount

このコマンドレットを実行すると、ダイアログ ボックスが表示され、Azure アカウントに関連付けられている電子メール アドレスとパスワードを入力するように求められます。 この認証は、現在の PowerShell セッションが終了するまで有効です。

重要

Azure PowerShell 6.3.0 の時点で、Windows にサインインしたままである限り、資格情報は複数の PowerShell セッション間で共有されます。 詳細については、永続的な資格情報に関する記事を参照してください。

サービス プリンシパルを使ってサインインする

サービス プリンシパルは、非対話型の Azure アカウントです。 他のユーザー アカウントと同様、そのアクセス許可は Microsoft Entra ID で管理されます。 サービス プリンシパルに、必要なアクセス許可のみを付与することで、自動化スクリプトのセキュリティが維持されます。

Azure PowerShell で使用するサービス プリンシパルを作成する方法については、「Azure PowerShell で Azure サービス プリンシパルを作成する」を参照してください。

サービス プリンシパルを使用してサインインするには、Connect-AzureRmAccount コマンドレットで ServicePrincipal 引数を使用します。 サービス プリンシパルのサインイン資格情報、およびサービス プリンシパルに関連付けられたテナント ID も必要です。 サービス プリンシパルの資格情報を適切なオブジェクトとして取得するには、Get-Credential コマンドレットを使用します。 このコマンドレットにより、サービス プリンシパル ユーザー ID とパスワードを入力するダイアログ ボックスが表示されます。

$pscredential = Get-Credential
Connect-AzureRmAccount -ServicePrincipal -Credential $pscredential -TenantId $tenantid

Azure マネージド サービス ID を使用してサインインする

Azure リソース用マネージド ID は、Microsoft Entra ID の機能です。 サインインにマネージド ID サービス プリンシパルを使用し、その他のリソースにアクセスするためにアプリ専用のアクセス トークンを取得できます。 マネージド ID は、Azure クラウドで実行されている仮想マシンでのみ使用できます。

Azure リソースのマネージド ID の詳細については、「How to use managed identities for Azure resources on an Azure VM to acquire an access token (Azure VM 上で Azure リソースのマネージド ID を使用してアクセス トークンを取得する方法)」を参照してください。

クラウド ソリューション プロバイダー (CSP) としてサインインする

クラウド ソリューション プロバイダー (CSP) のサインインには、TenantId を使用する必要があります。 通常は、このパラメーターにはテナント ID またはドメイン名を指定できます。 しかし、CSP のサインインの場合、テナント ID を指定する必要があります。

Connect-AzureRmAccount -TenantId '00000000-0000-0000-0000-000000000000'

別のクラウドにサインインする

Azure クラウド サービスでは、リージョンのデータ処理規制に準拠した環境を提供します。 リージョン クラウド内のアカウントの場合は、サインインするときに -Environment 引数で環境を設定します。 たとえば、ご自身のアカウントが中国のクラウドにある場合は、次のように指定します。

Connect-AzureRmAccount -Environment AzureChinaCloud

次のコマンドでは、使用可能な環境の一覧を取得します。

Get-AzureRmEnvironment | Select-Object -Property Name

Azure ロールベース アクセスの管理についての詳細情報

Azure での認証とサブスクリプション管理の詳細については、アカウント、サブスクリプション、管理者ロールの管理に関するページを参照してください。

ロール管理を目的とした Azure PowerShell のコマンドレット: