adlytaibi.sgws_config

sgws_config

この役割とモジュールは、NetApp StorageGRIDを構成するためのものです。以下のタスクを実行できます。

グリッド操作:

  • グリッドトークンを取得するための認証
  • API管理用の署名済みSSL証明書のインストール
  • ストレージ管理用の署名済みSSL証明書のインストール
  • IDプロバイダーの設定
  • グリッド用のローカルまたはフェデレートされた管理グループの作成
  • グリッド用のローカル管理ユーザーの作成
  • 新しいテナントの作成

テナント操作:

  • テナントトークンを取得するための認証(新しく作成したまたは既存のアカウントIDを使用)
  • テナント用のIDプロバイダーの設定
  • テナント用のローカルまたはフェデレートグループの作成
  • テナント用のローカルユーザーの作成
  • テナント用のS3キーの生成
  • テナント用のバケットの作成

注意:

  • IDプロバイダーの設定は、フェデレートグループを作成するための前提条件です。
  • 一度にフェデレートグループとローカルグループを作成することができます。
  • フェデレートグループのローカルユーザーは無視されます。

要件

  • Ansibleをインストールする必要があります。
  • Galaxy

役割変数

役割に設定可能な変数はroles/sgws_config/vars/main.ymlにあります。パスワードや認証情報はansible-vaultを使用して組み込まれています。その他の変数は、それぞれのタスクに対してroles/sgws_config/vars/にあります。

署名済みAPI管理用SSL証明書をインストールするには、mgmt_cert.pemmgmt_cert.key、およびchain.pemの3つのファイルがroles/sgws_config/filesに存在する必要があります。ストレージAPIのSSL証明書ファイルはstor_cert.pemstor_cert.key、およびchain.pemです。ヘルパースクリプトも追加しました下記を参照

roles/adlytaibi.sgws_config/tasks/main.yml内のプレイを有効または無効にするには、該当の行をコメントアウトまたはコメント解除してください。

一部のプレイを使用する前に事前の作業が必要であるため、SSL証明書およびIDプロバイダープレイはデフォルトでコメントアウトされています。

依存関係

依存関係はありません。

使い方

ビデオを見る、バージョン1.1.xの時点で。

例のプレイブック

# ansible-playbook --vault-password-file ~/.passwd ~/.ansible/roles/adlytaibi.sgws_config/sgws_config.yml

PLAY [sgws] *********************************************************************************************************

TASK [adlytaibi.sgws_config : グリッド認証トークンを取得する] *********************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : 管理グループの変数をロードする] ***********************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : グリッドユーザーグループとユーザーを作成する] ****************************************************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_group.yml for localhost
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_group.yml for localhost

TASK [adlytaibi.sgws_config : "Developers"グループが存在するか確認する] ***************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : 新しい管理者 "Developers"グループを作成する] *****************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : グループの一部であるユーザーを作成する] *******************************************************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_users.yml for localhost

TASK [adlytaibi.sgws_config : ローカル管理ユーザーの変数をロードする] ****************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : 管理ユーザーのパスワードを作成して設定する] **********************************************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_user.yml for localhost
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_user.yml for localhost

TASK [adlytaibi.sgws_config : "Developer Test User"ユーザーが存在するか確認する] *******************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : 新しい管理者ユーザー "Developer Test User"を作成する] **********************************
ok: [localhost]

TASK [adlytaibi.sgws_config : 管理者ユーザー "Developer Test User"のパスワードを設定する] ****************************
ok: [localhost]

TASK [adlytaibi.sgws_config : "Storage Test User"ユーザーが存在するか確認する] *********************************************
skipping: [localhost]

TASK [adlytaibi.sgws_config : 新しい管理者ユーザー "Storage Test User"を作成する] ************************************
skipping: [localhost]

TASK [adlytaibi.sgws_config : 管理者ユーザー "Storage Test User"のパスワードを設定する] ******************************
skipping: [localhost]

TASK [adlytaibi.sgws_config : "Storage"グループが存在するか確認する] ******************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : 新しい管理者 "Storage"グループを作成する] ********************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : グループの一部であるユーザーを作成する] *******************************************************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_users.yml for localhost

TASK [adlytaibi.sgws_config : ローカル管理ユーザーの変数をロードする] ****************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : 管理ユーザーのパスワードを作成して設定する] **********************************************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_user.yml for localhost
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_user.yml for localhost

TASK [adlytaibi.sgws_config : "Developer Test User"ユーザーが存在するか確認する] *******************************************
skipping: [localhost]

TASK [adlytaibi.sgws_config : 新しい管理者ユーザー "Developer Test User"を作成する] **********************************
skipping: [localhost]

TASK [adlytaibi.sgws_config : 管理者ユーザー "Developer Test User"のパスワードを設定する] ****************************
skipping: [localhost]

TASK [adlytaibi.sgws_config : "Storage Test User"ユーザーが存在するか確認する] *********************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : 新しい管理者ユーザー "Storage Test User"を作成する] ************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : 管理者ユーザー "Storage Test User"のパスワードを設定する] ******************************
ok: [localhost]

TASK [adlytaibi.sgws_config : アカウント変数をロードする] ***************************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : アカウントリストを収集する] *****************************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : アカウント "Widgets Unlimited"が存在するか確認する] ****************************************
skipping: [localhost]

TASK [adlytaibi.sgws_config : 新しいストレージテナントアカウント "Widgets Unlimited"を作成する] ********************************
ok: [localhost]

TASK [adlytaibi.sgws_config : 組織認証トークンを取得する] **********************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : テナントのユーザーグループの変数をロードする] ***************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : テナントのユーザーグループとユーザーを作成する] ************************************************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_group.yml for localhost
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_group.yml for localhost

TASK [adlytaibi.sgws_config : テナントのグループ "Developers"が存在するか確認する] ******************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : 新しいテナントの "Developers"グループを作成する] ***********************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : グループの一部であるユーザーを作成する] *******************************************************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_users.yml for localhost

TASK [adlytaibi.sgws_config : ローカルテナントユーザーの変数をロードする] *************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : テナントのユーザーのパスワードを作成して設定する] *******************************************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_user.yml for localhost
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_user.yml for localhost

TASK [adlytaibi.sgws_config : "Developer Test User"ユーザーが存在するか確認する] *******************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : 新しいテナントユーザー "Developer Test User"を作成する] *****************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : テナントユーザー "Developer Test User"のパスワードを設定する] ***********************************
ok: [localhost]

TASK [adlytaibi.sgws_config : "Apps Test User"ユーザーが存在するか確認する] ************************************************
skipping: [localhost]

TASK [adlytaibi.sgws_config : 新しいテナントユーザー "Apps Test User"を作成する] **********************************************
skipping: [localhost]

TASK [adlytaibi.sgws_config : テナントユーザー "Apps Test User"のパスワードを設定する] ****************************************
skipping: [localhost]

TASK [adlytaibi.sgws_config : テナントのグループ "Apps"が存在するか確認する] ************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : 新しいテナントの "Apps"グループを作成する] *****************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : グループの一部であるユーザーを作成する] *******************************************************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_users.yml for localhost

TASK [adlytaibi.sgws_config : ローカルテナントユーザーの変数をロードする] *************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : テナントのユーザーのパスワードを作成して設定する] *******************************************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_user.yml for localhost
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_user.yml for localhost

TASK [adlytaibi.sgws_config : "Developer Test User"ユーザーが存在するか確認する] *******************************************
skipping: [localhost]

TASK [adlytaibi.sgws_config : 新しいテナントユーザー "Developer Test User"を作成する] *****************************************
skipping: [localhost]

TASK [adlytaibi.sgws_config : テナントユーザー "Developer Test User"のパスワードを設定する] ***********************************
skipping: [localhost]

TASK [adlytaibi.sgws_config : "Apps Test User"ユーザーが存在するか確認する] ************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : 新しいテナントユーザー "Apps Test User"を作成する] **********************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : テナントユーザー "Apps Test User"のパスワードを設定する] ****************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : テナント変数のS3アクセスキーをロードする] **********************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : S3キーを生成する] *********************************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : S3キーを保存するディレクトリ] ***********************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : 生成したS3キーを保存する] ***************************************************************
changed: [localhost]

TASK [adlytaibi.sgws_config : テナント変数のバケットをロードする] *****************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : バケットを作成する] **********************************************************************
ok: [localhost]

PLAY RECAP **********************************************************************************************************
localhost                  : ok=53   changed=1    unreachable=0    failed=0    skipped=13   rescued=0    ignored=0

ansible-vaultの使用法

自由に自分のものにして構いませんが、これはあくまでスタートのためのものです。 ファイル~/.passwdは、ボルトのパスワードを含みます。

# echo -n NetApp123 > ~/.passwd

上記のボルトパスワードを使用して、任意の値を暗号化し、ymlファイルに統合できます。

# echo -n netapp01|ansible-vault encrypt --vault-password-file ~/.passwd > vault.txt
# cat vault.txt
$ANSIBLE_VAULT;1.1;AES256
62383435316236346137383364373438623661653665363939616231376464643762333364663733
3430313661363761386536373135663733323764666561630a383736363562363864393037646531
61383566333332356339376561336239396634626433666434306566386134343031653339333531
3964356263643134610a346138616566643533346365326662343762346432386563393331306239
3835

暗号化された値を確認したい場合。

# cat vault.txt|ansible-vault decrypt --vault-password-file ~/.passwd
復号化に成功しました
netapp01

ヘルパースクリプト

スクリプトディレクトリは、~/.ansible/roles/adlytaibi.sgws_config/files/scriptsにあり、管理用SSL証明書(mgmt_ssl.cnf)とストレージ用SSL証明書(stor_ssl.cnf)のファイルがあります。これらを修正して、グリッド管理インターフェイスおよびゲートウェイに適合させてください。 SSLキーを保存するディレクトリに移動し、プライベートキーとCSRを作成する2つのスクリプトを実行します。

# cd ~/.ansible/roles/adlytaibi.sgws_config/files
# scripts/mgmt_sign
# scripts/stor_sign

SSL証明書に署名が完了したら、それぞれをmgmt_cert.pemおよびstor_cert.pemにリネームし、~/.ansible/roles/adlytaibi.sgws_config/filesディレクトリにチェーンバンドルcertnew.p7bと一緒にコピーしてください。次に、p7bからpemに変換するbundleスクリプトを実行します。

# scripts/bundle

これらはAnsibleで使用するファイルです。

# chain.pem      CAバンドル
# mgmt_cert.pem  API管理用の署名済み証明書
# mgmt_cert.key  上記証明書用のプライベートキー
# stor_cert.pem  ストレージ管理用の署名済み証明書
# stor_cert.key  上記証明書用のプライベートキー

ライセンス

GPL

著者情報

  • Adly Taibi
プロジェクトについて

StorageGRID configuration

インストール
ansible-galaxy install adlytaibi.sgws_config
ライセンス
gpl-3.0
ダウンロード
90
所有者