1Password SDK
1Passwordマニュアル|Go言語でのシークレット管理を強化する1Password SDKの活用法。プログラムから安全にアクセス可能な統合方法を解説します。
Table of Contents
1Password SDK
1Password SDKを使うと、Go、JavaScript、またはPythonを使い、1PasswordにSaveされているシークレットにプログラムでアクセスできるシークレット管理統合を構築できます。1Password SDKを使うと、次のことが可能になります。
- シークレット参照を使って1Password のシークレットをコードに安全に読み込みます。
- パスワード、API キー、ワンタイムパスワードなど、1PasswordにSaveされているシークレットを読み取り、書き込み、更新できます。
- 1Passwordアカウント内のアイテムと保管庫を一覧表示できます。
サポートする言語
サポートされている機能
特徴 | サポートされている機能 | 注記 |
シークレット参照 | サポートされているフィールド タイプからシークレットを取得できます。 | |
アイテム管理 | サポートされているフィールドタイプに対して操Createを実行できます。 | |
保管庫管理 |
|
|
認証 |
インテグレーションの例
パートナーがSDKを使って1Passwordとの統合を構築した例をご覧ください。
1PasswordにSaveされているAPI キーやその他のシークレットを、平文で公開することなく、安全にPostmanに読み込みませました。
1Passwordからシークレットを環境に動的にインポートするようにしました。プロバイダーは、シークレットの名前のマップを返します。
始めましょう
始める前に、1Passwordアカウントにサインアップする必要があります。
ステップ 1:サービスアカウントをCreateる
1PasswordサービスアカウントをCreateり、SDKで使うシークレットがSaveされている保管庫へのアクセス権を付与します。
SDKがアイテムを更新できるようにするには、適切な保管庫での読み取り権限と書き込み権限の両方をサービスアカウントに付与するようにしてください。
ステップ 2:サービスアカウントトークンを準備する
SDKは、サービスアカウントトークンを使って1Passwordに認証します。環境からトークンをプロビジョニングすることをお勧めします。
次の例を使用して、 という名前の環境変数にトークンをプロビジョニングしますOP_SERVICE_ACCOUNT_TOKEN。ファイルから読み取るなど、他の方法でトークンをプロビジョニングすることもできます。
- Bash、sh、zsh
$ export OP_SERVICE_ACCOUNT_TOKEN=<your-service-account-token>
- fish
$ set -x OP_SERVICE_ACCOUNT_TOKEN <your-service-account-token>
- PowerShell
$ Env:OP_SERVICE_ACCOUNT_TOKEN = "<your-service-account-token>"
ステップ3:SDKをインストールする
あなたのプロジェクトにSDKをインストールします。
- Go
go get github.com/1password/onepassword-sdk-go
- JavaScript
$ npm install @1password/sdk
- Python
pip install onepassword-sdk
ステップ4:SDKをインポートする
SDKをプロジェクトにインポートします。
- Go
import "github.com/1password/onepassword-sdk-go"
- JavaScript
CommonJS
const sdk = require("@1password/sdk");
ES Modules
import sdk from "@1password/sdk";
- Python
from onepassword import *
ステップ5:SDKを初期化する
SDKを初期化すると、設定パラメーターを含むクライアントインスタンスがCreateされます。
- Go
このonepassword.NewClient関数は、サービス アカウントトークンをパラメーターとして受け取ります。SDKはこのトークンを認証に使用します。
次の例では、SDKは環境変数OP_SERVICE_ACCOUNT_TOKENのパラメーターを使って関数onepassword.NewClientからサービスアカウントトークンを取得します。
”My 1Password Integration”と”v1.0.0”の代わりに、アプリケーションの名前とバージョンを必ず指定してください。

- JavaScript
このCreateClient関数は、サービスアカウントトークンをパラメーターとして受け取ります。SDK はこのトークンを認証に使用します。
次の例では、SDK は関数OP_SERVICE_ACCOUNT_TOKENのパラメータを使用して環境変数からサービス アカウント トークンを取得しますCreateClient。
My 1Password Integrationおよびの代わりに、アプリケーションの名前とバージョンを必ず指定してくださいv1.0.0。
- Python
このclient.authenticate関数は、サービス アカウント トークンをパラメーターとして受け取ります。SDK はこのトークンを認証に使用します。
次の例では、SDK は関数OP_SERVICE_ACCOUNT_TOKENのパラメータを使用して環境変数からサービス アカウント トークンを取得しますclient.authenticate。
My 1Password Integrationおよびの代わりに、アプリケーションの名前とバージョンを必ず指定してくださいv1.0.0。
ステップ6:構築開始
これで、SDK を使って構築を始める準備が整いました。例については、 Go、JavaScript、またはPython SDK の GitHub リポジトリにアクセスするか、次の方法を学んでください。
ヘルプを受ける
1Password SDK に関するサポートを受けるには、Developer Slack ワークスペースに参加し、チャネルで質問してください#sdk。
新しい機能をリクエストしたり、バグを報告したりするには、適切な GitHub リポジトリに問題を報告してください。