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

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

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

必要条件

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

Deployment

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

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

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

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

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

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

Create a Connect serverを選択します。

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

  • 1Password CLI

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

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

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

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

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

  • $ 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 commandarrow-up-rightを使用して、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 referencearrow-up-rightを参照してください。

ヒント

Connect サーバー トークンを環境変数としてエクスポートします。Kubernetes Injectorarrow-up-rightKubernetes Operatorarrow-up-right、その他の統合などの別のツールを構成する場合、これを行うと便利です。ただし、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のドキュメントを参照してください。arrow-up-right詳細についてはこちらをご覧ください。

Test the Connect Server REST API

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

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

  • ヒント トークンを忘れた場合は、op connect token createコマンドarrow-up-rightを使用して別のトークンを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 chartarrow-up-rightを使うことです。

注意

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

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

②最新のHelmarrow-up-rightリリースをインストールします。

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

次のコマンドは、1Password Helm chart repositoryarrow-up-rightを 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-managerarrow-up-rightを使用して外部ドメインの TLS (トランスポート層セキュリティ) 証明書をプロビジョニングする、1Password の GitHub 上の sample Kubernetes deploymentarrow-up-rightを参照してください。

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

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

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

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

言語

arrow-up-right

Goarrow-up-right

Node.jsarrow-up-right

Pythonarrow-up-right

プラグイン

arrow-up-right

Terraform プロバイダーarrow-up-right

Kubernetes 統合arrow-up-right

Hashicorp Vault バックエンドarrow-up-right

Ansibleコレクションarrow-up-right

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

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

ヘルプを受ける

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

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

Last updated