Ansible スポークの設定
ServiceNow インスタンスと Ansible Tower を統合して、Ansible スポークアクションを自動化します。たとえば、Ansible Tower 環境から認証情報のリストを取得するフローを作成することができます。
始める前に
- 統合ハブサブスクリプションの要求
- Ansible スポーク の有効化
- 必要なロール:admin
Ansible Tower での OAuth アプリケーションの作成
Ansible Tower に OAuth アプリケーションを作成して、ServiceNow インスタンスからの接続要求を OAuth アプリケーションによって認証されるようにします。
始める前に
Ansible Tower インスタンスに対し、アドミニストレーターのアクセス権があることを確認してください。
手順
- Ansible Tower アプリケーションインスタンスにログインします。
-
左側のパネルで、[管理] から [アプリケーション] を選択します。
-
[アプリケーション] ページで、[追加] を選択します。
-
フォームに入力します。
表 : 1. 新しいアプリケーションの作成 フィールド 説明 名前 OAuth アプリケーションの一意の名前です。 説明 アプリケーションの説明このフィールドはオプションです。 組織 OAuth アプリケーションが関連付けられている組織です。 認証権限許可タイプ (Authorization grant type) クライアントにアクセスを許可する OAuth アプリケーションのベースです。ベースは、クライアントに与えられた認証コードまたはリソース所有者のパスワードです。 リダイレクト URI アクセスが許可された後、URI をクライアントにリダイレクトします。リダイレクト URI を https://<instance name>.service.now.com/oauth_redirect.do の形式で入力します。 クライアントタイプ OAuth アプリケーションからの認証を要求するクライアントのタイプです。 - [保存] を選択します。
-
クライアント ID とクライアントシークレットをコピーし、安全な場所に保存します。OAuth アプリケーションが作成されました。
OAuth プロバイダーとして Ansible Tower を登録する
Ansible Tower アプリケーションの構成中に生成された情報を使用し、Ansible Tower を OAuth プロバイダーとして登録して、ServiceNow インスタンスが OAuth 2.0 トークンを要求できるようにします。
始める前に
手順
- 移動先 すべて > システム OAuth > アプリケーションレジストリ.
- Ansible のレコードを開きます。
-
フォームのフィールドに入力します。
フィールド 必要な値 名前 レコードを一意に識別する名前を入力します。たとえば、「Ansible Tower OAuth プロファイル」と入力します。 クライアント ID Ansible Tower のアプリケーションのクライアント ID。 クライアント シークレット Ansible Tower のアプリケーションのクライアントシークレット。 OAuth API スクリプト 要求と応答をカスタマイズするオプションのスクリプト。 ロゴ URL アプリケーションロゴとして使用するイメージを含む URL。 デフォルトの権限許可タイプ トークンを確立するために使用される権限許可のタイプ。[認証コード] を選択します。 リフレッシュ トークンの有効期間 リフレッシュトークンが有効になる時間 (秒) デフォルトの時間は 8,640,000 秒です。 PKCE が必要 (PKCE required) パブリッククライアントが認証に PKCE を要求できるようにするオプション。 注:PKCE が有効になっている場合、[デフォルトの権限許可タイプ] として使用できるのは [認証コード] のみです。アプリケーション このレコードを含むアプリケーションスコープ。[Ansible Tower Spoke (Ansible Tower スポーク)] を選択します。 アクセス可能 このレジストリにアクセスできるアプリケーションスコープです。 有効 アプリケーションレジストリを積極的に使用するためのオプション。 認証 URL OAuth 認証コードのエンドポイント。例:https://<Ansible-Tower-Instance>.com/api/o/authorize/ トークン URL OAuth サーバートークンエンドポイント。例:https:// <Ansible-Tower-Instance>.com/api/o/token/ トークン失効 URL OAuth サーバートークン失効エンドポイントです。 リダイレクト URL OAuth コールバックエンドポイント (形式:https://<instance-name>.service-now.com/api/sn_ansible_ spoke/ansible_oauth_redirect)。 相互認証を有効にします トークンの要求と取り消しに相互認証を使用するオプション。このオプションでは、相互認証プロファイルを指定する必要があります。 - フォームヘッダーを右クリックし、[保存] をクリックします。
-
カスタム Ansible Tower アプリケーションのリダイレクト URL にリダイレクト URL の値を貼り付けます。
たとえば、https://<instance-name>.service-now.com/api/sn_ansible_ spoke/ansible_oauth_redirect を貼り付けます。
タスクの結果
Ansible スポークの接続レコードの設定
ServiceNow インスタンスが Ansible Tower インスタンスに認証要求を送信して OAuth トークンを取得できるようにする情報を含む接続レコードを作成します。
始める前に
必要なロール:admin
Ansible Tower インスタンスに OAuth アプリケーションがセットアップされていることを確認します。
手順
- 移動先 すべて > プロセスの自動化 > Flow Designer.
- [接続] を選択します。
- [送信] タブをオンにします。
- [すべての接続を検索] フィールドに「Ansible」と入力します。
- AnsibleTowerAlias カードで、[詳細を表示] を選択します。
- [設定] を選択します。
-
フォームに入力します。
表 : 2. 接続を設定 フィールド 説明 接続名 Ansible Tower インスタンスと確立された接続の名前です。最初の接続のデフォルト名は、[接続および資格情報エイリアス] ページの [接続および資格情報] フォームで指定された名前と一致するように自動的に割り当てられます。カスタム名を指定するには、[接続を追加] を選択し、接続を作成します。 認証情報名 ServiceNow インスタンスで Ansible 用に作成した認証情報レコードの名前です。 アプリケーションレジストリ名 (Application Registry Name) ServiceNow インスタンスで Ansible 用に作成したアプリケーションレジストリレコードの名前です。 接続 URL ServiceNow インスタンスが Ansible Tower インスタンスに接続するために使用する URL です。 OAuth クライアント ID OAuth アプリケーションの設定時に生成したクライアント ID です。 OAuth クライアントシークレット OAuth アプリケーションの設定時に生成したクライアントシークレットです。 Oauth エンティティプロファイル名 (Oauth Entity Profile Name) Ansible Tower インスタンスで作成した OAuth アプリケーションの名前です。 Oauth エンティティスコープ Ansible アプリケーションレジストリレコードの OAuth スコープ見出しで定義されている OAuth エンティティスコープの値です。 認証 URL クライアントが Ansible Tower インスタンスへのアクセスを要求するために使用する URL です。URL 形式:https://<ansible-tower-instancename>.com/api/o/authorize トークン URL Ansible Tower インスタンスにアクセスするためのトークンをクライアントが要求するために使用する URL です。URL 形式:https://<ansible-tower-instance-name>.com/api/o/token OAuth リダイレクト URL OAuth アプリケーションが ServiceNow インスタンスへのリダイレクトに使用するリダイレクト URL です。URL の形式:https://<your instance name>.service-now.com/oauth_redirect.do。 -
[OAuth トークンを設定して取得 (Configure and get OAuth Token)] を選択します。
OAuth アプリケーションが接続要求を認証し、Ansible Tower インスタンスにアクセスするための一時トークンを提供します。