継続的展開のためにサービスユーザーを使用する
継続的展開の自動化を使用するインフラストラクチャでは、ソフトウェアの展開やタスクの実行のために、頻繁にSSH を必要とします。一般的にこの種類の自動化では、この目的に専用の継続的統合/継続的配置 (CI/CD) サーバー上のローカルユーザーアカウントを使用して、SSHを実行します。例えば、自動化されたJenkinsジョブはLinuxサーバー上で'jenkins'ユーザーとして実行される場合があります。アドバンストサーバーアクセスを使用すると、サービスユーザーを作成して、ターゲットサーバーへの展開を自動化できます。
開始する前に
サービスユーザーが関連付けられている非管理ユーザーのホストにアドバンストサーバーアクセスのクライアントをインストールする必要があります。
注意: サーバーには任意のLinuxホストが使用できます。サーバーをWindowsホストまたはFreeBSDホストにすることはできません。「アドバンストサーバーアクセスのクライアントをインストールする」をご覧ください。
サービスユーザーアカウントを含むホストへのグループアクセスを許可します。
継続的展開のためにサービスユーザーを作成する
-
チームの[Users (ユーザー)]ページに移動します。
-
[Service Users (サービスユーザー)]タブを選択します。
-
[Create Service User (サービスーザーを作成する)]をクリックします。[Create Service User (サービスーザーを作成する)]ページが表示されます。
-
サービスユーザーのユーザー名を入力します。対応するLinuxおよびWindowsのユーザー名が自動的に作成されます。[Create Service User (サービスユーザーを作成する)]をクリックして、サービスユーザーの作成を完了します。
-
[Create API Key (API キーを作成する)]をクリックします。[API Key Secret Rotated (ローテーションされたAPIキーシークレット)]画面が表示されます。
- この画面のAPIキーIDおよびAPIキーシークレットをコピーして保存します。
注意: これらの値はこの画面にしか表示されません。APIキーシークレットは復元できないので、必ずコピーして安全に保管してください。
プロジェクトのためのサービスを作成する
- チームのアドバンストサーバーアクセスのダッシュボードの[Projects (プロジェクト)]をクリックします。[Projects (プロジェクト)]ページが表示されます。
- サービスを実行するサーバー含むプロジェクトをクリックして、サービスユーザーに割り当てます。
- [Servers (サーバー)]タブを選択します。
- サービスユーザーを使用するサーバーを選択します。
- [Servers (サーバー)]タブを選択します。[Add Service (サービスを追加する)]をクリックします。
- [Service User (サービスユーザー)]ドロップダウンボックスから作成したサービスユーザーを選択します。管理されていないユーザーのUIDを[UID]フィールドに入力します。
注意: ユーザーのUIDを見つけるには、
ls /home
コマンドを使用してサーバー上のユーザーのリストを表示し、次にid <user>
コマンドを使用して特定のユーザーのUIDを特定します。
グループにサービスユーザーを追加する
- アドバンストサーバーアクセスのダッシュボードの[Groups (グループ)]をクリックします。
- サービスユーザーが展開されるサーバーを含むプロジェクトに属するグループを選択します。
- [Users (ユーザー)]タブを選択します。
- 作成したサービスユーザーのユーザー名を入力します。[Add User (ユーザーを追加する)]をクリックします。
サービスユーザー認証を有効にする
作成したサービスユーザーに関連付けられているサーバーにアドバンストサーバーアクセスのクライアントがインストールされていることを確認します。クライアントをインストールして認証を有効にすることで、サービスユーザーの資格情報を使用してタスクを実行できます。
注意: アドバンストサーバーアクセスのサーバーエージェントがサーバーにインストールされ稼働している必要があります。
- サービスユーザーのサーバーに接続する:
ssh <target-server>
- アドバンストサーバーアクセスのサービスユーザーに関連付けられた管理されていないユーザーに切り替える:
- サービスユーザー認証を有効にする:
sft config service_auth.enable true
- SSH 構成を更新する:
sft ssh-config >> ~/.ssh/config
注意: SSH 構成ファイルが別のディレクトリにある場合、忘れずにコマンドを変更してください。
su - <unmanaged-user>