1Password Connectサーバーを使い始める
1Passwordマニュアル|1Password Connectサーバーの設定と使用方法を詳しく解説し、Secrets Automationワークフローを効率化する手順をご紹介します。
Last updated
1Passwordマニュアル|1Password Connectサーバーの設定と使用方法を詳しく解説し、Secrets Automationワークフローを効率化する手順をご紹介します。
Last updated
1Password Connect サーバーは、会社のアプリやクラウド インフラストラクチャ内の 1Password アイテムや保管庫に安全にアクセスできるようにするの一種です。
1Password Secrets Automation ワークフローを Connect サーバーとしてCreateする前に、前提条件となるタスクを完了していることを確認してください。タスクは、展開方法によって異なります。
Docker
。
Connect サーバーがアクセスするための。Connect サーバーは、組み込みの Vault 、 Vault 、 Vault、またはデフォルトの Vault にアクセスできません。
に属していることを確認してください。
Docker のデプロイメント環境があることを確認してください。クラウド サービス プロバイダーまたはローカル マシンを使用できます。
Kubernetes
Connect サーバーがアクセスするための。 Connect サーバーは、組み込みの Vault 、 Vault 、 Vault、またはデフォルトの Vault にアクセスできません。
に属していることを確認してください。
と がインストールされた Kubernetes のデプロイ環境があることを確認してください。クラウド サービス プロバイダーまたはローカル マシンを使用できます。
1Password Connect サーバーを展開するには、次の手順に従います。
ファイル1password-credentials.json。1Password Connect Server を展開するために必要な資格情報が含まれています。
1Password.com
②サイドバーからDeveloper Toolsを選択します。
④Create a Connect serverを選択します。
⑤画面の指示に従って1password-credentials.jsonファイルと接続トークンをCreateします。
1Password CLI
②1password-credentials.json をCreateするディレクトリに切り替えます。
Connect サーバーをCreateすると、現在のディレクトリに 1password-credentials.json ファイルが自動的に生Createされます。このファイルには、Connect サーバーを展開するために必要な認証情報が含まれています。 1password-credentials.json ファイルが現在のディレクトリに既に存在する場合、1Password CLI はそれを上書きするかどうかを尋ねます。
$ 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 <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してください。
ヒント
$ export OP_CONNECT_TOKEN=<token>
Docker
Docker Composeファイルを使用して Connect サーバーをデプロイするには、次の 2 つの Docker イメージを起動する必要があります。
情報
資格情報ファイルが他のディレクトリにある場合は、正しい資格情報ファイルの場所を指すようにvolumesセクションを更新します。
④Docker Compose を使用して Docker コンテナを起動します。docker-compose.yamlファイルのあるディレクトリで次のコマンドを実行します。
$ docker compose up
Test the Connect Server REST API
$ 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
注意
③1Password Helm チャート リポジトリを追加します。
$ 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 なしでデプロイする
Kubernetes Operator と一緒にデプロイする
言語
プラグイン
1Password.com ダッシュボードまたは 1Password CLI からConnect Server をCreateできます。次の手順に従うと、以下がCreateされます。
アクセス トークン。アプリケーションまたはサービスでこれを使用して、できます。
①1Password.com のアカウントに
③「インフラストラクチャ シークレット管理」で、を選択します。
を使用して、Connect サーバーで Secrets Automation ワークフローを設定できます。
①マシンに の最新バージョンがインストールされていることを確認してください。
③Connect サーバーをCreateし、を使用して共有コンテナーへのアクセスを許可します。
④ を使用して、Connect サーバーのトークンをCreateします。
同じ Connect サーバーに対して複数のトークンを持つことができますが、各 Connect サーバーは独自の異なるトークンのセットを持ちます。 を参照してください。
Connect サーバー トークンを環境変数としてエクスポートします。Kubernetes 、、その他の統合などの別のツールを構成する場合、これを行うと便利です。ただし、Kubernetes で Connect サーバー トークンを使うには、Kubernetes Secret として使うことが推奨されることに注意してください。
はConnectサーバーのREST APIを提供します。
は、Connectサーバーで利用可能な情報を1Password.comと同期させます。
DockerやDocker Composeに詳しくない場合は、詳細についてはこちらをご覧ください。
①およびがあなたのマシン上であることを確認してください。
②Docker Compose ファイルをCreateして、1password-credentials.json ファイルをSaveしたディレクトリに 1Password Connect Server コンテナをデプロイします。サンプルを使うこともできます。
ヒント 各コンテナに環境属性を追加することで、docker-compose.yamlファイル内のを設定できます。これにより、1password-credentials.jsonファイルの場所、ログレベル、HTTPポートなどを指定できます。Docker詳細についてはこちらをご覧ください。
③Dockerが実行中であることを確認してください。Dockerターミナル アプリケーションでdocker infoコマンドを実行します。
ヒント -detachフラグまたは-dフラグを使用してコンテナをバックグラウンドで実行できます。詳細については
デフォルトでは、ローカル ホストの8080ポートを介して Connect REST API にアクセスできます。詳細については、
コマンド、1Password Connect サーバー API エンドポイントの 1 つ、およびCreateしたトークンを使用して、 にアクセスできることを確認できます。
①Connect サーバー トークンを環境変数としてエクスポートします。これは、でCreateしたトークンと同じです。または、curlリクエスト内のトークン文字列を$OP_API_TOKENに置き換えることもできます。
ヒント トークンを忘れた場合は、を使用して別のトークンをCreateできます。
Kubernetes を使用して Connect サーバーをデプロイできます。これを行う最も簡単な方法は、を使うことです。
開始する前に、Kubernetes クラスターをデプロイしておく必要があります。クラスターをまだ持っていない場合は、 を使用してローカルにクラスターをCreateするか、 プレイグラウンドを使用できます。
①マシンに がインストールされ、実行されていることを確認してください。
②最新のリリースをインストールします。
次のコマンドは、を Helm のローカル インスタンスに追加します。これにより、1Password の GitHub リポジトリから全てのチャートをダウンロードしてインストールできるようになります。
Helm チャートを使用せずに Connect サーバーを Kubernetes クラスターにデプロイできます。 を使用して外部ドメインの TLS (トランスポート層セキュリティ) 証明書をプロビジョニングする、1Password の GitHub 上の を参照してください。
1Password Connect Kubernetes Operator は、 を 1Password と統合します。また、1Password アイテムが更新されると、展開が自動的に再起動されます。 。
アプリケーションとサービスは、Connect サーバーへの REST API リクエストを通じて 1Password から情報を取得します。リクエストはアクセス トークンで認証されます。使うアプリケーションまたはサービスごとに
言語またはプラットフォームがリストされていない場合は、できます。
また、 Connect サーバーで、コマンド ラインでシークレットをプロビジョニングし、アイテム情報を取得することもできます。
トークンがアクセスできる保管庫を変更するには、。
ヘルプを受けたりフィードバックを共有したりするには、 でのディスカッションに参加してください。