Ansible Tower 3.3 以降で、外部アプリケーションに対するトークンベースの認証を作成したり、設定したりできるようになりました。この機能により、ServiceNow や Jenkins と Ansible Tower との統合が簡単になります。OAuth 2 では、トークンを使用して、ログイン情報などを開示せず、特定のデータをアプリケーションと共有できるうえ、これらのトークンは「読み取り専用」として範囲の指定ができます。Tower では、統合対象の外部アプリケーションを表すアプリケーションを作成し、このアプリケーションを使用して、外部アプリケーションのユーザーの代わりにこのアプリケーションが使用するトークンを作成します。
Tower が発行するトークンをアプリケーションリソースに関連付けることで、特定のアプリケーション用に発行された全トークンをより簡単に管理できるようになります。アプリケーションでトークンの発行を分離して、システム内の全トークンを取り消さずに、アプリケーションごとに全トークンを取り消すことができます。
Ansible Tower と外部の Web アプリケーションを統合する場合には、別の Web アプリのユーザーの代わりに OAuth2 トークンを作成する必要があります。以下の理由により、認証コード付与タイプを使用して Tower でアプリケーションを作成することを推奨します。
外部アプリケーションはユーザーの認証情報を使用してユーザーに変わりに Tower からトークンを取得できるため
区分化されたトークンが特定のアプリケーション向けに発行されることで、これらのトークンを簡単に管理できるため (例: 対象のアプリケーションに関連する全トークンの取り消し)
左のナビゲーションバーからアプリケーション () アイコンをクリックしてアプリケーションページにアクセスします。アプリケーションページでは、Tower が現在管理するアプリケーションで利用可能なものすべてが、検索可能な一覧として表示されます。この一覧は、名前 別に並べ替えることができます。
他のアプリケーションが存在しない場合には、アプリケーション追加のメッセージが含まれるグレーのボックスだけが表示されます。
ユーザー向けのトークンベースの認証は、アプリケーションウィンドウで設定できます。
Ansible Tower ユーザーインターフェースの左のナビゲーションバーからアプリケーション () アイコンをクリックします。
アプリケーションウィンドウが開きます。
アプリケーションの画面の右上にある ボタンをクリックします。
新規アプリケーションのウィンドウが開きます。
新規アプリケーションの作成 ウィンドウで以下の詳細を入力します。
名前 (必須): 作成するアプリケーションの名前を指定します。
説明 (オプション): アプリケーションに関する簡単な説明を入力します。
組織 (必須): 対象のアプリケーションに関連のある組織を指定します。
認証付与タイプ (必須): ユーザーがこのアプリケーションのトークンを取得できるように、使用する付与タイプを 1 つ選択します。『Ansible Tower Administration Guide』のアプリケーションセクションの「grant types」を参照してください。
URIS のリダイレクト: 許可する URI をコンマ区切りの一覧として指定します。これは、付与タイプを 認証コード に指定した場合には、必須です。
クライアントタイプ (必須): クライアントデバイスのセキュリティーレベルを選択します。
完了したら 保存 または、変更を破棄するには キャンセル をクリックします。
トークン ビューを選択すると、アプリケーションにアクセスするためのトークンを持つユーザーが一覧として表示されます。
トークンは、関連付けされているユーザーがアクセス可能なリソースにだけアクセスでき、トークンの範囲を指定することでさらにアクセス範囲を制限可能です。
トークンは、ユーザー画面から追加し、そのタイミングでアプリケーションと関連付けることができます。ユーザーのトークン設定で直接、アプリケーションを指定できます。トークン設定タグで ご自分の ユーザーに対するトークンを作成できます。つまり、トークンの作成や表示ができるのは、自身のユーザー画面からのみです。トークンを追加するには以下を行います。
左のナビゲーションバーからユーザー () アイコンをクリックしてユーザー一覧ビューにアクセスし、ユーザーをクリックして OAuth 2 トークンを設定します。
注釈
API または UI から作成できる OAuth 2トークンは、自身のユーザーに対してだけで、つまり、トークンの設定または表示する時にアクセスできるのは、自分のユーザープロファイルのみです。管理者で、他のユーザーのトークンを作成したり、削除したりする必要がある場合には、『Ansible Tower Administration Guide』の「Token and session management」セクションのコマンドの呼び出しと作成を参照してください。
ユーザーのプロファイルから トークン タブをクリックします。
トークンがない場合には、トークン画面で追加するようにプロンプトが表示されます。
追加 ボタンをクリックすると、トークンの作成ウィンドウが開きます。
トークンの作成ウィンドウで以下の詳細を入力します。
アプリケーション: トークンを関連付けるアプリケーションの名前を入力します。または、 ボタンをクリックして検索することもできます。これにより、別のウィンドウが開き、利用可能なオプションから選択できます。リストが広範囲に及ぶ場合には、検索バーを使用して、名前別に絞り込むことができます。どのアプリケーションにもリンクされないパーソナルアクセストークン (PAT) を作成する場合には、このフィールドは空白のままにします。
説明 (オプション): トークンに関する簡単な説明を入力します。
範囲 (必須): 対象のトークンのアクセスレベルを指定します。
完了したら 保存 または、変更を破棄するには キャンセル をクリックします。
トークンの保存後には、ユーザー用に新規作成されたトークンおよび、トークン情報、トークンの失効のタイミングが表示されます。
注釈
この時だけ唯一、トークンの値と関連の更新トークンの値が表示されます。
ユーザーのプロファイルのトークン一覧ビューで、トークンが割り当てられるアプリケーションと、有効期限が表示されます。
上記の例のアプリケーションで、適切なトークンを持つユーザーが表示されることを確認するには、アプリケーションウィンドウの トークン タブに移動します。