この記事では、Active Directory (AD) 認証を使用して SQL Managed Instance エンドポイントに接続する方法について説明します。 続行する前に、AD と統合し Azure Arc で有効な SQL Managed Instance がデプロイ済みであることを確認してください。
Active Directory 認証を有効にして Azure Arc で有効な SQL Managed Instance をデプロイするには、チュートリアル - AD と統合された SQL Managed Instance のデプロイに関する記事を参照してください。
注意
このページを進める前に、Active Directory DNS サーバーに SQL エンドポイント用 DNS レコードが作成されていることを確認します。
SQL Managed Instance で Active Directory ログインを作成する
SQL Managed Instance が正常に展開されたら、SQL Server で Active Directory ログインをプロビジョニングする必要があります。
ログインをプロビジョニングするには、まず管理者特権でログイン SQL を使用して SQL Managed Instance に接続し、次の T-SQL を実行します。
CREATE LOGIN [<NetBIOS domain name>\<AD account name>] FROM WINDOWS;
GO
次の例では、NetBIOS ドメイン名が admin で、contoso.local というドメインに CONTOSO という Active Directory アカウントのログインを作成しています。
CREATE LOGIN [CONTOSO\admin] FROM WINDOWS;
GO
Azure Arc で有効な SQL Managed Instance に接続する
ドメインに参加している Windows ベースのクライアント マシンまたは Linux ベースのドメイン対応マシンから、 sqlcmd ユーティリティ、 SQL Server Management Studio、または VISUAL Studio Code 用 MSSQL 拡張機能 を使用して、AD 認証を使用してインスタンスに接続できます。
ドメイン対応の Linux ベースのマシンとは、kinit を使用して Kerberos 認証を使用できるコンピューターのことです。 このようなコンピューターでは、使用されている Active Directory ドメイン (領域) を指すように/etc/krb5.conf ファイルが設定されている必要があります。 また、/etc/resolv.conf ファイルを設定して、Active Directory ドメインに対して DNS 参照を実行できるようにする必要があります。
Linux/Mac OS からの接続
Linux/Mac OS クライアントから接続するには、kinit コマンドを使用して Active Directory に対して認証を行い、sqlcmd ツールを使用して SQL Managed Instance に接続します。
kinit <username>@<REALM>
sqlcmd -S <Endpoint DNS name>,<Endpoint port number> -E
たとえば、CONTOSO\admin アカウントを使って、ポート sqlmi.contoso.local でエンドポイント 31433 がある SQL マネージド インスタンスに接続するには、次のコマンドを使います。
kinit admin@CONTOSO.LOCAL
sqlcmd -S sqlmi.contoso.local,31433 -E
この例では、-E で Active Directory 統合認証を指定しています。
Windows から SQL Managed Instance に接続する
現在の Windows Active Directory ログインで SQL Managed Instance にログインするには、以下のコマンドを実行します。
sqlcmd -S <DNS name for master instance>,31433 -E
SSMS から SQL Managed Instance に接続する
ADS から SQL Managed Instance に接続する