この記事に従って、アプライアンス構成マネージャーで複数のサーバー資格情報を追加して、ソフトウェア インベントリ (インストールされているアプリケーションの検出) とエージェントレスの依存関係の分析を実行し、Web アプリ、SQL Server インスタンス、データベースを検出する方法を学習します。
Azure Migrate アプライアンスは、オンプレミスのサーバーを検出し、サーバー構成とパフォーマンス メタデータを Azure に送信するために、Azure Migrate: Discovery and assessment によって使用される軽量アプライアンスです。 また、このアプライアンスは、ソフトウェア インベントリ、エージェントレスの依存関係の分析、Web アプリおよび SQL Server インスタンスとデータベースの検出を実行するためにも使用できます。
注
現在、ASP.NET Web アプリの検出は、VMware 環境で稼働しているサーバーの検出および評価に使用されるアプライアンスでのみ使用できます。
これらの機能を使用する場合、次の手順を実行して、サーバー資格情報を提供することができます。 vCenter Server および Hyper-V ホストとクラスターで稼働しているサーバーでは、アプライアンスは自動的に資格情報をサーバーにマップして、検出機能の実行を試みます。
サーバーの資格情報を追加する
サポートされるサーバー資格情報の種類
アプライアンス構成マネージャーでは、複数のサーバー資格情報 (ドメイン、非ドメイン (Windows または Linux)、または SQL Server 認証資格情報) を追加できます。
サポートされるサーバー資格情報の種類の一覧を次の表に示します。
| 資格情報の種類 | 説明 |
|---|---|
| ドメイン資格情報 |
ドメイン資格情報を追加するには、[資格情報の追加] モーダルのドロップダウンからオプションを選択します。 ドメイン資格情報を提供するには、ドメイン名を完全修飾ドメイン名 (FQDN) 形式 (例: prod.corp.contoso.com) で指定する必要があります。 また、資格情報のフレンドリ名、ユーザー名、パスワードも指定する必要があります。 物理的な検出については、ダウン レベル形式 (___domain\username) でユーザー名を指定します。UPN 形式 (username@___domain.com) はサポートされていません。 追加されたドメイン資格情報は自動的に、Active Directory に対してドメインの信頼性が検証されます。 これは、検出されたサーバーに対してアプライアンスでドメイン資格情報をマップしようとしたときにアカウントのロックアウトを防止するための検証です。 ドメイン コントローラーでドメイン資格情報を検証するには、アプライアンスでドメイン名を解決できる必要があります。 資格情報を追加する際には、必ず正しいドメイン名を指定してください。正しくない場合、検証が失敗します。 アプライアンスは、検証に失敗したドメイン資格情報についてマップを試行しません。 検出を開始するには、検証に成功した少なくとも 1 つのドメイン資格情報、または少なくとも 1 つの非ドメイン資格情報が必要です。 Windows サーバーに対して自動的にマップされたドメイン資格情報は、ソフトウェア インベントリの実行に使用され、Web アプリ、および SQL Server インスタンスとデータベース (SQL Server で Windows 認証モードを構成している場合) の検出にも使用できます。 SQL Server でサポートされる認証モードの種類の詳細について説明します。 |
| ドメイン以外の資格情報 (Windows/Linux) |
Windows (ドメイン以外) または Linux (ドメイン以外) を追加するには、[資格情報の追加] モーダルのドロップダウンから必要なオプションを選択します。 資格情報のフレンドリ名、ユーザー名、パスワードを指定する必要があります。 |
| SQL Server 認証資格情報 |
SQL Server 認証資格情報を追加するには、[資格情報の追加] モーダルのドロップダウンからオプションを選択します。 資格情報のフレンドリ名、ユーザー名、パスワードを指定する必要があります。 この種類の資格情報を追加すると、SQL Server で SQL Server 認証モードを設定している場合、VMware で実行されている SQL Server インスタンスとデータベースを検出できます。 SQL Server でサポートされる認証モードの種類の詳細について説明します。 アプライアンスで SQL Server 認証資格情報を使用して SQL Server インスタンスおよびデータベースを検出する前に、サーバーにインストールされている SQL を検出するためのソフトウェア インベントリを完了できるようにするためには、検証に成功した少なくとも 1 つのドメイン資格情報、または少なくとも 1 つの Windows (非ドメイン) 資格情報を提供する必要があります。 |
| PostgreSQL 認証資格情報 | PostgreSQL 認証を追加するには、[資格情報の追加] ダイアログボックスのドロップダウンから適切なオプション を 選択します。 フレンドリ名、ユーザー名、パスワードを指定する必要があります。 これらの資格情報は、PostgreSQL サーバーがパスワード ベースの認証 (md5、scram-sha-256、パスワードなど) 用に構成されている場合に、環境内の PostgreSQL インスタンスとデータベースを検出するために使用されます。 アプライアンスがソフトウェア インベントリを完了して PostgreSQL のインストールを検出できるように、少なくとも 1 つの正常に検証されたドメイン資格情報または少なくとも 1 つの Windows/Linux (非ドメイン) 資格情報を指定する必要があります。 この手順の後、アプライアンスは PostgreSQL 認証資格情報を使用して PostgreSQL インスタンスとデータベースを識別します。 |
Windows または Linux の資格情報で、ソフトウェア インベントリ、エージェントレスの依存関係の分析、Web アプリおよび SQL Server インスタンスとデータベースの検出を実行するために必要なアクセス許可を確認します。
必要なアクセス許可
次の表は、アプライアンスで提供されるサーバー資格情報で、それぞれの機能を実行するために必要なアクセス許可を示します。
| 機能 | Windows 資格情報 | Linux の資格情報 |
|---|---|---|
| ソフトウェア インベントリ | ゲスト ユーザー アカウント | 標準または通常のユーザー アカウント (非 sudo アクセス許可) |
| SQL Server インスタンスとデータベースの検出 | SQL Server インスタンスとデータベース、Windows/ドメイン アカウント、または SQL Server アカウントを検出するには、SQL Server インスタンスごとに これらの低い特権の読み取りアクセス許可が必要 です。 低い特権のアカウント プロビジョニング ユーティリティを使用して、カスタム アカウントを作成したり、sysadmin サーバー ロールのメンバーである既存のアカウントを簡単に使用したりできます。 | 現在サポートされていません |
| ASP.NET Web アプリの検出 | 管理アクセス許可を持つドメインまたは非ドメイン (ローカル) アカウント | 現在サポートされていません |
| エージェントレス依存関係の分析 | 管理アクセス許可を持つドメインまたは非ドメイン (ローカル) アカウント | ls コマンドと netstat コマンドを実行するアクセス許可を持つ Sudo ユーザー アカウント。 sudo ユーザー アカウントを指定する場合は、sudo コマンドが呼び出されるたびにパスワードの入力を求めずに、必要なコマンドを実行するアカウントに対して NOPASSWD が有効になっていることを確認します。 あるいは、次のコマンドを使用することで、/bin/netstat ファイルと /bin/ls ファイルに CAP_DAC_READ_SEARCH と CAP_SYS_PTRACE のアクセス許可が与えられているユーザー アカウントを作成できます。
sudo setcap CAP_DAC_READ_SEARCH,CAP_SYS_PTRACE=ep /bin/ls を実行してください。 |
| PostgreSQL インスタンスとデータベースの検出 | 各 PostgreSQL インスタンスでスーパーユーザー特権または次の最小ユーザー権限を持つ PostgreSQL ユーザー アカウントを使用します: データベースでの CONNECT、pg_read_all_settings、関連するスキーマでの USAGE。 |
各 PostgreSQL インスタンスでスーパーユーザー特権または次の最小ユーザー権限を持つ PostgreSQL ユーザー アカウントを使用します: データベースでの CONNECT、pg_read_all_settings、関連するスキーマでの USAGE。 |
資格情報を提供するための推奨プラクティス
- 必要なアクセス許可を持つ専用ドメイン ユーザー アカウントを作成することをお勧めします。これは、ソフトウェア インベントリ、エージェントレス依存関係の分析と Web アプリの検出、および目的のサーバー上の SQL Server インスタンスとデータベースを実行するようにスコープ設定されています。
- ソフトウェア インベントリを開始するには、検証に成功した少なくとも 1 つのドメイン資格情報、または少なくとも 1 つの非ドメイン資格情報を提供することをお勧めします。
- SQL Server で Windows 認証モードを設定している場合に、SQL Server インスタンスとデータベースを検出するために、ドメイン資格情報を提供することができます。
- また、SQL Server で SQL Server 認証モードを構成した場合、SQL Server 認証資格情報を提供することもできます。ただし、アプライアンスが最初にソフトウェア インベントリを実行できるように、認証に成功した少なくとも 1 つのドメイン資格情報、または少なくとも 1 つの Windows (非ドメイン) 資格情報を提供することをお勧めします。
アプライアンスでの資格情報の処理
- アプライアンス構成マネージャーで提供された資格情報はすべて、アプライアンス サーバー上にローカルに保存され、Azure には送信されません。
- アプライアンス サーバーに保存された資格情報は、データ保護 API (DPAPI) を使用して暗号化されます。
- 資格情報を追加すると、アプライアンスは、資格情報を自動的にマップして、それぞれのサーバーで検出を実行します。
- 資格情報で必要な探索データをフェッチできるようになるまで、アプライアンスでは、後続のすべての検出サイクルに、サーバーで自動的にマップされた資格情報が使用されます。 資格情報が機能しなくなった場合、アプライアンスは、追加された資格情報の一覧から再度マップを試み、サーバー上で進行中の検出を続行します。
- 追加されたドメイン資格情報は自動的に、Active Directory に対してドメインの信頼性が検証されます。 これは、検出されたサーバーに対してアプライアンスがドメイン資格情報をマップしようとしたときにアカウントのロックアウトを防止するためです。 アプライアンスは、検証に失敗したドメイン資格情報についてマップを試行しません。
- アプライアンスでサーバーに対してドメインまたは非ドメインの資格情報をマップできない場合、プロジェクト内のサーバーに対して "資格情報を利用できません" 状態が表示されます。