For the complete documentation index, see llms.txt. This page is also available as Markdown.

1Password Connectサーバーを使い始める

1Passwordマニュアル|1Password Connectサーバーの設定と使用方法を詳しく解説し、Secrets Automationワークフローを効率化する手順をご紹介します。

1Password Connect サーバーは、会社のアプリやクラウド インフラストラクチャ内の 1Password アイテムや保管庫に安全にアクセスできるようにするSecrets Automation ワークフローの一種です。

必要条件

1Password Secrets Automation ワークフローを Connect サーバーとしてCreateする前に、前提条件となるタスクを完了していることを確認してください。タスクは、展開方法によって異なります。

Deployment

1Password Connect サーバーを展開するには、次の手順に従います。

ステップ 1: Secrets AutomationワークフローCreate

1Password.com ダッシュボードまたは 1Password CLI からConnect Server Secrets Automation ワークフローをCreateできます。次の手順に従うと、以下がCreateされます。

①1Password.com のアカウントにサインインします。

②サイドバーからDeveloper Toolsを選択します。

③「インフラストラクチャ シークレット管理」で、「その他」を選択します。

④Create a Connect serverを選択します。

⑤画面の指示に従って1password-credentials.jsonファイルと接続トークンをCreateします。

  • 1Password CLI

  • 1Password CLI op connect commandを使用して、Connect サーバーで Secrets Automation ワークフローを設定できます。

  • ①マシンに 1Password CLI の最新バージョンがインストールされていることを確認してください。

  • ②1password-credentials.json をCreateするディレクトリに切り替えます。

  • Connect サーバーをCreateすると、現在のディレクトリに 1password-credentials.json ファイルが自動的に生Createされます。このファイルには、Connect サーバーを展開するために必要な認証情報が含まれています。 1password-credentials.json ファイルが現在のディレクトリに既に存在する場合、1Password CLI はそれを上書きするかどうかを尋ねます。

  • ③Connect サーバーをCreateし、op connect server create commandを使用して共有コンテナーへのアクセスを許可します。

  • $ op connect server create <serverName> --vaults <vaultName>

ヒント

コンテナーへのアクセスを許可せずに Connect サーバーをCreateするには、--vaults フラグを省略します。後で op connect vault Grant コマンドを使用して、Connect サーバーに共有コンテナーへのアクセスを許可できます。

Connect サーバーまたはボルトの名前に 1 つ以上のスペースが含まれている場合は、名前を引用符で囲みます (例: 「My Server Name」)。文字列にスペースが含まれていない場合 (例: myServerName)、文字列を引用符で囲む必要はありません。

op connect server create "My Server Name" --vault "My Vault Name"

④ op connect token create commandを使用して、Connect サーバーのトークンをCreateします。

$ op connect token create <tokenName> --server <serverName|serverID> --vault <vaultName|vaultID>

ヒント

Connect サーバーをその ID で検索する方が、Connect サーバーの名前を使うより効率的です。 「固有の識別子 (ID)」を参照してください。

op connect server list を実行すると、Connect サーバーの ID を見つけることができます。

Create功すると、1Password CLI は、Connect サーバー REST API での認証にアプリケーションまたはサービスで使用できるトークン文字列を返します。後で追加のトークンを発行できます。

⑤トークンを紛失しないように 1PasswordにSaveしてください。

同じ Connect サーバーに対して複数のトークンを持つことができますが、各 Connect サーバーは独自の異なるトークンのセットを持ちます。 op connect token command referenceを参照してください。

ヒント

Connect サーバー トークンを環境変数としてエクスポートします。Kubernetes Injector、Kubernetes Operator、その他の統合などの別のツールを構成する場合、これを行うと便利です。ただし、Kubernetes で Connect サーバー トークンを使うには、Kubernetes Secret として使うことが推奨されることに注意してください。

$ export OP_CONNECT_TOKEN=<token>

ステップ2: Deploy 1Password Connect Server

  • Docker

Docker Composeファイルを使用して Connect サーバーをデプロイするには、次の 2 つの Docker イメージを起動する必要があります。

情報

DockerやDocker Composeに詳しくない場合は、Docker Composeのドキュメントを参照してください。詳細についてはこちらをご覧ください。

  • ①DockerおよびDocker Composeがあなたのマシン上であることを確認してください。

  • ②Docker Compose ファイルをCreateして、1password-credentials.json ファイルをSaveしたディレクトリに 1Password Connect Server コンテナをデプロイします。サンプルdocker-compose.yamlファイルを使うこともできます。

  • 資格情報ファイルが他のディレクトリにある場合は、正しい資格情報ファイルの場所を指すようにvolumesセクションを更新します。

  • ヒント 各コンテナに環境属性を追加することで、docker-compose.yamlファイル内のConnectサーバーの環境変数を設定できます。これにより、1password-credentials.jsonファイルの場所、ログレベル、HTTPポートなどを指定できます。Docker環境属性のドキュメントを参照してください。詳細についてはこちらをご覧ください。

  • ③Dockerが実行中であることを確認してください。Dockerデーモンが実行中かどうか確認できます。ターミナル アプリケーションでdocker infoコマンドを実行します。

  • ④Docker Compose を使用して Docker コンテナを起動します。docker-compose.yamlファイルのあるディレクトリで次のコマンドを実行します。

  • $ docker compose up

  • ヒント -detachフラグまたは-dフラグを使用してコンテナをバックグラウンドで実行できます。詳細についてはdocker compose up参照を参照してください。

  • デフォルトでは、ローカル ホストの8080ポートを介して Connect REST API にアクセスできます。詳細については、1Password Connect サーバー API リファレンスを参照してください。

Test the Connect Server REST API

curl コマンド、1Password Connect サーバー API エンドポイントの 1 つ、およびCreateしたトークンを使用して、ConnectサーバーのREST API にアクセスできることを確認できます。

  • ①Connect サーバー トークンを環境変数としてエクスポートします。これは、手順 1でCreateしたトークンと同じです。または、curlリクエスト内のトークン文字列を$OP_API_TOKENに置き換えることもできます。

  • ヒント トークンを忘れた場合は、op connect token createコマンドを使用して別のトークンをCreateできます。

  • $ export OP_API_TOKEN="<token>"

  • ②Connectサーバーに接続されているデータ保管庫を一覧表示するには、次の例のcurlコマンドを使用します。

  • $ curl \

  • -H "Accept: application/json" \

  • -H "Authorization: Bearer $OP_API_TOKEN" \

  • http://localhost:8080/v1/vaults

Docker コンテナを停止するには、 docker compose downを実行します。

  • Kubernetes

Kubernetes を使用して Connect サーバーをデプロイできます。これを行う最も簡単な方法は、1Password Connect and Operator Helm chartを使うことです。

注意

開始する前に、Kubernetes クラスターをデプロイしておく必要があります。クラスターをまだ持っていない場合は、 minikube を使用してローカルにクラスターをCreateするか、Play with Kubernetes プレイグラウンドを使用できます。

①マシンに Docker がインストールされ、実行されていることを確認してください。

②最新のHelmリリースをインストールします。

③1Password Helm チャート リポジトリを追加します。

次のコマンドは、1Password Helm chart repositoryを Helm のローカル インスタンスに追加します。これにより、1Password の GitHub リポジトリから全てのチャートをダウンロードしてインストールできるようになります。

$ helm repo add 1password https://1password.github.io/connect-helm-charts/

④Helm を使用して 1Password Connect サーバーをインストールします。

次のコマンドは、1password-credentials.json ファイルを使用して 1Password Connect サーバーをデプロイします。

ヒント

1password-credentials.json ファイルは、Connect サーバーをCreateしたディレクトリにあります。

$ helm install connect 1password/connect --set-file connect.credentials=1password-credentials.json

他のデプロイ方法

Connect サーバーを Kubernetes クラスターにデプロイする方法をいくつか紹介します。

Helm なしでデプロイする

Helm チャートを使用せずに Connect サーバーを Kubernetes クラスターにデプロイできます。 cert-managerを使用して外部ドメインの TLS (トランスポート層セキュリティ) 証明書をプロビジョニングする、1Password の GitHub 上の sample Kubernetes deploymentを参照してください。

Kubernetes Operator と一緒にデプロイする

1Password Connect Kubernetes Operator は、 Kubernetes Secrets を 1Password と統合します。また、1Password アイテムが更新されると、展開が自動的に再起動されます。 Learn more about the Kubernetes Operator。

ステップ3: 1Password から情報を取得するためのアプリケーションとサービスをセットアップする

アプリケーションとサービスは、Connect サーバーへの REST API リクエストを通じて 1Password から情報を取得します。リクエストはアクセス トークンで認証されます。使うアプリケーションまたはサービスごとに新しいトークンをCreateします。

言語

​

Go

Node.js

Python

プラグイン

​

Terraform プロバイダー

Kubernetes 統合

Hashicorp Vault バックエンド

Ansibleコレクション

言語またはプラットフォームがリストされていない場合は、1Password Connect Server REST API を使用して独自のクライアントを構築できます。

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

ヘルプを受ける

トークンがアクセスできる保管庫を変更するには、新しいトークンを発行します。

ヘルプを受けたりフィードバックを共有したりするには、 1Password サポート コミュニティでのディスカッションに参加してください。

Last updated