Slide 1

Slide 1 text

All rights reserved by Postman Inc Postman Vault を使った 秘密情報の安全な管理 草薙 昭彦 テクノロジーエバンジェリスト

Slide 2

Slide 2 text

テクノロジーエバンジェリスト Postman 株式会社 草薙 昭彦 @postman_japan @nagix

Slide 3

Slide 3 text

アジェンダ ● 秘密情報の管理 ● Postman Vault の基本 ● Postman Vault インテグレーション @postman_japan

Slide 4

Slide 4 text

Postman で秘密情報を扱うシーン @postman_japan ● API 認証・認可 ○ API キー、アクセストークン、・・・ ● API で個人情報 PII や業務情報を送信す るとき ○ 顧客・社員の個人情報、クレジットカード 情報、・・・ これらの情報をパブリッククラウドに 送信することを制限している企業は多い

Slide 5

Slide 5 text

Postman ユーザーからよく聞かれる質問 Top 10 @postman_japan 1. Postman はどこでデータをホストしていますか? 2. どのようなデータが Postman クラウドに保存されますか? 3. 個人や機密データが Postman クラウドに送信されないようにするための指針はありますか? 4. Postman で API キーや認証情報を使用する際の指針を教えてください 5. Postman でコレクションや OpenAPI Spec をシームレスにインポートする方法はありますか? 6. Postman でチームコラボレーションをするためのベストプラクティスを教えてください。 7. Postman を使ったテストのベストプラクティスは何ですか? 8. Postman を使って API コレクションのドキュメントを作成できますか? 9. Postman は、関係者がアセットを発見し、利用するための内部ポータルを公開していますか? 10. 最後に、Postman が企業に提供する主な機能を教えてください https://blog.postman.com/top-10-questions-from-postman-users/

Slide 6

Slide 6 text

Postman クラウドに保存されるデータ @postman_japan ● コレクションや環境など、ユーザーが編集可能な データは、すべて Postman クラウドに同期され る ○ Postman クラウド内では暗号化され格納 ● 例外として、環境変数・グローバル変数の現在値 Current value) と Postman Vault の値はクラ ウドには同期されない ⚠ Postman の共有責任モ デルでは、ユーザー側も 機密データの取り扱いに ついて責任を持つ必要 がある ワークスペースの公開範囲、ア クセス権の設定、API キーの管 理、アカウントの管理などは ユーザーが行う 同期されない 同期される

Slide 7

Slide 7 text

データがクラウドに送信されないようにする指針 @postman_japan ● リクエストにダミーデータを使用 ○ フェイカーライブラリ を使用して、テスト用にランダムなサンプルデータを生 成 フェイカーライブラリとは? 名前・住所・電話番号・メールアドレス など、さまざまな形式のダミーデータ を自動生成するライブラリ Postman では動的変数でフェイカーを利 用できる パラメーターやボディ: {{$randomPhoneNumber}} スクリプト: pm.variables.replaceIn('{{$randomFirs tName}}') 例:faker-js

Slide 8

Slide 8 text

データがクラウドに送信されないようにする指針 @postman_japan ● コレクションランナー実行時には、 CSV/JSON のデータファイル を使用して リクエストデータを構築 ○ データファイルはローカル環境から 読み込まれるため、クラウドには保 存されない

Slide 9

Slide 9 text

データがクラウドに送信されないようにする指針 @postman_japan ● 管理者はシークレットスキャナー を活用して、不注意に公開された可能性のある シークレットを検出できる ○ 90 以上のポピュラーなサービスのトークンのパターン ○ カスタム正規表現パターンを構成して、チーム独自のトークンやデフォルトで はスキャンされないトークンを検出することもできる

Slide 10

Slide 10 text

API キーや認証情報を使用する際の指針 @postman_japan ● 2024年5月より前(Postman v10 より前) ○ 他人に見られないようにする(マスキング) ■ 「シークレット 」タイプの変数 ○ 他人に共有できないようにする ■ 環境変数の現在値に値を保存し、初期値にはダミーか説明を格納する

Slide 11

Slide 11 text

API キーや認証情報を使用する際の指針 @postman_japan ● 2024年5月以降(Postman v11 以降) ○ 今日の本題 : Postman Vault を使う 画面右下のこれ

Slide 12

Slide 12 text

Postman Vault @postman_japan 機密データを Postman のローカル インスタンスにのみ保存 利用可能なドメインを限定できる {{vault:secret-name}} で環 境、認可設定などをワークス ペース全体で利用可能

Slide 13

Slide 13 text

Postman Vault の基本 @postman_japan ● アクセストークン、API キーなどの機密データを安全に Postman のローカルイ ンスタンスに保存して再利用できるしくみ ● 初めて Vault を使う際には、Vault にアクセスするための Vault キーを生成して 安全な場所に保存する必要がある ○ Vault キーは OS のパスワードマネージャー にも保存できる ⚠ コレクションランナーのスケジュール実行、モニ ター、Postman CLI、Newman では利用不可 ⚠ Postman からサインアウトすると、Vault に保存さ れたシークレットは削除される

Slide 14

Slide 14 text

ローカルマシン ローカルインスタンス? @postman_japan ● 同じマシンでも Postman デスクトップアプリと Web アプリは別インスタンス デスクトップアプリ Web アプリ Vault Vault 別インスタンス

Slide 15

Slide 15 text

Vault シークレットの使い方 @postman_japan パラメーターや認可タブのフィールドで指定 マウスを当てると Vault のタグと使われる値が 確認できる 空または未解決の Vault シークレットの場合 赤くハイライトされるので、マウスを当ててその 場限りの値を入力するか、入力した値を Vault に保存することができる

Slide 16

Slide 16 text

Vault シークレットの使い方(スクリプトから) @postman_japan 1. Vault の Settings でスクリプトでのサ ポートを有効にする 2. スクリプトを書く console.log(await pm.vault.get(secretKey)); 3. スクリプト実行時に出るダイアログで Vault アクセスを許可する 4. 結果を得る "*****"

Slide 17

Slide 17 text

Postman Vault を推奨する理由 @postman_japan ● シークレットは暗号化されてからローカルに保存される ● シークレットはすべてのワークスペースで利用可能 ● シークレットは Postman コンソールに記録される際にマスクされる ● シークレットは有効/無効にすることができ、 安全でありながら柔軟性がある ● シークレットは特定のドメインに対してのみ 解決するように制限することができ、不用意 に間違った API に紐付けてシークレットを 共有することを防ぐ

Slide 18

Slide 18 text

Postman Vault インテグレーション @postman_japan 外部キー管理サービスに格納され たシークレット情報を Postman 変 数として認証などに利用可能 1Password AWS Secret Manager Azure Key Vault HashiCorp Vault

Slide 19

Slide 19 text

Postman Vault インテグレーション @postman_japan ● 各ユーザーがローカル環境にシークレットを格納するための操作の必要もなくな るため、さらに安全 ● 外部 Vault の認証情報や取得したシークレットは、Postman のローカルインスタ ンスや Postman クラウドには保存されない ○ Postman を再立ち上げしたり認証期限が切れたら、再度外部 Vault の認 証をやり直す必要がある ● 動作環境 ○ Enterprise プラン + Advanced Security Administration アドオン ○ Postman デスクトップアプリのみ

Slide 20

Slide 20 text

まとめ @postman_japan ● API キーや認証情報などの機密データは Postman Vault に格納して安全に使 おう ● システム全体のセキュリティレベルは、一番弱い部分のレベルに下げられてしま います。機密データの管理は、すべてのユーザーの責任で取り組みましょう

Slide 21

Slide 21 text

ありがとうございました @postman_japan

Slide 22

Slide 22 text

2025年6月3〜4日 @JW Marriott Los Angeles POST/CON 25 Call For Speakers受付中 2025年2月14日23:59(PST)まで https://www.postman.com/postcon/  

Slide 23

Slide 23 text

Postman Japan コミュニティ Discord Discord サーバーを開設しました! 今後 Postman のプロダクトアップデートやイベン ト情報の配信や、みなさんとの交流の場として活 用していきたいと思います。 https://discord.gg/G4SQWDDqVa @postman_japan