Documentation

13. アプリケーション

Ansible Tower 3.3 以降で、外部アプリケーションに対するトークンベースの認証を作成したり、設定したりできるようになりました。この機能により、ServiceNow や Jenkins と Ansible Tower との統合が簡単になります。OAuth 2 では、トークンを使用して、ログイン情報などを開示せず、特定のデータをアプリケーションと共有できるうえ、これらのトークンは「読み取り専用」として範囲の指定ができます。Tower では、統合対象の外部アプリケーションを表すアプリケーションを作成し、このアプリケーションを使用して、外部アプリケーションのユーザーの代わりにこのアプリケーションが使用するトークンを作成します。

Tower が発行するトークンをアプリケーションリソースに関連付けることで、特定のアプリケーション用に発行された全トークンをより簡単に管理できるようになります。アプリケーションでトークンの発行を分離して、システム内の全トークンを取り消さずに、アプリケーションごとに全トークンを取り消すことができます。

Ansible Tower と外部の Web アプリケーションを統合する場合には、別の Web アプリのユーザーの代わりに OAuth2 トークンを作成する必要があります。以下の理由により、認証コード付与タイプを使用して Tower でアプリケーションを作成することを推奨します。

  • 外部アプリケーションはユーザーの認証情報を使用してユーザーに変わりに Tower からトークンを取得できるため

  • 区分化されたトークンが特定のアプリケーション向けに発行されることで、これらのトークンを簡単に管理できるため (例: 対象のアプリケーションに関連する全トークンの取り消し)

13.1. アプリケーションの使用開始

左のナビゲーションバーからアプリケーション (applications-icon) アイコンをクリックしてアプリケーションページにアクセスします。アプリケーションページでは、Tower が現在管理するアプリケーションで利用可能なものすべてが、検索可能な一覧として表示されます。この一覧は、名前 別に並べ替えることができます。

Applications - home with example apps

他のアプリケーションが存在しない場合には、アプリケーション追加のメッセージが含まれるグレーのボックスだけが表示されます。

_images/apps-list-view-empty.png

13.2. 新規アプリケーションの作成

ユーザー向けのトークンベースの認証は、アプリケーションウィンドウで設定できます。

  1. Ansible Tower ユーザーインターフェースの左のナビゲーションバーからアプリケーション (applications-icon) アイコンをクリックします。

アプリケーションウィンドウが開きます。

  1. アプリケーションの画面の右上にある add ボタンをクリックします。

新規アプリケーションのウィンドウが開きます。

Create application

  1. 新規アプリケーションの作成 ウィンドウで以下の詳細を入力します。

  • 名前 (必須): 作成するアプリケーションの名前を指定します。

  • 説明 (オプション): アプリケーションに関する簡単な説明を入力します。

  • 組織 (必須): 対象のアプリケーションに関連のある組織を指定します。

  • 認証付与タイプ (必須): ユーザーがこのアプリケーションのトークンを取得できるように、使用する付与タイプを 1 つ選択します。『Ansible Tower Administration Guide』のアプリケーションセクションの「grant types」を参照してください。

  • URIS のリダイレクト: 許可する URI をコンマ区切りの一覧として指定します。これは、付与タイプを 認証コード に指定した場合には、必須です。

  • クライアントタイプ (必須): クライアントデバイスのセキュリティーレベルを選択します。

  1. 完了したら 保存 または、変更を破棄するには キャンセル をクリックします。

13.2.1. アプリケーション - トークン

トークン ビューを選択すると、アプリケーションにアクセスするためのトークンを持つユーザーが一覧として表示されます。

Applications - tokens list

トークンは、関連付けされているユーザーがアクセス可能なリソースにだけアクセスでき、トークンの範囲を指定することでさらにアクセス範囲を制限可能です。

13.2.1.1. トークンの追加

トークンは、ユーザー画面から追加し、そのタイミングでアプリケーションと関連付けることができます。ユーザーのトークン設定で直接、アプリケーションを指定できます。トークン設定タグで ご自分の ユーザーに対するトークンを作成できます。つまり、トークンの作成や表示ができるのは、自身のユーザー画面からのみです。トークンを追加するには以下を行います。

  1. 左のナビゲーションバーからユーザー (users-icon) アイコンをクリックしてユーザー一覧ビューにアクセスし、ユーザーをクリックして OAuth 2 トークンを設定します。

注釈

API または UI から作成できる OAuth 2トークンは、自身のユーザーに対してだけで、つまり、トークンの設定または表示する時にアクセスできるのは、自分のユーザープロファイルのみです。管理者で、他のユーザーのトークンを作成したり、削除したりする必要がある場合には、『Ansible Tower Administration Guide』の「Token and session management」セクションのコマンドの呼び出しと作成を参照してください。

  1. ユーザーのプロファイルから トークン タブをクリックします。

トークンがない場合には、トークン画面で追加するようにプロンプトが表示されます。

_images/users-tokens-empty.png
  1. 追加 add ボタンをクリックすると、トークンの作成ウィンドウが開きます。

  2. トークンの作成ウィンドウで以下の詳細を入力します。

  • アプリケーション: トークンを関連付けるアプリケーションの名前を入力します。または、search ボタンをクリックして検索することもできます。これにより、別のウィンドウが開き、利用可能なオプションから選択できます。リストが広範囲に及ぶ場合には、検索バーを使用して、名前別に絞り込むことができます。どのアプリケーションにもリンクされないパーソナルアクセストークン (PAT) を作成する場合には、このフィールドは空白のままにします。

  • 説明 (オプション): トークンに関する簡単な説明を入力します。

  • 範囲 (必須): 対象のトークンのアクセスレベルを指定します。

  1. 完了したら 保存 または、変更を破棄するには キャンセル をクリックします。

トークンの保存後には、ユーザー用に新規作成されたトークンおよび、トークン情報、トークンの失効のタイミングが表示されます。

_images/users-token-information-example.png

注釈

この時だけ唯一、トークンの値と関連の更新トークンの値が表示されます。

ユーザーのプロファイルのトークン一覧ビューで、トークンが割り当てられるアプリケーションと、有効期限が表示されます。

_images/users-token-assignment-example.png

上記の例のアプリケーションで、適切なトークンを持つユーザーが表示されることを確認するには、アプリケーションウィンドウの トークン タブに移動します。

_images/apps-tokens-list-view-example2.png