Data Science Virtual Machine で共通 ID を設定する

Microsoft Azure 仮想マシン (VM) または Data Science Virtual Machine (DSVM) で、VM をプロビジョニングするときにローカル ユーザー アカウントを作成します。 その後、ユーザーは、それらのユーザー アカウントの資格情報を使って VM に対する認証を行います。 ユーザーが複数の VM にアクセスする必要がある場合、資格情報の管理が難しくなる可能性があります。 この問題を解決するには、標準ベースの ID プロバイダーを使って、共通のユーザー アカウントをデプロイし、それらのアカウントを管理します。 そのようにすれば、単一の資格情報セットを使って、複数の DSVM など、Azure 上の複数のリソースにアクセスできます。

Active Directory は一般的な ID プロバイダーです。 Azure では、クラウド サービスとオンプレミス ディレクトリの両方としてそれがサポートされています。 Microsoft Entra ID またはオンプレミスの Active Directory を使って、スタンドアロン DSVM 上で、または Azure 仮想マシン スケール セット内の DSVM のクラスター上で、ユーザーを認証できます。 これを行うには、DSVM インスタンスを Active Directory ドメインに参加させます。

Active Directory が既にある場合は、それを共通の ID プロバイダーとして使用できます。 Active Directory がない場合は、Microsoft Entra Domain Services を介して、Azure で管理された Active Directory インスタンスを実行できます。

Microsoft Entra ID のドキュメントでは、オンプレミスのディレクトリがある場合にそれに Microsoft Entra ID を接続する方法に関するガイダンスなど、詳細な管理手順が説明されています。

この記事では、Microsoft Entra Domain Services を使って Azure でフル マネージドの Active Directory ドメイン サービスを設定する方法について説明します。 その後、管理された Active Directory ドメインに DSVM を参加させることができます。 この方法を使うと、ユーザーは共通のユーザー アカウントと資格情報を介して DSVM (および他の Azure リソース) のプールにアクセスできます。

Azure 上にフル マネージドの Active Directory ドメインをセットアップする

Microsoft Entra Domain Services を使うと、ID を簡単に管理できます。 それにより、Azure でフル マネージド サービスが提供されます。 この Active Directory ドメインで、ユーザーとグループを管理します。 Azure でホストされる Active Directory ドメインとユーザー アカウントをディレクトリに設定するには、これらの手順を実行します。

  1. Azure portal で、Active Directory にユーザーを追加します。

    1. グローバル管理者として Azure portal にサインインします

    2. [Microsoft Entra ID]>[ユーザー]>[すべてのユーザー] に移動します

    3. [新しいユーザー] を選びます

      次のスクリーンショットで示すように、[ユーザー] ペインが開きます。

      [ユーザーの追加] ペインを示すスクリーンショット。

    4. [名前][ユーザー名] など、ユーザーに関する情報を入力します。 ユーザー名のドメイン名の部分は、既定の初期ドメイン名 "<ドメイン名>.onmicrosoft.com"、または検証済みの非フェデレーション カスタム ドメイン名 ("contoso.com" など) のいずれかである必要があります。

    5. 生成されたユーザー パスワードをコピーするか、それ以外の方法で記録しておきます。 このプロセスの完了後、ユーザーにこのパスワードを提供する必要があります

    6. 必要に応じて、ユーザーの [プロファイル][グループ]、または [ディレクトリ ロール] を開いて情報を入力できます

    7. [ユーザー][作成] を選びます

    8. ユーザーがサインインできるよう、生成されたパスワードを新しいユーザーに安全に配布します

  2. Microsoft Entra Domain Services のインスタンスを作成します。 詳しくは、Azure portal を使用した Microsoft Entra Domain Services の有効化に関する記事 (インスタンスの作成と基本的な設定の構成に関するセクション) をご覧ください。 Active Directory で既存のユーザー パスワードを更新し、Microsoft Entra Domain Services でのパスワードと同期する必要があります。 そのセクションの "Azure portal の [基本] ウィンドウのフィールドに入力して Microsoft Entra Domain Services インスタンスを作成する" 手順で説明されているようにして、DNS を Microsoft Entra Domain Services に追加する必要もあります。

  3. 前のステップの仮想ネットワークの作成と構成に関するセクションで作成した仮想ネットワーク内に、別の DSVM サブネットを作成します

  4. DSVM サブネットに 1 つ以上の DSVM インスタンスを作成します

  5. 手順に従って、DSVM を Active Directory に追加します

  6. ワークスペースを任意のマシンにマウントできるように、ホームまたはノートブック ディレクトリをホストするための Azure Files 共有をマウントします。 厳格なファイル レベルのアクセス許可が必要な場合は、1 つ以上の VM でネットワーク ファイル システム (NFS) を実行する必要があります

    1. Azure ファイル共有を作成します

    2. この共有を Linux DSVM にマウントします。 Azure portal のストレージ アカウントで Azure Files 共有の [接続] を選択すると、Linux DSVM 上の bash シェルで実行するコマンドが表示されます。 次のようなコマンドです。

    sudo mount -t cifs //[STORAGEACCT].file.core.windows.net/workspace [Your mount point] -o vers=3.0,username=[STORAGEACCT],password=[Access Key or SAS],dir_mode=0777,file_mode=0777,sec=ntlmssp
    
  7. たとえば、/data/workspace ディレクトリに Azure Files 共有をマウントしたとします。 共有内に各ユーザーのディレクトリを作成します。

    • /data/workspace/user1
    • /data/workspace/user2
    • その他。

    各ユーザーのワークスペースに notebooks ディレクトリを作成します

  8. $HOME/userx/notebooks/remote 内の notebooks に対するシンボリック リンクを作成します

これで、Azure でホストされている Active Directory インスタンスにユーザーが作成されます。 ユーザーは、Active Directory の資格情報を使って、Microsoft Entra Domain Services に参加している任意の DSVM (SSH または JupyterHub) にサインインできます。 Azure Files 共有でユーザー ワークスペースがホストされているため、ユーザーは JupyterHub を使って、任意の DSVM からノートブックや他の作業にアクセスできます。

自動スケーリングの場合、仮想マシン スケール セットを使い、共有ディスクをマウントして、すべてがこの方法でドメインに参加している VM のプールを作成できます。 ユーザーは、仮想マシン スケール セット内の任意の使用可能なマシンにサインインして、ノートブックが保存されている共有ディスクにアクセスできます。

次のステップ