Create GitHub App Token で GitHub Actionsで一時的なアクセストークンを発行する
はじめに
GitHub Actionsは、開発プロセスを自動化するために必要不可欠なツールですが、リポジトリや他のGitHubリソースへの安全なアクセスを管理する際には注意が必要です。通常、Personal Access Token(PAT)が使用されますが、これには広範な権限があり、セキュリティリスクを増加させる可能性があります。代わりに、「Create GitHub App Token」アクションを使用することで、より制限された権限で一時的なアクセストークンを生成できます。
この記事では、公式のGitHub Actions「Create GitHub App Token」アクションを使用して、GitHub Actionsで一時的かつセキュアなアクセストークンを発行する方法に焦点を当てます。この方法を使用すると、必要な作業にアクセスを制限し、セキュリティを向上させることができます。開発者は、この方法を通じてGitHubリソースへのアクセスを安全に管理し、効率的なCI/CDプロセスを実現することができます。
「Release Please Action」を実行するために採用した「Create GitHub App Token」アクションの使用法を、この記事で共有しています。
設定手順
それでは、設定していきましょう。
1. GitHub Appの作成
- GitHub Appの作成ページで「New GitHubApp」をクリック
- 「GitHub App name」でアプリ名を登録
- 「Homepage URL」を入力
アプリのウェブサイトへの完全なURLを入力します。専用のURLがなく、アプリのコードが公開リポジトリに保存されている場合は、そのリポジトリのURLを使用できます。または、アプリを所有する組織またはユーザーのURLを使用することもできます。
- 「Webhook」を非アクティブにする
Webhookは不要なためチェックを外します。
- 「Repository permissions」の設定
「Repository permissions」で、GitHub Appsが必要とするスコープを指定します。今回は「Issues」でを選択します。この際に「Metadata」も自動でが選択されます。
- 「Create GitHub App」をクリック
GitHub Appがインストールされる範囲を指定を確認し、「Create GitHub App」をクリックしGitHub Appを作成します。
作成完了しました。
は後で説明する認証情報の設定で利用しますので、控えておいてください。
2. GitHub App用Private Keyの生成
GitHub Appを作成した後、アプリを認証してGitHubのリソースにアクセスするためには、Private Keyが必要です。このKeyは、GitHub AppがGitHub APIと安全に通信するためのもので、アクセストークンの生成に使用されます。以下の手順でPrivate Keyを生成し、保存します:
- GitHub Appの設定ページへアクセス: 作成したGitHub Appの設定ページに移動します。
- Private Keyの生成: 「Private keys」セクションの、「Generate a private key」ボタンをクリックします。これにより、新しいPrivate Keyが生成されます。
- Keyのダウンロード: Private Keyはファイルとして提供されます。このプライベートキーは機密情報なので、他の人と共有しないように注意してください。
Private Keyが生成されると、ファイルがダウンロードされます。
ファイルに記載された内容はApp IDとともに後で利用するため、控えておいてください。
以上で、GitHub App用のPrivate Keyの生成が完了です。
3. 指定リポジトリへのGitHub Appのインストール
指定のリポジトリに対して、作成したGitHub Appをインストールします。これにより、GitHub Appがリポジトリ内でアクセス可能になります。
指定したGitHub Appがアクセス可能なリポジトリを選択し、インストールします。
GitHub Appのインストールが完了しました。
4. GitHub Appの認証情報設定:PRIVATE_KEYとAPP_ID
GitHub Actionsのワークフローで使用するために、GitHub Appの認証情報を設定します。とをセットアップすることで、アクションがGitHub Appに対して認証を行い、アクセストークンを取得できます。
GitHub Appを利用するために、リポジトリのActionsのSecretsにとを設定します。今回は他のSecretsとの名前の衝突を避けるために、とという名前を使用しました。
5. GitHub Actions Workflowの作成と動作確認
GitHub Actionsのワークフローを作成します。ワークフローでは、「Create GitHub App Token」アクションを使用して一時的なアクセストークンを発行し、必要な処理を実行します。
GitHub Actionsのワークフローを作成したら、動作確認を行いましょう。
GitHub Actionsのワークフローを作成したら、以下の手順で動作確認を行います。
- GitHubリポジトリに移動し、Actionsタブを開きます。
- ワークフローの一覧から作成したワークフローを選択します。
- ワークフローを手動でトリガーするために、「Run workflow」ボタンをクリックします。
- 実行ログが表示されますので、ログを確認しながらワークフローが正常に実行されるかを確認します。
- ワークフローの実行結果を確認し、アクセストークンが生成されていることを確認します。
「Release Please Action」などのGitHub Actionsは、しばしばPersonal Access Token(PAT)を要求しますが、より安全な代替手段としてGitHub App Tokenを使用することができます。これにより、GitHub Actionsを通じて安全なアクセス権を確保し、セキュリティリスクを低減できます。
以下は、GitHub App Tokenを使用して「Release Please Action」を実行するためのワークフローの例です
6. さいごに
公式のGitHub Actions「Create GitHub App Token」アクションは、GitHub Actionsで一時的かつセキュアなアクセストークンを発行するための便利なツールです。このアクションを使用することで、開発者はGitHubリソースへのアクセスを制限し、セキュリティを向上させることができます。詳細な手順や使用方法については、公式ドキュメントを参照してください。