3.10.1 認証情報の登録
自動化で登録した認証情報は、ジョブを実行する対象ホストのシークレット情報を管理します。
ここでは、以下の認証情報の登録方法について説明します。
(1)GitLab、Ops Iのクレデンシャル情報にアクセスするための認証情報
PlaybookはGitLabに格納されているため、AWXからGitLabにアクセスする必要があります。AWXからGitLab、Ops Iのクレデンシャル情報にアクセスするための認証情報の登録方法について説明します。
GitLabにアクセスするにあたって、事前にGitLabアクセストークンをシークレットに格納する必要があります。また、PlaybookからAPIを実行する場合、AWXからOps Iのクレデンシャル情報にアクセスする必要があります。Ops Iのクレデンシャル情報も同様にシークレットに格納する必要があります。
情報をシークレットに格納した後に、以下のシークレットの情報を取得してください。下表に必要な取得項目と参照先を示します。
| 項目 | 参照先 |
|---|---|
|
Secrets Engines作成 |
|
Secretの作成 |
|
自動化からシークレットにアクセスするための認証情報の取得 |
【シークレットにアクセスするための認証情報の登録手順】
AWSからシークレットに格納したGitLabアクセストークン、Ops Iのクレデンシャル情報を参照するために、まずAWSからシークレットにアクセスするための設定をします。
(図)新規認証情報の作成画面(認証情報タイプ「HashiCorp Vault Secret Lookup」)
(表)シークレットにアクセスするための新規認証情報の作成画面入力情報一覧
| 項目 | 説明 |
|---|---|
| 名前 | シークレットにアクセスするための認証情報の名前 「Outpost」は予約語のため使用不可 |
| 認証情報タイプ | シークレットにアクセスする場合は「HashiCorp Vault Secret Lookup」を選択 |
| サーバーURL | http://vault.テナント名-service:8200 テナント名はPlaybookをもっているテナント名に置き換える。 |
| AppRole role_id | 事前にシークレットで取得したAppRoleのロールID |
| AppRole secret_id | 事前にシークレットで取得したAppRoleのシークレットID |
| 認証へのパス | approle(デフォルト) |
| API バージョン | v2を選択 |
【GitLabへアクセスするための認証情報の登録手順】
GitLabへアクセスするための認証情報は、認証情報タイプ「ソースコントロール」で登録します。「ソースコントロール」の認証情報から、「HashiCorp Vault Secret Lookup」の認証情報を参照することにより、シークレットからキーをとってくることができGitLabへアクセスできるようになります。
(図)新規認証情報の作成画面(認証情報タイプ「ソースコントロール」)
(表)「HashiCorp Vault Secret Lookup」参照のための新規認証情報の作成画面入力一覧
| 項目 | 説明 |
|---|---|
| 名前 | 認証情報タイプ「HashiCorp Vault Secret Lookup」の認証情報を参照するための認証情報の名前 「Outpost」は予約語のため使用不可 |
| 認証情報タイプ | GitLabにアクセスするため「ソースコントロール」を選択 |
| ユーザー名 | シークレットの認証情報の登録を行ったユーザー名 |
| パスワード | 以下の手順で設定します。
|
| 項目 | 説明 |
|---|---|
| シークレットバックエンドの名前 | Secret Engine名 |
| シークレットへのパス | 事前にシークレットで取得したシークレットへのパス |
| 認証へのパス | 新規認証情報の作成画面の「認証へのパス」と同じパラメータ |
| キー名 | 事前にシークレットで取得したキー名 |
【Ops Iのクレデンシャル情報へアクセスするための認証情報の登録手順】
Ops Iのユーザーのクレデンシャル情報にアクセスするための認証情報は、認証情報タイプ「OpsI Credential Type」で登録します。「OpsI Credential Type」の認証情報から、「HashiCorp Vault Secret Lookup」の認証情報を参照することにより、シークレットからキーをとってくることができOps Iのクレデンシャル情報へアクセスできるようになります。
認証情報を登録するには、シークレットにOps Iのドメインやトークンなど、Playbookから参照したいものを登録しておく必要があります。シークレットの登録は「Secretの作成」を、Ops Iトークンの取得は「(表)関連するリソースエリアのタブ(ユーザー詳細画面)」を参照してください。
(表)「OpsI Credential Type」から「HashiCorp Vault Secret Lookup」を参照するための新規認証情報の作成画面入力一覧
| 項目 | 説明 |
|---|---|
| 名前 | 認証情報タイプ「HashiCorp Vault Secret Lookup」の認証情報を参照するための認証情報の名前 「Outpost」は予約語のため使用不可 |
| 認証情報タイプ | Ops Iのクレデンシャル情報にアクセスするため「OpsI Credential Type」を選択 |
| タイプの詳細 | 「opsi_domain」、「opsi_token」、「opsi_username」、「opsi_password」のうち、Playbookから参照したいものを以下の手順で設定します。
|
(2)PATを使用した認証情報
PAT(Personal Access Token)は、Ops I提供部品が自動化にアクセスするための認証情報です。
PATを使用する場合、ユーザー情報(ユーザー名、ユーザーのパスワード)が不要です。IdP連携によりパスワードを持たないユーザーが自動化にアクセスするためにはPATが必要になります。
Ops I提供部品については「Ops I提供部品」、IdP連携については「IdP連携の設定」を参照してください。
[PATの作成手順]
PATの作成は、PATを使用するユーザー自身で実施します。
- 自動化アプリケーションを選択し、コンテンツエリアに表示されたAWXの画面で「アクセス」-「ユーザー」を選択します。
- ユーザー一覧が表示されるので、トークンを取得するユーザーを選択します。
- ユーザーの詳細画面が表示されるので、[トークン]タブの追加ボタンをクリックします。
- ユーザートークン作成画面が表示されるので、「範囲」項目で「書き込み」を選択し、保存ボタンをクリックするとトークンが発行されます。
- トークンが発行され、画面に表示されます。他の画面に遷移するとトークンは確認することができなくなるので、メモなどで保存してください。
作成したPAT(手順5.で発行されたトークン)をシークレット管理に保存してください。シークレット情報の登録については「シークレットの登録」を参照してください。
PATの有効期限は1,000年のため、基本的に更新は不要です。
PATを更新する場合は、新たにPATを作成し、シークレットに格納されている古いPATを新しく作成したPATに置き換えてください。シークレットで新しいPATに置き換える前に作成したワークフローがすべて終了した後、古いPATを自動化から削除してください。