第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 にログインしたときに発生するアクティビティーを確認します。

手順

  1. GET を使用して /api/login/ エンドポイントに移動し、csrftoken Cookie を取得します。

    $ curl -k -c - https://<gateway server name>/api/gateway/v1/login/
    
    $YOUR_AAP_URL FALSE / TRUE 1780539778 csrftoken GODXonA5LyV1uAs8zvcD2k12DQJC74oB
    Copy to Clipboard Toggle word wrap
  2. ユーザー名、パスワード、X-CSRFToken=<token-value> を使用して /api/login/ エンドポイントに POST を送信します。

    curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' \
    
    --referer https://<gateway server name>/api/gateway/v1/login/ \
    
    -H 'X-CSRFToken: <token-value>' \
    
    --data 'username=admin&password=$YOUR_ADMIN_PASSWORD' \
    
    --cookie 'csrftoken=GODXonA5LyV1uAs8zvcD2k12DQJC74oB' \
    
    https://<gateway server name>/api/gateway/v1/login/ -k -D - -o /dev/null
    Copy to Clipboard Toggle word wrap
  3. 認証が必要な API (例: /api/controller/v2/settings/all/) にアクセスしてテストします。
$ curl -X GET -H 'Cookie: <cookieID>;' https://<gateway server name>/api/controller/v2/settings/all/ -k
Copy to Clipboard Toggle word wrap

これらはすべて、ブラウザーで UI または API にログインするときに Automation Controller によって実行され、ブラウザーで認証するときにのみ使用する必要があります。Automation Controller とのプログラムによる統合は、OAuth2 トークン認証 を参照してください。

検証

以下に典型的な応答を示します。

Server: nginx
Date: <current date>
Content-Type: text/html; charset=utf-8
Content-Length: 0
Connection: keep-alive
Location: /accounts/profile/
X-API-Session-Cookie-Name: awx_sessionid
Expires: <date>
Cache-Control: max-age=0, no-cache, no-store, must-revalidate, private
Vary: Cookie, Accept-Language, Origin
Session-Timeout: 1800
Content-Language: en
X-API-Total-Time: 0.377s
X-API-Request-Id: 700826696425433fb0c8807cd40c00a0
Access-Control-Expose-Headers: X-API-Request-Id
Set-Cookie: userLoggedIn=true; Path=/
Set-Cookie: current_user=<user cookie data>; Path=/
Set-Cookie: csrftoken=<csrftoken>; Path=/; SameSite=Lax
Set-Cookie: awx_sessionid=<your session id>; expires=<date>; HttpOnly; Max-Age=1800; Path=/; SameSite=Lax
Strict-Transport-Security: max-age=15768000
Copy to Clipboard Toggle word wrap

この方法でユーザーが正常に認証されると、サーバーはセッションクッキーの設定名を示す X-API-Session-Cookie-Name というヘッダーで応答します。デフォルト値は awx_session_id で、後で Set-Cookie ヘッダーで確認できます。

注記

SESSION_COOKIE_AGE パラメーターで指定することで、セッションの有効期限を変更できます。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る