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

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

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

必要条件

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

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

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

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

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

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

GitLab CI の例

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

.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