web-dev-qa-db-ja.com

Windows認証KRB5KRB_AP_ERR_MODIFIED

はじめに、私はこの問題に約1週間半携わっていますが、理解できません。私は近くにいると思いますが、これまでそれを考えるたびに、私は間違っていました。検索すると思われるすべてのフォーラム投稿を確認しましたが、何も機能しませんでした。

WebアプリケーションとそれぞれのサービスでWindows認証を使用するようにしようとしているだけです。これにより、コードで、現在ログインしているユーザーの資格情報をプロンプトなしで取得し、サービスを介してデータベースのストアドプロシージャに渡すことができます。

簡単そうですね。

違う!

WireSharkを実行していると、KRB_ERROR(30)の応答が返されます。

error_code:KRB5KRB_AP_ERR_MODIFIED(41)

明日試してみます ですが、なぜ私がKRB5KRB_AP_ERR_MODIFIEDエラーを繰り返し発生するのかについて誰かが考えている場合に備えて、今すぐ投稿すると思いました。以下にリストする私の現在の設定。


これが私の現在の設定です:

Windows Server 2008 R2 Standard SP164ビット4.00GB RAM

この投稿のために、このサーバーをDALDEP01.TEST.LOCALと呼びます。その上に、次のものがあります。

  • MS SQL Server 2008 R2には、Deployと呼ぶデータベースがあります。

    1. Deploydbにアクセスできるユーザーアカウントは1つだけです。これはTEST\DeploySvcです。

    2. このユーザーアカウントはdatareader/datawriterであり、[〜#〜] exec [〜#〜]

  • IIS 7.5これは2つのWebサイトをホストします:

    1. Deploy.Serviceは、Deploydbに対してCRUD操作を行います。

    2. Deploy.WebDeploy.Serviceを呼び出すSilverlight 4アプリケーションをホストします。

    3. 両方のサイトは同じように構成されています(他にどのように行うかわからないため)

      • カスタムユーザーアカウントTEST\DeploySvcで実行されるDeployAppPoolを使用します。

      • 匿名認証は無効です。

      • Windows認証は有効

        1. 拡張保護はAcceptです。

        2. カーネルモード認証を有効にするのはCheckedです。

        3. プロバイダーはNegotiateKerberosだけが必要なためNTLMを削除したので。

  • SPNは次のように構成されます。

C:\> setspn -l deploysvc

CN = DeploySvc、OU = Services Accounts、DC = test、DC = localの登録済みServicePrincipalNames:
HTTP/deploy.test.local
HTTP /デプロイ

1
Code Maverick

SPNが重複していると、この問題が発生する可能性があります...

setspn -X

...ドメインに重複があるかどうかが表示され、問題のあるドメインを削除する必要があります。または、 SPNクエリユーティリティ を使用することもできます。また、ADのサービスアカウントの[委任]タブを既に変更しているので、委任に対して信頼されていると思いますか?

1
ChadSikorra

最近同じ問題が発生しました。

SPNに関連していることが判明しました。 SPNは、SQL Serverを実行していたサービスアカウントにマップされるのではなく、SQLServerのマシンアカウントにマップされていました。

SPNを削除して再作成しました-ホスト上でSQLServer 2012R2を実行しているサービスアカウントにマップされ、すべてが肉汁でした。

1
Justin Miller