1

AWX (Ansible Tower のオープン ソース バージョン) を介して Ansible を実行していますが、ユーザーがbecome権限昇格コマンドを使用できないというエラーが発生し続けます。コマンドが AWX で実行されるたびに、次のエラーが生成されますMissing sudo password。そのユーザー アカウントでとの両方を実行することで、ユーザー アカウントにアクセス権があることを確認しました。どちらも手動で実行すると問題なく動作します。sudosu

簡単に言えば、AWX 内で Ansible Playbook から sudo コマンドを実行する方法を探しています。使用しているアカウントに正しい権限があることを確認しました。

ファイルを直接編集し/etc/sudoersて、ユーザーがパスワードなしで sudo を実行できるようにすることは可能ですが、これはこの状況で機能するソリューションではありません。

Ansible には権限昇格に関するドキュメントがありますが、AWX では正しいオプションが機能しません。コマンド ライン フラグとオプションのいくつかをメニュー ベースのオプションに置き換えます。Google 検索では、AWX で同じエラー メッセージが表示された人は他に見つかりませんでした。

注: これらの質問はすべてコマンド ラインからの Ansible の実行に関するものであり、Ansible Tower または AWX からの実行に関するものではないため、これは以下の質問の重複ではありません。/etc/sudoersこれらの質問は、ファイルの編集がすべての場合に機能することも前提としています。

答えを見つけるのに少し時間がかかったので、この質問を投稿してすぐに答えています。ドキュメントを見つけるのは必要以上に困難であり、情報が不足していたため、この質問に適切な回答を付けて投稿しています。

4

1 に答える 1

2

AWX で資格情報を正しく構成する必要があります。AWX を使用して Ansible Playbook で sudo コマンドを実行するには、「権限昇格方法」および「権限昇格パスワード」フィールドを指定する必要があります。(パスワード フィールドは、方法を選択した場合にのみ表示されます。)

認証情報を AWX の外部に保存する必要はありません。Ansible のドキュメントでは vault の使用について言及されている場合がありますが、Playbook での暗号化されたファイルの管理について心配する必要はありません。AWX は資格情報を安全に処理できます。

マイナーノート:

  • Ansible のドキュメントには、デフォルトで自動的にsshパスワードが設定されると書かれていますが、AWXでは特権エスカレーション パスワードを設定する必要がありました。
  • 私の場合、sshパスワードはパスワードと同じでしたsudo
  • sshとパスワードの両方に「起動時にプロンプ​​ト」オプションを使用するとsudo、フィールドにしか入力できないため、エラーが発生しsshます。このバグが発生するバージョンはわかりません。
于 2018-08-07T16:01:01.470 に答える