[解決済み] curl で --negotiate を使用する場合、keytab ファイルは必要ですか?
2022-03-04 23:55:37
質問
その ドキュメンテーション kerberosで保護されたエンドポイントに接続する方法を説明したもので、次のように表示されます。
curl -i --negotiate -u : "http://<HOST>:<PORT>/webhdfs/v1/<PATH>?op=..."
は
-u
フラグを指定する必要がありますが、curl では無視されます。
を実行しますか?
--negotiate
オプションであらかじめ作成されたキータブをcurlが探すようになります。
kinit
コマンドを使用するのですか、それとも認証情報を入力するのですか?
keytab ファイルを探す場合、コマンドはどのようなファイル名を探すのでしょうか?
解決方法は?
に一度だけ貢献することです。
curl
その地域で 以下は、その内容です。
curl(1)
はKerberosについて何も知らないので、認証情報キャッシュやkeytabファイルと対話することはありません。すべての呼び出しを GSS-API 実装に委ね、その実装があなたのために魔法をかけるのです。どのような魔法を使うかは、ライブラリ、Heimdal、MIT Kerberosに依存します。
あなたの質問から推測すると、あなたはKerberosについてほとんど知識がなく、SPNEGOによって保護されたRESTエンドポイントへのAPIコールを単に自動化したいだけなのでしょう。
そのために必要なことは以下の通りです。
- Unix系OSをお持ちの方
- MIT Kerberos 1.11 以上をインストールしてください。
-
少なくとも
curl
MIT Kerberosに対する7.38.0 -
で検証してください。
curl --version
GSS-APIに言及する と SPNEGOとldd
MIT Kerberos バージョンとリンクしています。 -
を作成します。
クライアント
サービスプリンシパルのキータブは
ktutil
またはmskutil
-
それを使ってTGTを取得してみる
クライアント
によるキータブ
kinit -k -t <path-to-keytab> <principal-from-keytab>
-
で検証します。
klist
チケットキャッシュがあること
環境はこれで準備完了です。
-
輸出
KRB5CCNAME=<some-non-default-path>
-
輸出
KRB5_CLIENT_KTNAME=<path-to-keytab>
-
起動
curl --negotiate -u : <URL>
MIT Kerberosは、両方の環境変数が設定されていることを検出し、それらを検査し、自動的にあなたのkeytabでTGTを取得し、サービスチケットを要求し、次のように渡します。
curl
. これで完了です。
備考 : Heimdalでは動作しません。
関連
-
[解決済み] HbaseのcheckAndPutとcheckAndMutateの違いは何ですか?
-
[解決済み] 単一ファイルをコピーする際にhadoop discpの問題が発生する
-
[解決済み] HadoopでDatanodeのプロセスが実行されていない
-
[解決済み] 最初のhadoopプロジェクトエラー。"入力パスが存在しません"
-
[解決済み] hadoop の -libjars に関する問題
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] cURL呼び出しによるHTTPリクエストを使用してヘッダーを送信する方法は?
-
[解決済み] cURLの出力をファイルに取り込むには?
-
[解決済み] cURLでHTTPリクエストを行う(PROXYを使用)
-
[解決済み】cURLを使用して、リクエストとレスポンスタイムを一度に測定する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Hadoop-Hiveからテーブルを削除/トランケートする方法は?
-
[解決済み] yarn.scheduler.maximum-allocation-mb` と `yarn.nodemanager.resource.memory-mb` の違いについて教えてください。
-
[解決済み] HbaseのcheckAndPutとcheckAndMutateの違いは何ですか?
-
[解決済み] コマンドプロンプトからHiveとHadoopのバージョンを知るには?
-
[解決済み] 単一ファイルをコピーする際にhadoop discpの問題が発生する
-
[解決済み] Pig:FLATTENキーワード
-
[解決済み] hadoop の -libjars に関する問題
-
[解決済み] curl で --negotiate を使用する場合、keytab ファイルは必要ですか?
-
[解決済み] Hiveで日付の差を計算する方法
-
[解決済み] HiveにStringのsplit関数はありますか?