プログラムを無料で定期実行したい方ですでにGitHub Actionsを使っている方は多いと思いますが、その上で
プログラム上で機密性の高い情報を使っている方にはSecretがおすすめです。
ここでいう機密性の高い情報とは、例えば外部サービス連携時に使用する
・アクセスキー
・アクセストークン
といった情報などです。
他にも、個人情報や外部に漏れてはいけない情報もそれに当たります。
それではGitHub Actions Secretの使い所と使い方は次の通りです。
GitHub Actions Secretの使い所
プログラムを組んでいて外部サービスとの連携は機会として結構多いのでSecret機能は多くのエンジニアにとって必須な機能の一つと言えます。
例えばプログラムに外部サービスへのクレデンシャル情報等をハードコードする場合は、もしそのソースが外部に漏れてしまった場合は重大なセキュリティ事故につながります。
悪意のあるユーザーに情報が漏れてしまった場合は、その外部サービスへアクセスされてしまい、個人情報や企業の様々な情報を盗まれてしまうリスクがあります。
そうならないためにも機密性の高い情報はマスキングされた状態にし、外部にもれても利用されないように対策した上でプログラム上で利用するのが吉です。
マスキングしたい情報はSecretに登録して利用する、と考えて差し支えないです。
GitHub ActionsのSecretの使い方
Secretの使い方をわかりやすいように順を追って画面キャプチャで説明していきたいと思います。
Secretに機密性の高い情報の環境変数を設定する
④ Secretに登録したい情報を登録する
(ここでは”TEST_ENV”という名前で登録しています)
⑤ Secretが登録できていることを確認
GitHub ActionsのWorkflowでSecretを呼び出し、環境変数に当て込む
まずWorkflow内でその環境変数を呼び出し、Workflowでの環境変数に当て込みます。
steps内の各ステップで環境変数を設定する形になります。
env処理で、ここでは”ENV1″にTEST_ENVの値を当てています。
また呼び出したSecretの値をそのまま使用することもできます
run処理でENV1をprintしています。
これは挙動確認のためにやっているだけなのでなくてもよいです。
動かしたいスプリクト内でSecretの値を利用する
実際に動かしたいスプリクト内でSecretの値を利用するために、先ほどWorkflowで当て込んだ環境変数(今回はENV1)を呼び出します。
Workflow内でonly_print.pyを呼び出しており、only_print.py内でENV1を利用します。
これで準備ができました。
それでは実際にWorkflowの実行ログを確認します。
Secretで設定した環境変数の値をprintしているのですが、値が * でマスキングされており、機密情報が漏れることなく利用できていることがわかります。
いががでしたか?
Secretは処理の流れがわかってしまうと簡単に利用できることがわかると思います。
これでしっかりセキュリティ管理をしながら安心してプログラムを動かせますね!