問題タブ [spn]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wcf - net.tcp サービスにはどの SPN を設定する必要がありますか?
ローカル Windows アカウントを実行している Windows サービスでホストされている wcf アプリケーションがあります。このアカウントに SPN を設定する必要がありますか? その場合、SPN を設定する必要があるプロトコルは何ですか? HTTP を介したサービスに対してこれを行う方法は知っていますが、net.tcp に対しては行ったことはありません。
sharepoint - SharePoint をインストールするときに、この SetSPN コマンドをどのように使用すればよいですか?
SharePoint インストール ドキュメントには、次のように書かれています。
SQL Server サービス アカウントにドメイン ユーザー アカウントを使用する場合は、そのアカウントの有効なサービス プリンシパル名 (SPN) と、データベース サーバー上の SQL Server のインスタンスが環境内に存在することを確認する必要があります。これは、Office SharePoint Server 2007 で NTLM または Kerberos 認証を使用するかどうかに関係なく当てはまります。
Setspn.exe コマンド ライン ツールを使用して、ドメイン内のそのアカウントの SPN を構成する必要があります。Setspn.exe は、Windows Server 2008 を実行しているコンピューターに既定でインストールされます。ユーザー/サービス アカウントと同じドメインに参加しているコンピューターで、次のコマンドを実行します。
この場合、パラメータは何であるべきですか?
サービスアカウント名は「ドメイン\ユーザー名」になると思いますが、最初のパラメーターがどうあるべきかわかりません。
asp.net - AzManでサービスアカウントとして実行されているIIS
IPの理由から、Webサイトをサービスアカウントとして実行する必要があります。また、ユーザーの認証/認証にAzManを使用できるようにしたいです。どういうわけか、これらを一緒に機能させることができないようです。基本的にいくつかのユーザー資格情報を吐き出す水域をテストするためのサンプルアプリを設定しました。AzmanとWeb構成のセットアップを除いて、アプリには統合コードがありません(logging / DB / Websericeの相互作用はありません)。これは1ページのポケットベルです。
Anonアクセスが拒否されたネットワークサービスアカウントでアプリプールを実行すると、次のようになります。
..これはすべて問題ありません。すべてが機能していますが、サービスアカウントはネットワークサービスであり、使用するはずのサービスアカウントではありません。アカウントをサービスアカウントに切り替えると、ユーザーの資格情報を要求するポップアップウィンドウが表示されます(これは不要です。シングルサインオンである必要があります)。ただし、以前の設定(ct / rhyc)でこれらのクレデンシャルが渡されていました
Webサイトに対してsetspnコマンドが実行されたようですが(どうやら)、spnが何をするのか、ましてやチェック方法はわかりません。また、サービスアカウントを実行しているアプリプールで匿名アクセスを許可すると、次のようになります。
申し訳ありませんが、私はIIS n00bです。通常は私が行うことではありませんが、管理者はIISについてあまり知らないようですので、私に任せています。
wcf - WCF サービスへの接続時にクライアントを認証できない
Windows サービスでホストされている WCF サービスがあります。アプリケーションはイントラネット アプリであり、サービスとクライアントの両方で次のようにバインディングをプログラムで設定しました。
サービスとクライアントの両方に、SPN で構成されたエンドポイントがあります。
私が知る限り、バインディングは正しくセットアップされており、通常は問題なくサービスに接続できます。ただし、Windows Server 2003 R2、x64、SP2 を実行しているサーバーで、クライアントが接続を試みるとすぐに次の例外が発生するケースに遭遇しました。
INNEREXCEPTION -- 例外メッセージ:
InvalidCredentialException: ターゲット名が正しくないか、サーバーがクライアント資格情報を拒否しました。
スタックトレース:
ドメイン内の別のマシンからサービスに接続しようとすると例外が発生しますが、サービスを実行している同じマシンでサービスに接続すると正常に動作します。
ホスティング サービス自体はドメイン ユーザー アカウントとして実行されていますが、サービスをローカル システムおよびネットワーク サービスとして実行しようとしましたが、うまくいきませんでした。サーバーのローカル セキュリティ ポリシーを確認しましたが、問題はありませんでした (つまり、[ネットワーク経由でこのコンピューターにアクセス] に [すべてのユーザー] が含まれています)。
誰でもこれを解決できるアイデアを持っていますか?
サービスの SPN に関して、Active Directory で何かを行う必要があるかどうか疑問に思っていますか? setspn.exe を使用して SPN を登録または更新する方法についていくつか読んだことがありますが、これまでこれを行う必要はありませんでした。これが他の構成では機能するのに、上記の構成では機能しないのはなぜですか?
kerberos - Kerberos、委任、および SPN に関する混乱
Kerberos 委任を実行する概念実証アプリケーションを作成しようとしています。すべてのコードを書きましたが、動作しているように見えます (正常に認証されています) が、結果のセキュリティ コンテキストには ISC_REQ_DELEGATE フラグが設定されていません。
したがって、エンドポイント (クライアントまたはサーバー) のいずれかが委任を禁止されている可能性があると考えています。ただし、SPN に対して認証していません。別のドメイン ユーザーに対して 1 つのドメイン ユーザーのみ。Iの SPN として、InitializeSecurityContext()
"someuser@mydomain.lan" (サーバー アプリケーションが実行されているユーザー アカウント) を渡しています。私が理解しているように、ドメイン ユーザーはデフォルトで委任が有効になっています。とにかく、管理者に確認を依頼したところ、「アカウントは機密であり、委任できません」チェックボックスがオフになっています。
サーバーが NETWORK SERVICE として実行されていて、SPN を使用してサーバーに接続した場合、AD のコンピューター アカウントで [委任に対してコンピューターを信頼する] チェックボックスがオン (既定ではオフ) になっている必要があることはわかっていますが、 ……そんなことないですよね?またはそれは?
また、コンピュータ アカウントのチェックボックスが設定されている場合、変更はすぐに適用されますか、それともサーバー PC を再起動するか、しばらく待つ必要がありますか?
wcf - ネットワークサービスとしてサービスに接続する際に期待されるアイデンティティ、
「NETWORK SERVICE」としてアプリケーション プールで実行されている Web アプリケーションがあります。Web アプリケーションは、別の Web サーバー上のサービス (.svc) に接続します。他の Web サーバーにも、「NETWORK SERVICE」としてホストされているサービスがあります。これがデフォルトだと思います。
次のエンドポイントは、他の場所で実行すると完全に機能します。
残念ながら、Web サイトから実行すると、次のエラーが発生します。
何か案は?まったく同じ構成で、Web サーバー マシン上のローカル システムとしてこれを実行しようとしましたが、完全に動作します。
IISと何か関係がありますか?
よろしくクレイグ。
sharepoint - 同じテスト SharePoint サーバーで実行されているすべてのサービスに対して SPN を構成する必要がありますか?
ヘッダーのない単一の SharePoint サーバー (テスト用) があり、クライアント アプリが Kerberos が構成された Web アプリにのみアクセスする必要がある場合、ドメイン ユーザー (SPN) を使用してその Web アプリのアプリ プールを既に構成していますが、本当に必要ですか?すべてのサービス (SQL サーバー、MOSS 管理者、ファームなど) のドメイン ユーザー (SPN) を構成するには、それらがネットワーク サービス アカウントで構成された同じボックスで実行されている場合でも?
フィドラーを使用して HTTP トラフィックを監視すると、Kerberos チケットを取得するためにネゴシエートすることがわかります。つまり、すべてが機能すると思いますか? 認証形式: Proxy-Authorization ヘッダーは存在しません。 認証ヘッダー (ネゴシエート) に Kerberos チケットが含まれているようです: 生の形式: 認証: ネゴシエート YIIFoAYGKwYBBQUCoIIFlDCCB…</p>
前もってありがとう、フランク
wcf - NetNamedPipeサービスエンドポイントのエンドポイントアドレスにSPNを設定する
他の場所で説明されているように、「net.pipe:// localhostでリッスンしているエンドポイントがありませんでした」というエラーが発生しますが、本当の答えが見つからないようです。
これは問題の優れた識別子です:http: //kennyw.com/indigo/102
WCFを使用する場合、Windows認証はSSPI-Negotiateを介して実行されます。これにより、ほとんどの場合、実際の認証メカニズムとしてKerberosが選択されます。ただし、SSPIに渡されるターゲットSPNがローカルコンピューターアカウント用の整形式SPN(例:host / [dns machine name])の場合、NegotiateはNTLM(ループバック最適化)を使用し、アクセストークンにはネットワークSIDがありません(およびしたがって、NetNamedPipesで使用できます)。
しかし、それは問題を解決する方法を教えてくれません。プログラムでエンドポイントを作成しています。
私の問題はCreateSpnIdentityにあると思いますが、どの値を使用すればよいかわかりません。
追加情報: より多くのコンテキストのためにこれについて詳しく説明します。Wcfサービスは、NetworkServiceアカウントで実行されているWindowsサービスとしてホストされています(ローカルシステムを試しました)。サービスは、デフォルトのNetNamedPipeBindingコンストラクターを使用して作成されます。
このサービスを使用するSharePointWebパーツを作成しました。キッカーは、SharePointサイトがフォームベースの認証に設定されている場合、またはWindows認証のURLでマシン名のみが使用されている場合、問題はないということです。Windows認証でURLに完全修飾マシン名が使用されている場合にのみ、上記のエラーが発生します。
これは、記事で説明されているNTLM Kerberosの問題に関係していると確信していますが、回避方法がわかりません。
iis - ネットワークサービスをSPNとして登録するにはどうすればよいですか?
ネットワークサービスアプリプールが破損することに気付く前に、今日、ドメインアカウントをHTTP SPNとして登録したので、ドメインアカウントの登録を削除しました。
これらのアプリプールをWindows認証で再び機能させるには、ネットワークサービスをSPNとして追加し直す必要があると思います。これを行うための構文は何ですか?setpn構文でネットワークサービスアカウントが実際に何と呼ばれているのか理解できません。
ありがとう!