Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SORACOM CLIの認証情報を安全に保管する

SORACOM CLIの認証情報を安全に保管する

Ken'ichirou Kimura

June 07, 2022
Tweet

More Decks by Ken'ichirou Kimura

Other Decks in Technology

Transcript

  1. Copyright © 2015-2022 ALTERBOOTH inc. All Rights Reserved.
    SORACOM CLIの認証情報を
    安全に保管する
    木村健一郎
    2022年6月7日
    SORACOM UG Online #12
    @オンライン

    View Slide

  2. Copyright © 2015-2022 ALTERBOOTH inc. All Rights Reserved.
    名前:木村健一郎
    所属:株式会社オルターブース
    SORACOM UG九州
    娘ちゃんのパパ(4歳11ヶ月)
    お仕事:テクニカルアーキテクト
    受賞歴:AWS Samurai 2019
    SORACOM MVC 2021
    好きなSORACOMサービス
    :Arc、Beam、Funk、あのボタン

    View Slide

  3. Copyright © 2015-2022 ALTERBOOTH inc. All Rights Reserved.
    SORACOM CLI使ってますか?
    •SORACOM APIを呼び出すコマンドラインツール
    •SORACOMの全ての機能を操作可能
    •Goで書かれていて、多くの環境で実行可能
    •Android + termuxでも動く
    •大量のSIMに対して処理をしたりといった作業がとても便利
    •Lambda Layerもある
    https://users.soracom.io/ja-jp/tools/cli/

    View Slide

  4. Copyright © 2015-2022 ALTERBOOTH inc. All Rights Reserved.
    認証情報
    以下の認証情報に対応
    • 認証キー (認証キーIDおよび認証キーシークレット)
    • ルートユーザーのメールアドレスとパスワード
    • SAM ユーザーの認証情報
    soracom configureコマンドでインタラクティブに設定でき、
    その設定は ~/.soracom/default.json に平文で保存される

    View Slide

  5. Copyright © 2015-2022 ALTERBOOTH inc. All Rights Reserved.
    こんな感じ
    ・パーミッションが600ですがちょっと不安
    ・複数のマシンで認証情報を共有する場合、各マシンでセットアップが必要
    ・キーをローテートしたらあちこち修正するの大変

    View Slide

  6. Copyright © 2015-2022 ALTERBOOTH inc. All Rights Reserved.
    もっと安全にシークレットを管理しよう!

    View Slide

  7. Copyright © 2015-2022 ALTERBOOTH inc. All Rights Reserved.
    1passwordを使う
    • https://1password.com/
    • シークレットを安全に保存できる
    • 複数のマシンや家族アカウントに共有できる
    • CLIがある
    https://1password.com/jp/downloads/command
    -line/
    CLIがあるのが素敵!
    このCLIからシークレットをSORACOM CLIに渡せたら
    さらに素敵だと思いませんか?

    View Slide

  8. Copyright © 2015-2022 ALTERBOOTH inc. All Rights Reserved.
    やってみた
    • コマンドラインオプションまたはプロファイルにコ
    マンドを指定
    • コマンドはプロファイルのJSONを出力する
    • 1password cli + jqでいけそう
    • ということを思いついて実装してみた
    • プルリクが本日(2022/06/07)マージされました!

    View Slide

  9. Copyright © 2015-2022 ALTERBOOTH inc. All Rights Reserved.
    動かすとこんな感じ
    プロファイルの中に「profileCommand」という設定を入れる。
    引数やパイプを使う場合は上記のようにsh –c の引数に渡すか、シェルスクリプ
    トにする。

    View Slide

  10. Copyright © 2015-2022 ALTERBOOTH inc. All Rights Reserved.
    実行時に引数「--profileCommand」で指定してもOK。

    View Slide

  11. Copyright © 2015-2022 ALTERBOOTH inc. All Rights Reserved.
    まとめ
    •SORACOM CLIでプロファイル情報を外部コマンドで
    渡せるようになりました
    •v0.12.0以降でお試しください!
    •1password CLIとか使うと、認証情報を安全に渡せる
    •機能改善要求とかあればプルリク送ってみましょう!
    •ソラコムの皆さんとのやり取りは大変勉強になりま
    した
    •詳細はブログで
    https://zenn.dev/showm001/articles/2022-06-07-
    01

    View Slide

  12. Copyright © 2015-2022 ALTERBOOTH inc. All Rights Reserved.

    View Slide