問題タブ [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.
c# - SPN を使用しても、ImpersonationLevel は引き続き Delegation ではなく Impersonation であり、マシンでの委任を許可します
WindowsIdentity の ImpersonationLevel は、SPN を使用し、マシンで Kerberos 委任を許可している場合でも、委任ではなく偽装のままです。
私は開発サーバーにダブルホップする開発環境でもまったく同じ設定をしています。これをライブサーバーに公開しようとしていますが、偽装レベルを「委任」にすることができない偽装エラーが発生し続けます
他に何をする必要がありますか?Kerberos のデバッグは不可能のようです -- チェックしている SPN を確認する方法はありますか?
security - Kerberos のサービス チケット - Hadoop セキュリティ
kerberos を使用して Hadoop クラスターを保護しようとしています。kinit コマンドを使用して TGT を生成できます。しかし、それを超えて私は立ち往生しています。
1) 「serviceTicket」が実際に何を意味するのか知りたいです。(説明としてではありません); サービスチケットを利用できるコマンド/コードはどれですか?
2) 「.keyTab」ファイルと「.keyStore」ファイルの用途は何ですか?
Hadoop と Kerberos のストーリー
ユーザーは、 kinitコマンドを使用して KDC に認証要求を送信します。
KDC は暗号化されたチケットを送り返します。
ユーザーはパスワードを入力してチケットを復号化します。
4. これで認証され、ユーザーはサービス チケットの要求を送信します。
5. KDC はチケットを検証し、サービス チケットを送り返します。
ユーザーは hdfs@KERBEROS.com にサービス チケットを提示します。
hdfs@KERBEROS.com がチケットを復号化し、ユーザーの ID を検証します。
4 番目のステップでは、「サービス チケットのリクエスト」; それは実際にはどういう意味ですか?TGT を取得するには、'kinit' コマンドを使用します。同じく、サービスチケットの入手手順・方法は?
私のプロセスの詳細:
- LDAP : アクティブディレクトリ
- Kerberos : Ubuntu にインストール済み
- Hadoop クラスター: 1 つのマスターと 1 つのスレーブを備えた Ubuntu マシンで構成されています。
- Ubuntu ユーザー名 : labuser
Ubuntu のレルム : KERBEROS.COM
計画では、Kerberos と Active Directory で Hadoop セキュリティを提供する予定です
- ActiveDirectory に存在するユーザーの Kerberos Server マシンで生成された TGT (kinit コマンドを使用)
次に、Kerberos を Ubuntu Hadoop クラスターと統合するために、以下を実行しました。
1)プリンシパルを作成するコマンド: addprinc -randkey namenode/labuser@KERBEROS.COM
2)キータブを作成するコマンド : xst -norandkey -k namenode.service.keytab namenode/labuser@KERBEROS.COM (または) ktadd -k namenode.service.keytab namenode/labuser@KERBEROS.COM
3) Kerberos に対応する Hadoop 構成ファイルのプロパティを追加しました。
Hadoop クラスターを開始すると、すべてのサービス (Namenode、Datanode、Resource Manager、および Node Manager)でログインが成功することがわかります。
- ログ情報:INFO org.apache.hadoop.security.UserGroupInformation: keytab ファイルを使用してユーザー dn/labuser@KERBEROS.COM のログイン成功 * /home/labuser/hadoopC/etc/hadoop/dn.service.keytab
まだHadoop クラスターが起動されていないため、障害が発生し、
DataNode (java.lang.RuntimeException: 特権リソースなしでセキュア クラスターを開始できません)
NameNode(java.io.FileNotFoundException: /home/labuser/.keystore (そのようなファイルまたはディレクトリはありません))
上記の Kerberos プロセスに変更が必要かどうかを提案してください。はいの場合、正当化してください
c# - ServicePrincipleName(SPN) に関連付けられたアカウントを取得するためのクエリ
C# で構築された内部サイトがあり、たとえば、サービス アカウントの検索/変更/追加など、会社を支援するさまざまな機能用のさまざまなツールがあります。ツールは、これらのタスクを自動化するための単なる C# コードです。/漠然
SPN を入力して、関連付けられているサービス アカウントを返す方法を見つけて作成するように依頼されました。
次のようなものです:
入力: HTTP/server1.company.com
出力: SVC_ACCT_AWESOME
私が受け取ったもう 1 つの要求は、サービス アカウント名を入力して、KVNO を返してもらうことでした。
問題、私はこれまで C# で何もしたことがありません。Visual Studio 2013 が読み込まれており、学習したいと考えています。私は何時間も Google に注ぎ込みましたが、これ以外に役立つものは何も見つかりませんでした:
残念ながら、それは私にとって何の意味もありません。
これらの特定のタスクに対して与えられる指示は、非常に高く評価されます!
ありがとう。
java - ショートアレイ最短工程次
私のアレイは
この配列は現在、このようにソートされています
この現在のコードで
私がしたいのは、配列の行を並べ替えて、 の行とB
比較した の合計に応じて、このように見えるようにすることですA
。
したがって、56+102+125= 283 >200 を合計すると、次に最小の行が得られます6 65 200
。
私は基本的にShortest Process Nextを実装しようとしています
これは私が試したコードです
active-directory - JAAS の Kerberos ログインモジュールで SPN を使用するかどうか
Jconsole で使用される Jaas を使用して Kerberos ログイン モジュールを構築しています。
Jconsole は、公開された MBean を持つプロセスにアクセスするために使用されるクライアントになり、kerberos loginmodule はユーザーを認証します。
ユーザーは Jconsole 経由でログインし、Jconsole はユーザー データを loginmodule に渡します。ユーザー名とパスワードは Kerberos loginmodule によって処理され、ユーザーの資格情報は中央の Active Directory に対して検証されます。
これを Kerberos 用に構成する際に問題が発生しています。つまり。これには SPN の設定が必要ですか? それとも、単一の KeyTab セットアップのみが必要ですか?
windows - SSPI、KERBEROS、SPN、および 127.0.0.1 を使用した認証
SSPIを使用するWindowsシステムで、クライアント/サーバーアプリケーションが動作し、KERBEROSを介してクライアントを認証しています。これを機能させるには SPN を登録する必要があり、FQDN を使用するとすべてが機能しますが、約 4 秒かかります。127.0.0.1 を使用して接続すると、接続はほぼ即時に行われますが、認証に失敗します。
次の SPN を登録しました: Myapp/127.0.0.1:44555
特定のシステムではなく、すべてのシステムを参照しているため、これが機能しない理由を理解していると思います。私が理解できないのは、KERBEROS 認証を実行しながら、127.0.0.1 を使用することによるすべての速度の利点を得る方法です。
事前に感謝します。支援をよろしくお願いします。
sql-server - 対象のプリンシパル名が正しくありません。SSPI コンテキストを生成できません
マシン A から SQL Server を実行しているマシン B への SQL Server 接続を取得するのに苦労しています。
私は広範囲にグーグルで検索しましたが、見つけたものはすべて機能しませんでした. また、これを解決するプロセスを順を追って説明することもありません。
Kerberos を使用していませんが、NTLM が構成されています。
関連するマシンは次のとおりです (xx は、セキュリティ上の目的でマシン名の一部を隠すために使用されます)。
- xxPRODSVR001 - Windows Server 2012 ドメイン コントローラー
- xxDEVSVR003 - Windows Server 2012 (このマシンはエラーを生成しています)
- xxDEVSVR002 - Windows Server 2012 (このマシンは SQL Server 2012 を実行しています)
次の SPN が DC (xxPRODSVR001) に登録されています。セキュリティ上の理由から、ドメインを yyy で隠しています。
CN=xxDEVSVR002、CN=Computers、DC=yyy、DC=local の登録済み ServicePrincipalNames:
CN=xxDEVSVR003、CN=Computers、DC=yyy、DC=local の登録済み ServicePrincipalNames:
ここで、SQL Server のエラー メッセージがより説明的で、接続しようとしているプリンシパル名を教えてくれれば、これを診断できるかもしれません。
それで、誰かがこれを解決する方法を教えてもらえますか、それとも私が提供したものに何か間違っていることがわかりますか?
デバッグ情報をさらに生成できれば幸いです。必要なものを教えてください。
windows - Windows MSA アカウント: MSA アカウントを使用して、2 つの異なるサーバー間で WMI / WinRM コマンドを実行できますか?
Microsoft は、MSA (管理されたサービス アカウント) を使用して 2 つの Windows サーバー間でリモート接続をセットアップすることを許可していますが、限られた範囲のアプリケーション (SQL、IIS、Exchange) のみに限定されているようです。
私が理解しているように、MSAアカウントが必要なサービスのSPN(サービスプリンシパル名)を登録できる場合、別のサーバーとのシステム間通信を実行できます。
私がやりたいことは次のとおりです: (Windows リモート監視サービス) WinRM / WMI を使用して、次の監視コマンドを実行できるようにしたいと考えています。
しかし、対処し続ける必要のない 30 日間の資格情報の有効期限があるため、一般的な AD アカウントを使用したくありません。
kerberos - setspn コマンドはどこで実行しますか?
Windows認証に使用している以下のコマンドでサービスプリンシパル名を追加しようとしています。
ドメインコントローラーマシンに接続されたWindows 2008サーバーで実行されているIISサーバーで実行されているサイトがあります。
setspn
IIS サーバーまたはドメイン コントローラーでコマンドを実行する必要がありますか?