Copyright © 2015-2022 ALTERBOOTH inc. All Rights Reserved.SORACOM CLIの認証情報を安全に保管する木村健一郎2022年6月7日SORACOM UG Online #12@オンライン
View Slide
Copyright © 2015-2022 ALTERBOOTH inc. All Rights Reserved.名前:木村健一郎所属:株式会社オルターブースSORACOM UG九州娘ちゃんのパパ(4歳11ヶ月)お仕事:テクニカルアーキテクト受賞歴:AWS Samurai 2019SORACOM MVC 2021好きなSORACOMサービス:Arc、Beam、Funk、あのボタン
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/
Copyright © 2015-2022 ALTERBOOTH inc. All Rights Reserved.認証情報以下の認証情報に対応• 認証キー (認証キーIDおよび認証キーシークレット)• ルートユーザーのメールアドレスとパスワード• SAM ユーザーの認証情報soracom configureコマンドでインタラクティブに設定でき、その設定は ~/.soracom/default.json に平文で保存される
Copyright © 2015-2022 ALTERBOOTH inc. All Rights Reserved.こんな感じ・パーミッションが600ですがちょっと不安・複数のマシンで認証情報を共有する場合、各マシンでセットアップが必要・キーをローテートしたらあちこち修正するの大変
Copyright © 2015-2022 ALTERBOOTH inc. All Rights Reserved.もっと安全にシークレットを管理しよう!
Copyright © 2015-2022 ALTERBOOTH inc. All Rights Reserved.1passwordを使う• https://1password.com/• シークレットを安全に保存できる• 複数のマシンや家族アカウントに共有できる• CLIがあるhttps://1password.com/jp/downloads/command-line/CLIがあるのが素敵!このCLIからシークレットをSORACOM CLIに渡せたらさらに素敵だと思いませんか?
Copyright © 2015-2022 ALTERBOOTH inc. All Rights Reserved.やってみた• コマンドラインオプションまたはプロファイルにコマンドを指定• コマンドはプロファイルのJSONを出力する• 1password cli + jqでいけそう• ということを思いついて実装してみた• プルリクが本日(2022/06/07)マージされました!
Copyright © 2015-2022 ALTERBOOTH inc. All Rights Reserved.動かすとこんな感じプロファイルの中に「profileCommand」という設定を入れる。引数やパイプを使う場合は上記のようにsh –c の引数に渡すか、シェルスクリプトにする。
Copyright © 2015-2022 ALTERBOOTH inc. All Rights Reserved.実行時に引数「--profileCommand」で指定してもOK。
Copyright © 2015-2022 ALTERBOOTH inc. All Rights Reserved.まとめ•SORACOM CLIでプロファイル情報を外部コマンドで渡せるようになりました•v0.12.0以降でお試しください!•1password CLIとか使うと、認証情報を安全に渡せる•機能改善要求とかあればプルリク送ってみましょう!•ソラコムの皆さんとのやり取りは大変勉強になりました•詳細はブログでhttps://zenn.dev/showm001/articles/2022-06-07-01
Copyright © 2015-2022 ALTERBOOTH inc. All Rights Reserved.