Connectサーバーで1Password CLIを使用する

1Passwordマニュアル|コマンドラインでシークレットを管理し、Connectサーバーと連携してアイテムを取得する方法を詳しく解説します。

1Password CLI をConnect サーバーarrow-up-rightと共に使用して、コマンド ラインでシークレットをプロビジョニングし、アイテムを取得できます。

必要条件

Connect サーバーで 1Password CLI を使う前に、次の操Createを行う必要があります。

必要な手順を完了すると、Connect サーバーで次の 1Password CLI コマンドを使用できるようになります。

詳細については、コマンドのドキュメントを参照してください。

継続的インテグレーション(CI)環境

継続的インテグレーション (CI) パイプラインで Connect サーバーと共に 1Password CLI を使うこともできます。1Password CLI を使うと、コード内でプレーンテキスト シークレットの代わりにシークレット参照arrow-up-rightを使用できます。CI 環境を構成して、環境ごとに異なるシークレット セットを渡すこともできます。

シークレット参照は、他の構成と一緒に定義できるため、インフラストラクチャ アズ コード ツールおよび CI 構成内で適切に機能します。

GitLab CI の例

次のコードブロックは、MySQL サービスを実装する GitLab CI 構成ファイルの例を示しています。GitLabs.gitlab-ci.ymlドキュメントを参照してください。arrow-up-right

.gitlab-ci.yml

services:

- mysql

variables:

# Configure mysql service (https://hub.docker.com/_/mysql/)

MYSQL_DATABASE: op://prod/mysql/database

MYSQL_USERNAME: op://prod/mysql/username

MYSQL_PASSWORD: op://prod/mysql/password

connect:

image: mysql

script:

- echo "SELECT 'OK';" | op run -- mysql --user="$MYSQL_USERNAME" --password="$MYSQL_PASSWORD" --host=mysql "$MYSQL_DATABASE"

CI パイプラインで 1Password CLI を認証するには、 CI 構成ファイルにOP_CONNECT_HOSTおよびOP_CONNECT_TOKEN環境変数を追加します。これらの環境変数が存在すると、1Password CLI は Connect サーバーを使用してシークレットを取得するようになります。

次のコード ブロックは、GitLab CI の例を拡張して Connect 環境変数を含めます。

.gitlab-ci.yml

services:

- mysql

variables:

# Configure mysql service (https://hub.docker.com/_/mysql/)

MYSQL_DATABASE: op://prod/mysql/database

MYSQL_USERNAME: op://prod/mysql/username

MYSQL_PASSWORD: op://prod/mysql/password

# Configure 1Password CLI to use Connect

OP_CONNECT_HOST: <Connect host URL>:8080

OP_CONNECT_TOKEN: token

connect:

image: mysql

script:

- echo "SELECT 'OK';" | mysql --user="$MYSQL_USERNAME" --password="$MYSQL_PASSWORD" --host=mysql "$MYSQL_DATABASE"

さらに詳しく

コード内にプレーンテキストのシークレットを配置することを避けるために、シークレット参照をCreateして使う方法を学習します。

環境からアプリケーションにシークレットを取得する方法を紹介します。

コード内にプレーンテキストのシークレットを配置せずに、シークレットを構成ファイルに自動的にロードする方法を紹介します。

Last updated