第10章 API での認証
API では以下の認証方法を使用できます。
Automation Controller は、組織がすぐに使用できる視覚的なダッシュボードを使用して自動化を一元管理し、より深いレベルで、他のツールと統合するための REST API を提供するように設計されています。Automation Controller は、Automation Controller を既存のツールやプロセスに簡単に組み込むことができるように、いくつかの認証方法をサポートしています。これにより、適切なユーザーがリソースにアクセスできるようになります。
10.1. セッション認証の使用 リンクのコピーリンクがクリップボードにコピーされました!
Automation Controller の API または UI に直接ログインするときにセッション認証を使用して、インベントリー、プロジェクト、ジョブテンプレートなどのリソースを手動で作成し、ブラウザーでジョブを開始できます。この方法を使用すると、その HTTP リクエストの間だけでなく、長時間ログインしたままにすることができます。たとえば、Chrome や Mozilla Firefox などのブラウザーで API または UI を参照する場合などです。ユーザーがログインすると、セッションクッキーが作成されます。つまり、Automation Controller 内の別のページに移動しても、ログインしたままにすることができます。次の図は、セッション中にクライアントとサーバーの間で行われる通信を表しています。
curl ツールを使用して、Automation Controller にログインしたときに発生するアクティビティーを確認します。
手順
GETを使用して/api/login/エンドポイントに移動し、csrftokenCookie を取得します。curl -k -c - https://<gateway server name>/api/gateway/v1/login/ $YOUR_AAP_URL FALSE / TRUE 1780539778 csrftoken GODXonA5LyV1uAs8zvcD2k12DQJC74oB
$ curl -k -c - https://<gateway server name>/api/gateway/v1/login/ $YOUR_AAP_URL FALSE / TRUE 1780539778 csrftoken GODXonA5LyV1uAs8zvcD2k12DQJC74oBCopy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザー名、パスワード、
X-CSRFToken=<token-value>を使用して/api/login/エンドポイントにPOSTを送信します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
認証が必要な API (例:
/api/controller/v2/settings/all/) にアクセスしてテストします。
curl -X GET -H 'Cookie: <cookieID>;' https://<gateway server name>/api/controller/v2/settings/all/ -k
$ curl -X GET -H 'Cookie: <cookieID>;' https://<gateway server name>/api/controller/v2/settings/all/ -k
これらはすべて、ブラウザーで UI または API にログインするときに Automation Controller によって実行され、ブラウザーで認証するときにのみ使用する必要があります。Automation Controller とのプログラムによる統合は、OAuth2 トークン認証 を参照してください。
検証
以下に典型的な応答を示します。
この方法でユーザーが正常に認証されると、サーバーはセッションクッキーの設定名を示す X-API-Session-Cookie-Name というヘッダーで応答します。デフォルト値は awx_session_id で、後で Set-Cookie ヘッダーで確認できます。
SESSION_COOKIE_AGE パラメーターで指定することで、セッションの有効期限を変更できます。