DXable Manual
DXable製品総合情報サイト製品ニュースお問い合わせ
1Password
1Password
  • 1Passwordマニュアル
  • Delinea Secret Serverから1Passwordにデータを移動する
  • 1Password.comのアカウントにデータを移動する
  • 保管庫を作成してメンバーと共有する
  • Emergency Kitについて知っておくべきこと
  • 1Passwordのアイテムを誰とでも安全に共有する
  • ブラウザー内で1Passwordにパスワードを保存して自動入力に使う
  • ブラウザーに組み込まれているパスワードマネージャーをオフにする
  • 2要素認証のあるサイトで1Passwordを認証に使うには
  • Watchtowerを使って変更が必要なアカウント情報を見つけ出す
  • 1Passwordアプリを入手する
  • 1Password for Linuxアプリを入手する
  • 1Password for Linuxの使い方
  • 1Password 8にアップグレード
  • アプリとブラウザー拡張機能に別の1Passwordアカウントを追加する方法
  • Wi-Fi用QRコード
  • iPhone または iPad のSafari向け1Password の使い方
  • クレジットカードと住所を保存して入力する
  • 1Passwordを使用してログイン情報を保存し、 Androidデバイス上のアプリやウェブサイトにサインインする
  • 1Passwordを使用してログイン情報を保存し、iPhoneやiPadのアプリやウェブサイトにサインインする
  • iPhoneまたはiPad ProでFace IDを使用して1Passwordのロックを解除する
  • システム認証を使用してLinuxコンピュータで1Passwordのロックを解除する
  • Touch IDを使用してiPhoneまたはiPadで1Passwordのロックを解除する
  • Touch IDを使用してMacで1Passwordのロックを解除する
  • Windows Helloを使用してWindows PCで1Passwordのロックを解除する
  • Apple Watchを使ってMacで1Passwordのロックを解除する
  • デバイスのパスコード、 PIN、またはパターンを使用して1Passwordのロックを解除します
  • Androidデバイスで指紋、顔、虹彩を使って1Passwordのロックを解除する
  • 1Password CLI
  • CLIの利用例
  • 1Password CLI入門
  • 1Password CLIでシークレット参照を使う
  • シークレットを環境にロードする
  • シークレットをスクリプトにロードする
  • シークレットを設定ファイルにロードする
  • アイテムを作成する
  • アイテムを編集する
  • SSH鍵を管理する
  • チームメンバーの追加と削除
  • Vault権限の付与と取り消し
  • 1Password CLIを使いアカウントを回復する(β版)
  • 1Password CLIリファレンス
  • 1Password CLI best practices
  • accountコマンド
  • connectコマンド
  • documentコマンド
  • イベント API
  • groupコマンド
  • itemコマンド
  • プラグイン
  • サービスアカウント
  • user
  • 保管庫(Vault)を操作する
  • completion
  • inject
  • read
  • run
  • signin
  • signoutコマンド
  • updateコマンド
  • whoamiコマンド
  • 1Password CLI環境変数
  • アイテムフィールド
  • アイテムJSONテンプレート
  • シークレット参照の構文
  • テンプレート構文
  • Vaultの権限について
  • 1Passwordアプリ統合セキュリティー
  • 1Password CLIの信頼性を確認する
  • サーバーに1Password CLIをインストールする
  • 1Password CLIが設定ディレクトリーを検出する方法
  • 1Password CLIを最新に保つ
  • 1Password CLI 2にアップグレードする
  • 1Passwordデスクトップアプリ統合でCLIにサインイン
  • 1Passwordアカウントに手動でサインインする
  • SSOで1Password CLIのロックを解除する
  • 複数のアカウントを使用する
  • 1Password CLIをアンインストールする
  • サンプルスクリプト
  • 1Password CLI リリースノート
  • 1Password SDK
  • 1Password SDKを使用してアイテムを管理する
  • 1Password SDKを使用してシークレットをロードする
  • 1Password SDKを使用してVaultとアイテムを一覧表示する
  • サポートされている機能
  • 1Password SDKのコンセプト
  • 1Password Go SDK
  • 1Password JavaScript SDK
  • 1Password Python SDK
  • SSHとGit用の1Password
  • 1Password for SSHを使う
  • SSH鍵を管理する
  • 公開鍵の自動入力
  • SSH で Git コミットに署名する
  • 1Password SSHエージェント
  • 1Password SSHエージェントの高度な応用
  • SSH エージェント設定ファイル
  • 1PasswordによるSSHエージェントフォワーディング
  • SSHクライアントの互換性
  • 1Password SSH Agentのセキュリティーについて
  • WSLで1Password SSHエージェントを使う
  • 1Password Shellプラグインを使用して、あらゆるCLIを安全に認証します
  • 1PasswordでAkamai CLIを安全に認証する
  • 1Passwordを使用してArgo CD CLIを安全に認証する
  • 1Passwordを使用してAxiom CLIを安全に認証する
  • 1Passwordを使用してAWS CLIを安全に認証する
  • 1Password を使用して AWS CDK ツールキットを安全に認証する
  • 1Passwordを使用してBinance CLIを安全に認証する
  • 1Passwordを使用してCachix CLIを安全に認証する
  • 1Passwordを使用してCargo CLIを安全に認証する
  • 1Passwordを使用してCircleCI CLIを安全に認証する
  • 1Passwordを使用してCivo CLIを安全に認証する
  • 1Passwordを使用してCloudflare Workers CLIを安全に認証する
  • 1Passwordを使用してCrowdin CLIを安全に認証する
  • 1Passwordを使用してDatabricks CLIを安全に認証する
  • 1Passwordを使用してDigitalOcean CLIを安全に認証する
  • 1Passwordを使用してDogshellを安全に認証する
  • 1Passwordを使用してFastly CLIを安全に認証する
  • 1Passwordを使用してFlyctlを安全に認証する
  • 1Passwordを使用してFOSSA CLIを安全に認証する
  • 1Passwordを使用してGitea CLIを安全に認証する
  • 1PasswordでGitHub CLIを安全に認証する
  • 1PasswordでGitLab CLIを安全に認証する
  • 1PasswordでHashiCorp Vault CLIを安全に認証する
  • 1PasswordでHetzner Cloud CLIを安全に認証する
  • 1PasswordでHeroku CLIを安全に認証する
  • 1PasswordでHomebrewを安全に認証する
  • 1PasswordでHuggingFace CLIを安全に認証する
  • 1PasswordでInfluxDBを安全に認証する
  • 1PasswordでKaggle CLIを安全に認証する
  • 1PasswordでLacework CLIを安全に認証する
  • 1PasswordでLaravel Forge CLIを安全に認証する
  • 1PasswordでLaravel Vapor CLIを安全に認証する
  • 1PasswordでLinode CLIを安全に認証する
  • 1PasswordでLocalStackを安全に認証する
  • 1PasswordでMongoDB Atlasを安全に認証する
  • 1PasswordでMySQL CLIを安全に認証する
  • 1Passwordでngrokを安全に認証する
  • 1PasswordでOh Dear CLIを安全に認証する
  • 1PasswordでOkta CLIを安全に認証する
  • 1PasswordでOpenAI CLIを安全に認証する
  • 1PasswordでOpenAI Evalsを安全に認証する
  • 1PasswordでPipedream CLIを安全に認証する
  • 1PasswordでPostgreSQL CLIを安全に認証する
  • 1PasswordでPulumi CLIを安全に認証する
  • 1PasswordでReadMe CLIを安全に認証する
  • 1PasswordでSentry CLIを安全に認証する
  • 1PasswordでSnowflake CLIを安全に認証する
  • 1PasswordでSnyk CLIを安全に認証する
  • 1PasswordでSourcegraph CLIを安全に認証する
  • 1PasswordでStripe CLIを安全に認証する
  • 1PasswordでTerraformを安全に認証する(ベータ版)
  • 1PasswordでTodoist CLIを安全に認証する
  • 1PasswordでTreasure Data CLIを安全に認証する
  • 1PasswordでTugboat CLIを安全に認証する
  • 1PasswordでTwilio CLIを安全に認証する
  • 1PasswordでUpstash CLIを安全に認証する
  • 1PasswordでVercel CLIを安全に認証する
  • 1PasswordでVertica CLIを安全に認証する
  • 1PasswordでVultr CLIを安全に認証する
  • 1PasswordでYugabyteDB SQL Shellを安全に認証する
  • 1PasswordでZapier CLIを安全に認証する
  • 1PasswordでZendesk CLIを安全に認証する
  • シェルプラグインをテストする
  • シェルプラグインを使って複数の環境を切り替える
  • シェルプラグインを使用して複数のアカウントで認証する
  • Nixを使ってシェルプラグインを設定する
  • シェルプラグインをアンインストールする
  • 独自のシェルプラグインを構築する(ベータ版)
  • 1Password Shell プラグインのトラブルシューティング
  • 1Password Shellプラグインのセキュリティについて
  • 1Password Secrets Automation
  • 1Password Service Accounts
  • 1Password Service Accountsを初めて使う
  • サービスアカウントを管理する
  • 1Password CLIでサービスアカウントを使う
  • 1Password サービス アカウントのセキュリティ
  • サービスアカウントのレート制限
  • 1Password接続
  • 1Password Connectサーバーを使い始める
  • Connectサーバーの管理
  • Connectサーバーを構成する
  • 1Password Connect サーバーの価格
  • 概念を結びつける
  • 1Password Connect Serverのセキュリティについて
  • 1Password Connect Server APIリファレンス
  • Connectサーバーで1Password CLIを使用する
  • 1Password Connect Server をデプロイする
  • AnsibleでConnectを使う
  • 1Passwordの統合
  • 1Password CI/CD 統合
  • 1Password から CircleCI にシークレットをロードする
  • 1Password のシークレットを GitHub Actions にロードする
  • 1PasswordからJenkinsに秘密情報を読み込む
  • Kubernetes 統合
  • Kubernetes Injector
  • Kubernetes Operator
  • 1Password Helmチャート
  • Helmチャート設定
  • 1Password Terraformプロバイダーを使用する
  • VSコード用の1Password
  • 1Password イベントレポート API
  • 1Password イベント API 汎用スクリプト
  • 1Password イベント API リファレンス
  • 1Password イベント 監査イベントの報告
  • 1Password イベント アイテムの使用アクションの報告
  • 1Password パートナーシップ API リファレンス
  • 1Password Developer Watchtower
  • ウェブサイトに「Save in 1Password」ボタンを追加する
  • 1Passwordで最適に機能するウェブサイトをデザインする
  • 1Passwordサポートへようこそ
  • 1Passwordを使い始める
  • 1Password for Macについて知る
  • iOS用1Passwordについて知る
  • 1Password for Windowsについて知る
  • Android用1Passwordについて知る
  • Linuxで1Passwordを使用する
  • ブラウザーで1Passwordを知ろう
  • 既存の1Passwordデータをスタンドアロンの保管庫から1Passwordアカウントに移行する
  • 1Passwordのセキュリティモデルについて
  • Secret KeyまたはSetup Codeを見つける
  • 1Passwordがブラウザーで動作しない場合
  • 家族やチームメンバーのアカウントを回復する
  • 1Passwordアカウントのパスワードを忘れた場合、またはアプリのロックを解除できない場合の対策
  • 1Passwordアカウントの2要素認証をオンにする
  • 柔軟さと制御機能で、企業の最も貴重な情報を保護
  • チームメンバーの追加と削除
  • チームの回復計画を実施する
  • チーム内で保管庫を作成、共有、管理する
  • 従業員用保管庫について
  • チームを離れる準備をしていて、リンクされたファミリーアカウントを持っている場合
  • 1Password Businessをご利用の場合、 1Password Familiesメンバーシップを無料でご利用いただけます
  • 1Password Extended Access Managementについて
  • レポートとActivity Logの無料トライアルを開始する
  • SCIMを使用して1Password Businessのプロビジョニングを自動化する
  • Google Workspace を1Password SCIM Bridgeに接続する
  • JumpCloudを1Password SCIM Bridgeに接続する
  • Microsoft Entra IDを1Password SCIM Bridgeに接続する
  • Oktaを1Password SCIM Bridgeに接続する
  • OneLoginを1Password SCIM Bridgeに接続する
  • Ripplingを1Password SCIM Bridgeに接続する
  • 1Password SCIM Bridgeを導入し、 Ripplingでプロビジョニングを自動化する
  • Azure Container Appsに1Password SCIM Bridgeをデプロイする
  • Azure Kubernetes Service に1Password SCIM Bridge をデプロイする
  • DigitalOceanに1Password SCIM Bridgeを導入する
  • Google Cloud Platformに1Password SCIM Bridge をデプロイする
  • 1Password SCIM Bridgeで問題が発生した場合
  • 1Password SCIM Bridgeの更新
  • SCIM を使用してプロビジョニングするときに1Password Businessで許可されたドメインを更新する
  • 1Password Businessアカウントを保護するためのベストプラクティス
  • 1Password Unlock with SSO で使用するためのベストプラクティス
  • モバイル デバイス管理について
  • 1Password for MacとWindowsを導入する
  • チームメンバーのブラウザーに1Passwordを導入する
  • 複数のコンピューターのブラウザーに組み込まれているパスワードマネージャーをオフにする
  • 1PasswordEvents Reporting
  • 1Password Events Reportingのセキュリティーについて
  • 1PasswordEvents Reportingを使い始める
  • 1PasswordEvents ReportingとElasticを使い始める
  • 1Password Events ReportingとSplunk Cloud Classic Experienceを使う
  • 1PasswordEvents ReportingとSplunk EnterpriseまたはSplunk Cloud Victoria Experienceを使い始めましょう
  • チームでDuoを使用する
  • 1Password Slackアプリを使用する
  • チーム内のアイテムの以前のバージョンを表示および復元する
  • チームメンバーのメールアドレスを変更する
  • チームメンバーの退会
  • チーム内のゲストと共有する
  • 1Password Businessでカスタムグループを使用する
  • チーム内の組み込みグループを使用する
  • 会社のドメイン侵害レポートを作成する
  • 1Password Businessでレポートを作成する
  • 1Password Businessでサインイン試行を監視する
  • チームにインサイト通知を送信する
  • Insightsを使用して、会社のセキュリティリスクを特定して修正します
  • 1Password BusinessのActivity Logを使用する
  • 1Password Businessでファイアウォールルールを作成する
  • 1Password Businessで1Passwordアカウントのパスワード要件を強制する
  • 1Password BusinessでEmergency Kitsを管理する
  • 1Password Businessでアイテムの共有設定を管理する
  • 1Password Businessでチームポリシーを管理する
  • 1Password Businessで2要素認証を管理する
  • 1Password Businessでは最新の1Passwordアプリが必要です
  • Auth0で1Passwordのロック解除を設定する
  • Googleで1Passwordのロック解除を設定する
  • JumpCloudで1Passwordのロック解除を設定する
  • Microsoft Entra IDで1Passwordのロック解除を設定する
  • Oktaで1Passwordのロック解除を設定する
  • OpenID Connectを使用してSSOで1Passwordのロック解除を設定する
  • 1Password Unlock with SSOを使い始める
  • SSOで1Passwordのロックを解除できない場合
  • 1Password Unlock with SSOで設定する
  • 新しいデバイスで SSO を使用して1Passwordのロックを解除する
  • SSOで1Passwordにサインインする
  • Conditional AccessポリシーのMicrosoft Entra IDによるロック解除の更新
  • チームメンバー: 1Passwordを使い始める
  • 管理者: 1Passwordを使い始める
  • 1Passwordとその機能に関するセットアップ ガイド、チュートリアル、よくある質問への回答。
  • 他のアプリケーションから1Passwordにデータを移動する
  • Chromeから1Passwordにパスワードを移動する
  • Firefoxから1Passwordにパスワードを移動する
  • パスワードをEdgeから1Passwordに移動する
  • Braveから1Passwordにパスワードを移動する
  • iCloud パスワードをSafariから1Passwordに移動する
  • Bitwardenから1Passwordにデータを移動する
  • Dashlaneから1Passwordにデータを移動する
  • KeePassから1Passwordにデータを移動する
  • KeePassXCから1Passwordにデータを移動する
  • デスクトップアプリでLastPassから1Passwordにデータを移動する
  • RoboFormから1Passwordにデータを移行する
Powered by GitBook
On this page
  • 独自のシェルプラグインを構築する(ベータ版)
  • 必要条件
  • コンセプト
  • ステップ1: プラグインテンプレートを利用する
  • ステップ2:プラグインの定義を編集する
  • ステップ3:資格情報の定義を編集する
  • ステップ4:実行可能ファイルの定義を編集する
  • ステップ5:プラグインをローカルでビルド&テストする
  • PRを送信する
  • さらに詳しく知るには

独自のシェルプラグインを構築する(ベータ版)

1Passwordマニュアル|シェルプラグインの構築方法を説明し、お気に入りのコマンドラインツールを統合して効率的な作業環境を実現します。

PreviousシェルプラグインをアンインストールするNext1Password Shell プラグインのトラブルシューティング

独自のシェルプラグインを構築する(ベータ版)

にお気に入りのコマンドラインツールが表示されない場合は、独自のプラグインをCreateできます。

1Password CLIを使うと、シェルプラグインをローカルで構築およびテストできるため、1PasswordにSaveした資格情報を使って、お気に入りのCLIを認証するためのサポートを追加できます。

プラグインを他のユーザーが利用できるようにしたい場合は、できます。

必要条件

  • 1Passwordに。

  • または用の1Passwordをインストールしてサインインしていること。

  • をインストールし、オンにしていること。

  • をインストールしていること。

  • をインストールしていること。

  • をインストールしていること。

コンセプト

1Password Shellプラグインでは、次の内容を記述する必要があります。

  • プラットフォームが提供する資格情報

  • プラットフォームが提供するCLIまたは実行ファイル

  • それぞれのCLIが認証するために認証情報をプロビジョニングする方法

  • それぞれのCLIのどのコマンドに認証が必要かという情報

  • ローカルファイルシステムにSaveされた認証情報を1Passwordにインポートする方法

ステップ1: プラグインテンプレートを利用する

これらを開始するには、次のMakefileコマンドを使用します。

$ make new-plugin

次の情報を入力するよう求められます。

  • プラグイン名:プラットフォームの小文字の識別子(例:aws、github、digitalocean、azure)。これはGoパッケージの名前にも使われます。

  • プラットフォーム表示名:プラットフォームの表示名(例:AWS、GitHub、DigitalOcean、Azure)。

  • 資格情報名:プラットフォームが提供する資格情報(例:Personal Access Token、API Key、Auth Token)。

  • 実行可能ファイル名:呼び出しに使うコマンド名です(例:aws、gh、doctl、az)。

フォームに入力し終わると、pluginsプラグイン、資格情報、実行可能ファイルの個別のファイルを含むGoパッケージがディレクトリー内にCreateされます。

時間を節約するために、生Createされたファイルには、Makefileプロンプトからベストエフォート方式で取得した情報がスタブ化されます。コードにはTODOコメントが含まれており、変更すべき点や正確性を検証すべき点を指示しています。

ステップ2:プラグインの定義を編集する

ファイルplugin.goには、プラグインを構成する資格情報の種類や実行可能ファイルなど、プラグインとそれが表すプラットフォームに関する基本情報が含まれています。

プラグインの例

  • AWS

ステップ3:資格情報の定義を編集する

資格情報定義ファイルには、資格情報のスキーマ、資格情報を実行可能ファイルにプロビジョニングする方法、資格情報を1Passwordにインポートする方法が記述されています。

資格情報の例

資格情報とスキーマ

資格情報定義の最初のセクションでは、資格情報に関する情報を追加できます。

  • プラットフォームが呼び出す資格情報の名前

  • プラットフォームによって提供され、資格情報を説明するドキュメントのURL(オプション)

  • 資格情報をCreateおよび取り消すことができるプラットフォーム上の管理URL。これは通常、プラットフォームのダッシュボード、コンソール、または認証設定へのURLです(オプション)

次のセクションでは、認証情報のスキーマを定義します。これはフィールドに分割されます。多くの認証情報は1つのシークレットフィールドのみで構成されていますが、フィールドがシークレットでなくても、認​​証に関連する1Passwordアイテムに詳細を追加するためにフィールドを追加できます。

追加フィールドの例としては、ホスト、ユーザー名、アカウントID、認証に必要なその他の全てのものがあり、資格情報タイプの1Passwordアイテムに含めることが理にかなっています。ここで宣言する全てのフィールドは、エンド ユーザーの 1Passwordアイテムにも表示されます。

フィールドごとに指定できる内容は次のとおりです。

  • (タイトルを冠した)フィールド名(必須)

  • フィールドの簡単な説明(必須)。markdownをサポートします。

  • フィールドがオプションかどうか。デフォルトはfalseです。

  • フィールドがシークレットかどうか、1Password GUIで非表示にするかどうか。デフォルトではシークレットではありません。 注: 資格情報スキーマは、少なくとも1つのシークレットフィールドを含む必要があります。

  • 実際の資格情報の値の構成。長さ、文字セット、固定プレフィックスが含まれているかどうか。

プロビジョナー

資格情報の定義では、資格情報を認証に使えるように、資格情報が実行可能ファイルに通常どのようにプロビジョニングされるかも指定します。

プロビジョナーは、本質的には、実行ファイルが1Password CLIによって実行される前と、クリーンアップが必要な場合に、実行ファイルが終了した後に実行されるフックです。これらのフックでは、プロビジョナーは、環境変数の設定、ファイルのCreate、コマンドライン引数の追加、一時的な資格情報の生Createなど、実行ファイルの認証に必要な全てのセットアップを行うことができます。実行ファイルが終了した後、ユーザーのファイルシステムに資格情報の痕跡は残らないはずです。

SDKにはすぐに利用できる一般的なプロビジョナーがいくつか用意されているため、ほとんどの場合、プロビジョニングの内部を気にする必要はありません。

  • 環境変数

現在、プロビジョニング方法として環境変数を使うことを私たちはお勧めします。

環境変数は、シークレットをプロビジョニングする最も一般的な方法です。環境変数はメモリー内にのみ存在し、ほぼ全てのCLIで環境変数を使って認証できます。

SDKによって提供される環境変数プロビジョナーを使う方法は次のとおりです。

provision.EnvVars(map[string]sdk.FieldName{ "AWS_ACCESS_KEY_ID": fieldname.AccessKeyID, "AWS_SECRET_ACCESS_KEY": fieldname.SecretAccessKey, })

1Passwordのフィールド名と、それを配置する環境変数名を指定します。

基盤となるCLIが読み取る環境変数を把握するためのヒントをいくつか紹介します。

  • プラットフォームのCLIドキュメントのウェブサイトで、スタートガイド、認証ガイド、または CLIリファレンスドキュメントを検索してください。

  • CLIのヘルプテキストまたはマニュアルページを参照してください。

  • CLIやそれが使う基盤となるSDKがオープンソースである場合は、ソースコードをスキャンして、認証用の環境変数を受け入れるかどうかを確認してください。

  • ファイル

一部のCLIは、ディスク上のファイルからの資格情報の読み取りのみをサポートしています。その場合は、SDKが提供するファイルプロビジョナーを利用できます。ファイルプロビジョナーは、一時ディレクトリーにファイルをCreateし、その後削除します。

ファイルプロビジョナーを使って一時的なJSONファイルをプロビジョニングし、生Createされたパスを実行可能ファイルに渡す方法の例をいくつか示します。

ファイルプロビジョナーをCreateし、出力パスを --config-file として渡す。

provision.TempFile(configFile, provision.Filename("config.json"), provision.AddArgs("--config-file", "{{ .Path }}"), )

ファイルプロビジョナーをCreateし、出力パスをCONFIG_FILE_PATHに設定する。

provision.TempFile(configFile, provision.Filename("config.json"), provision.SetPathAsEnvVar("CONFIG_FILE_PATH"), )

ファイルプロビジョナーをCreateし、出力パスをJavaプロパティーとして渡す。

provision.TempFile(configFile, provision.Filename("config.json"), provision.AddArgs(`-Dconfig.path="{{ .Path }}"`), )

JSONファイルの内容を生Createするコードの例。

func configFile(in sdk.ProvisionInput) ([]byte, error) { config := Config{ Token: in.ItemFields[fieldname.Token] }

contents, err := json.Marshal(config)

if err != nil {

return nil, err

}

return []byte(contents), nil

}

type Config struct {

Token string `json:"token"`

}

  • その他

インポーター

資格情報の定義では、インポーターを指定することもできます。インポーターは、ユーザーの環境とファイルシステムをスキャンして、必要な資格情報が存在するかどうかを確認します。1Password CLIはインポーターを実行し、ユーザーに資格情報を1つずつ1Passwordにインポートするように求めます。

CLIが認証データをディスクに書き込むことは非常に一般的で、最も一般的にはホームディレクトリーの隠し設定ファイルに書き込まれます。これは必ずしもCLIによって文書化されているわけではないので、そのような設定ファイルが存在するかどうかを確認するためのヒントをいくつか示します。

  • 設定ファイルについては、プラットフォームのドキュメントを確認してください。

  • CLIが認証をカバーするlogin、auth、configure、setupなどのコマンドを提供しているかどうかを確認します。提供されている場合は、そのようなコマンドのフローの完了後に、ホーム ディレクトリーに資格情報がSaveされる可能性が高くなります。

  • CLIがオープンソースの場合は、ソースコードをチェックして、そのようなファイルが存在するかどうかを確認します。

  • 自分のホームディレクトリーまたは~/.configディレクトリーを調べて、プラットフォームに関連するファイルがあるかどうかを確認します。ローカルのaws設定ファイルを検索するコマンドの例を次に示します。

$ find ~/.* -maxdepth 3 -path "*aws*"

SDKには、ファイルの読み込み、ファイルの解析、環境変数のスキャンを行うヘルパー関数が用意されており、資格情報の種類に応じたインポーターのCreateが容易になります。

インポーターの例

ステップ4:実行可能ファイルの定義を編集する

プラグインが最後に行うのは、1Passwordで認証を処理するCLIまたは実行可能ファイルを定義することです。これが全てをまとめる最後の部分です。

実行可能ファイルの定義では、次の内容が記述されます。

  • 1Password CLI によって実行されるコマンド。

  • プラットフォームが呼び出すCLIの表示名。

  • 実行可能ファイルを説明する、プラットフォームによって提供されるドキュメントのURL(オプション)。

  • 実行可能ファイルに認証が必要な条件。例えば多くのCLIでは、--helpまたは--versionフラグが存在する場合、認証は必要ありません。

  • 実行可能ファイルが使う資格情報。

実行可能な例

ステップ5:プラグインをローカルでビルド&テストする

プラグイン、資格情報、実行可能ファイルの定義が適切に入力されているかどうかを確認するには、次の Makefileコマンドを実行して定義を検証します。

make <plugin-name>/validate

それがCreate功したら、プラグインをローカルでビルドしてテストします。次のコマンドを使って実行できます。

make <plugin-name>/build

ビルドのアーティファクト(Create果物)は~/.op/plugins/localに配置されます。次のコマンドを実行すると、op内に表示されます。

$ op plugin list

実際に動作するかどうかを確認するには、次のop plugin initコマンドを使います。

$ op plugin init <plugin-executable>

PRを送信する

さらに詳しく知るには

ShellプラグインはGoで記述されており、パッケージ内の一連のGo構造体で構成され、特定のプラットフォーム、サービス、または製品用のプラグインを構成します。Goの専門家でなくても心配しないでください。プラグインを構築するために学べる

まず、 GitHub上のをクローンまたはフォークします。ここには、現在のプラグインレジストリーと、開発への参加に必要なSDKが含まれています。

例:

Access Key

セキュリティー上の理由から、ファイルプロビジョナーによってCreateされたファイルは、実行可能ファイルによって1回しか読み取ることができません。この制限がユースケースによって機能しない場合は、できます。

SDKに含まれる標準のプロビジョナーが実行可能ファイルの認証に不十分な場合は、独自のプロビジョナーをCreateすることもできます。そのためには、を実装します。

カスタムプロビジョナーの良い例は、が挙げられます。これは1Passwordからロードされたワンタイムパスワードコードに基づいて一時的な認証情報を生Createします。

( ~/.aws/credentials)

(~/.circleci/cli.yml)

( ~/.netrc)

( aws)

( gh)

( heroku)

ローカルでプラグインを使い続けることは自由ですが、他のユーザーも使えるように、にPRを送信することをお勧めします。

その前に、GitHub のファイルを必ず読んでください。

SDKがあなたのユースケースに適していないと思われる場合は、に参加してプラグインの提案をお知らせください。ユースケースに最適なアプローチについてアドバイスいたします。

1Password Shellプラグインレジストリー
シェルプラグインの GitHubリポジトリーでプルリクエストをCreate
サインアップしていること
Mac
Linux
1Password CLI
デスクトップアプリの統合を
Go 1.18 以降
Git
GNU Make
例がたくさんあります。
1Password Shellプラグインリポジトリー
GitHub
Herok
AWS
GitHub Personal Access Token
Heroku API キー
GitHubでイシューとして報告
sdk.Provisionerインターフェイス
AWS STSプロビジョナー
AWS Access Key
CircleCI Personal API Token
Heroku API Key
AWS CLI
GitHub CLI
Heroku CLI
GitHubのメインレジストリー
CONTRIBUTING.md
GitHubでイシューをCreateするか、
Developer Slack ワークスペース
シェルプラグインのトラブルシューティング
開発者Slackワークスペースに参加する