10.3. OAuth2 トークン認証
OAuth (Open Authorization) は、トークンベースの認証と承認のオープンスタンダードです。OAuth 2 認証は、Automation Controller API とプログラムでやり取りするときによく使用されます。Basic 認証と同様に、Authorization ヘッダーを通じて各 API リクエストに OAuth 2 トークンが付与されます。Basic 認証とは異なり、OAuth 2 トークンには設定可能なタイムアウトがあり、スコープ設定可能です。トークンには有効期限が設定されており、必要に応じて管理者が 1 ユーザーまたは Automation Controller システム全体に対して、トークンを簡単に取り消すことができます。これは、revoke_oauth2_tokens 管理コマンドを使用するか、アクセストークンの取り消し で説明されている API を使用して実行できます。
Automation Controller で OAuth2 アクセストークンを取得するためのさまざまな方法は次のとおりです。
- Personal Access Token (PAT)
- アプリケーショントークン: パスワード付与タイプ
- アプリケーショントークン: 暗黙の付与タイプ
- アプリケーショントークン: 認証コード付与タイプ
ユーザーは、API またはプラットフォームゲートウェイ UI の
この例では、API でトークンを作成するために PAT メソッドを使用します。作成後、スコープを設定できます。
システム全体でトークンの有効期限を設定できます。詳細は、トークンベースの認証を使用した外部アプリケーションへのアクセスの設定 を参照してください。
トークン認証は、Python スクリプトや curl などのツールなど、Automation Controller API をプログラムで使用する場合に最適です。
curl の例
curl -u user:password -k -X POST https://<platform-host>/api/gateway/v1/tokens/
curl -u user:password -k -X POST https://<platform-host>/api/gateway/v1/tokens/
この呼び出しは、次の JSON データを返します。
token プロパティーの値を使用して、Hosts などの Automation Controller リソースに対して GET 要求を実行できます。
curl -k -X GET \ -H “Content-Type: application/json” -H “Authorization: Bearer <oauth2-token-value>” \ https://<platform-host>/api/controller/v2/hosts/
curl -k -X GET \
-H “Content-Type: application/json”
-H “Authorization: Bearer <oauth2-token-value>” \
https://<platform-host>/api/controller/v2/hosts/
開始するジョブテンプレートに POST を実行してジョブを実行することもできます。
curl -k -X POST \
-H "Authorization: Bearer <oauth2-token-value>" \
-H "Content-Type: application/json" \
--data '{"limit" : "ansible"}' \
https://<platform-host>/api/controller/v2/job_templates/14/launch/
curl -k -X POST \
-H "Authorization: Bearer <oauth2-token-value>" \
-H "Content-Type: application/json" \
--data '{"limit" : "ansible"}' \
https://<platform-host>/api/controller/v2/job_templates/14/launch/
10.3.1. 外部ユーザーが OAuth 2 トークンを作成できるようにする リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、シングルサインオンによって作成されたユーザーなどの外部ユーザーは、セキュリティー上の理由から OAuth トークンを生成できません。
手順
-
ナビゲーションパネルから、
を選択します。 - を選択します。
- 外部ユーザーによる OAuth2 トークンの作成を許可する オプションを有効にします。