次の方法で共有


Kerberos を使用して SQL Server に Azure Data Studio を接続する

重要

Azure Data Studio は、2026 年 2 月 28 日 に廃止されますVisual Studio Code を使用することをお勧めします。 Visual Studio Code への移行の詳細については、「Azure Data Studio の概要」を参照してください。

Azure Data Studio では、Kerberos を使用した SQL Server への接続がサポートされています。

macOS または Linux で統合認証 (Windows 認証) を使用するには、現在のユーザーを Windows ドメイン アカウントにリンクする "Kerberos チケット" を設定する必要があります。

前提条件

開始するには、以下が必要です。

  • Kerberos ドメイン コントローラーのクエリを実行するための、Windows ドメインに参加しているマシンへのアクセス権。

  • SQL Server は、Kerberos 認証を許可するように構成する必要があります。 UNIX で実行されているクライアント ドライバーでは、統合認証は Kerberos を使用する場合にのみサポートされます。 詳細については、「Kerberos 統合認証による SQL Server への接続」を参照してください。 接続しようとしている SQL Server のインスタンスごとに、サービスプリンシパル名 (SPN) が登録されている必要があります。 詳細については、「 Kerberos 接続用のサービス プリンシパル名の登録」を参照してください。

SQL Server に Kerberos のセットアップがあるかどうかを確認する

SQL Server のホスト マシンにサインインします。 Windows のコマンド プロンプトから、setspn -L %COMPUTERNAME% を使用してホストのすべての SPN を一覧表示します。 MSSQLSvc/HostName.contoso.com で始まるエントリが存在することを確認します。 これらのエントリは、SQL Server に SPN が登録され、Kerberos 認証を受け入れる準備ができていることを意味します。

SQL Server インスタンスのホストにアクセスできない場合は、同じ Active Directory に参加している他の Windows OS から、コマンド setspn -L <SQLSERVER_NETBIOS> を使用できます。ここで "<SQLSERVER_NETBIOS>" は、SQL Server インスタンスのホストのコンピューター名です。

Kerberos キー配布センターを取得する

Kerberos キー配布センター (KDC) の構成値を見つけます。 Active Directory ドメインに参加している Windows コンピューターで、次のコマンドを実行します。

コマンド ラインから nltest を実行し、"DOMAIN.CONTOSO.COM" をドメインの名前に置き換えます。

nltest /dsgetdc:DOMAIN.CONTOSO.COM

出力は次の例のようになります。

DC: \\dc-33.domain.contoso.com
Address: \\2111:4444:2111:33:1111:ecff:ffff:3333
...
The command completed successfully

必要な KDC 構成値である DC 名をコピーします。 この例では、dc-33.domain.contoso.com です。

ご利用の OS を Active Directory ドメイン コントローラーに参加させる

sudo apt-get install realmd krb5-user software-properties-common python-software-properties packagekit

Active Directory ドメイン コントローラーの IP アドレスが /etc/network/interfaces として記載されるように、dns-nameserver ファイルを編集します。 次に例を示します。

<...>
# The primary network interface

[!INCLUDE [azure-data-studio-deprecation](includes/azure-data-studio-deprecation.md)]
auto eth0
iface eth0 inet dhcp
dns-nameservers **<AD domain controller IP address>**
dns-search **<AD domain name>**

注意

ネットワーク インターフェイス (eth0) は、コンピューターによって異なる場合があります。 使用しているものを確認するには、ifconfig を実行し、IP アドレスと送受信されたバイトが含まれるインターフェイスをコピーします。

このファイルを編集した後、ネットワーク サービスを再起動します。

sudo ifdown eth0 && sudo ifup eth0

次のような行が /etc/resolv.conf ファイルに含まれていることを確認します。

nameserver **<AD domain controller IP address>**

Active Directory ドメインに参加します。

sudo realm join contoso.com -U 'user@CONTOSO.COM' -v

予想される出力を次に示します。

<...>
* Success

チケット保証チケットの取得をテストする

KDC からチケット保証チケット (TGT) を取得します。

kinit username@DOMAIN.CONTOSO.COM

klist を使って使用可能なチケットを表示します。 kinit が正常に実行された場合は、チケットが表示されます。

klist

予想される出力を次に示します。

krbtgt/DOMAIN.CONTOSO.COM@ DOMAIN.CONTOSO.COM.

Azure Data Studio を使用して接続する

  1. 新しい接続プロファイルを作成します。

  2. 認証の種類に [Windows 認証] を選択します。

  3. [サーバー] には、完全修飾ホスト名を hostname.DOMAIN.CONTOSO.COM という形式で入力します。

  4. 接続プロファイルを完了し、 [接続] をクリックします。

接続が正常に行われると、ご利用のサーバーが [サーバー] サイドバーに表示されます。