web-dev-qa-db-ja.com

SQL Server DockerコンテナーでWindows認証を使用する方法

Dockerコンテナベースのアプリケーションを構築するためにオンラインで見つけることができるすべての例を確認しました。 2つのdockerコンテナーで実行されている2つのサービスを実行したいと思います。

  1. ASP.NETを実行しているWindowsコンテナー
  2. SQL Serverを実行するWindowsコンテナー

簡単な仕事と多くの例。ただし、すべての例で、SQL認証を使用し、SQLサーバーコンテナを実行するときに、ハードコードされたSAパスワードを環境変数として提供する必要があります。また、ASP.Netコードの接続文字列にSAパスワードをハードコーディングする必要があります(または、構成ファイルなどで他の方法で提供する必要もあります)。

すべての例の要点として、パスワードはどこかにハードコードされています。

現在開発しているほとんどのアプリケーションでは、代わりにWindows認証を使用するか、代わりにグループ化された管理されたサービスアカウントを使用します。しかし、私が知る限り、Windowsコンテナーをドメインに追加することはできません。したがって、SQLサーバーはWindowsドメインの一部ではないため、ここではWindows認証を使用する方法がわかりません。

それで、このようにパスワードをハードコーディングする代わりに誰かが代わりを持っていますか?

11
IProgrammer

私はまったく同じ問題を扱っています。 ここ は、私が見つけた最も完全な手順です。秘訣はgMSAを使用することです。

しかし、JanneRantalaが最後に言っているように、データベースに新しいユーザーを追加しようとすると、同じ問題が発生します。

メッセージ15401、レベル16、状態1、行3 WindowsNTユーザーまたはグループ 'YOUR_DOMAIN\gmsa $'が見つかりません。名前をもう一度確認してください。

1
G. Gomes

これは、それを機能させる方法のウォークスルーです。 Windowsコンテナのチュートリアル

ただし、SQLサーバー自体がGMSAアカウントを利用できるようにするには、Active Directoryの一部である必要があるため、SQLがコンテナーでも実行されている場合、これは機能しません。

0

Windows認証は、Windocks SQLServerコンテナで自動的に有効になります。詳細については、 ここ を参照してください。 Windocksで作成されたSQLServerコンテナーは、Windows Server(2012 R2または2016)に既にインストールされている既定のSQLサービスから自動的に作成されたSQLServerの名前付きインスタンスです。デフォルトインスタンスのWindowsアカウントは、コンテナインスタンスで自動的に有効になります。

0
rameshpa