GitHub Actions の secret とは?
secret は API キーやパスワードのような暗号化された値で、workflow は読み取れますが GitHub はログに出さないようにします。
パイプラインはしばしば認証情報を必要とします。secret を使うと、機密値をリポジトリ、environment、組織のレベルで保存でき、workflow はそれをコードやログに晒すことなく利用できます。
それは何か
secret は GitHub の設定に保存される暗号化されたキーと値のペアです。workflow は secrets コンテキストを通じてアクセスし、GitHub はその値をログで自動的にマスクします。
Reading a secret
steps:
- run: ./deploy.sh
env:
API_KEY: ${{ secrets.API_KEY }}どう動くか
secret は保存時に暗号化され、それを参照するステップにのみ注入されます。secret の値がログ出力に現れた場合、GitHub はそれをアスタリスクに置き換えます。
スコープ
- リポジトリ secret はその repo の workflow で利用できます。
- 組織 secret は repo 間で共有できます。
- environment secret は environment ルールの背後でゲートされます。
なぜ重要か
secret は認証情報をソース管理と CI ログから守ります。environment の保護ルールと組み合わせると、最も機密性の高い値に承認ゲートを追加できます。
関連する概念
secret は GITHUB_TOKEN を補完し、しばしば environment でスコープされ、クラウド認証では OIDC で置き換えられることがよくあります。
重要なポイント
- secret はログでマスクされる暗号化された変数です。
- スコープはリポジトリ、組織、environment です。
${{ secrets.NAME }}で読みます。
関連ガイド
What Is GITHUB_TOKEN in GitHub Actions?GITHUB_TOKEN is an automatic, short-lived credential GitHub injects into each workflow run so steps can call…
What Is an Environment in GitHub Actions?An environment in GitHub Actions is a named deployment target like staging or production, with its own secret…
What Is OIDC in GitHub Actions?OIDC in GitHub Actions lets a workflow request a short-lived identity token to authenticate to cloud provider…
What Is a Context in GitHub Actions?A context in GitHub Actions is a structured object of run data, like github, env, and secrets, that you read…