1Password SDKのコンセプト

1Passwordマニュアル|このページでは、1Password SDKの認証方法について詳しく解説し、サービスアカウントを用いた安全なアクセス手順を紹介します。

1Password SDKのコンセプト

1Password SDK は現在、 1Password への自動化されたプロセスを認証するように設計された1Password サービス アカウントによる認証をサポートしています。

サービス アカウントがアクセスできる保管庫と各保管庫での権限を選択できるため、プロジェクトで最小権限の原則に従うことができます。

ウェブサイトの自動入力

ログインとパスワード項目の構造Item体にはオプションの Web サイト リストが含まれているため、1Password が資格情報を自動入力する場所を管理できます。自動入力の動作オプションには次のものがあります。

自動入力の動作

説明

AnywhereOnWebsite

デフォルト。1Password は、サブドメインを含む、Web サイトの一部である全てのページで資格情報を自動入力します。

ExactDomain

1Password は、ドメイン (ホスト名とポート) が完全に一致する場合にのみ資格情報を自動入力します。

Never

1Password はこの Web サイトで資格情報を自動入力することはありません。

レート制限

1Password サービス アカウントには、時間単位および日単位のレート制限があります。これらは、SDK でサービス アカウントを使う場合にも適用されます。サービス アカウントのレート制限の詳細については、こちらをご覧ください。

SDKクライアント

SDK を初期化するときに、1Password SDK クライアント インスタンスをCreateし、設定パラメータを SDK コアに渡します。同じまたは異なるサービス アカウント トークンを使用して、複数の SDK クライアントを順番にまたは並行してインスタンス化できます。

秘密の参照

1Password SDK を使うと、シークレット参照 URI を使用して、コード内のプレーンテキストのシークレットが公開されるリスクを回避できます。シークレット参照は 1Password で行った変更を反映するため、SDK を使用してシークレットを読み込むと最新の値が得られます。

シークレット参照では次の構文を使用します。

op://<vault>/<item>/[section/]field[?attribute=<attribute-value>]

State management

1Password SDK クライアントは、1Password サーバーとの認証済みセッションを設定し、期限が切れるたびに自動的に更新します。そのため、認証キーとセッション キーの管理について心配する必要はありません。

サポートされているフィールドタイプ

1Password SDK は現在、次のフィールド タイプに対する操Createをサポートしています。サポートされているフィールド タイプのみを取得および変更できます。

フィールドタイプ

説明

Concealed

パスワード、API キー、クレジットカードの PIN など、1Password がデフォルトで隠す秘密の値。

Text

テキスト文字列。

Totp

ワンタイムパスワードフィールド。

Url

自動入力動作に使用されない Web アドレス。

private key

SSH鍵の秘密キー。SSH鍵項目に固有です。シークレット参照でサポートされます。項目管理操Createではまだサポートされていません。

Phone

電話番号。

CreditCardType

クレジットカードの種類。例えば、Visa、Mastercard、American Express など。

アイテムにサポートされていないフィールド タイプでSaveされた情報が含まれている場合、そのアイテムを更新または削除することはできません。

詳細については、サポートされている機能を参照してください。

サポートされているクエリパラメータ

1Password SDK は、otp(またはtotp)属性クエリ パラメータを使用して、Resolve関数でワンタイム パスワードを取得することをサポートしています。

?attribute=otpワンタイム パスワードがSaveされているフィールドを指すシークレット参照にクエリ パラメータを追加します。例:

op://dev/gitlab/one-time password?attribute=otp

一意の識別子

一意の識別子 (ID) は、保管庫、アイテム、セクション、フィールドなどの 1Password オブジェクトを識別するために使用できる 26 個の数字と文字の文字列です。ID は、アイテムを別の保管庫に移動した場合にのみ変更されます。

1Password SDK では、アイテム管理操Createを実行するときに 1Password オブジェクトを参照するために、名前ではなく ID を使う必要があります。

保管庫とアイテムをリストすることで ID を取得できます。