Closed3

Githubの認証方法について

harayuharayu

https://docs.github.com/ja/authentication/keeping-your-account-and-data-secure/about-authentication-to-github
上記記事を参考

REST APIの認証方法

下記方法で認証できる

  • PAT(個人で認証する場合)
    • fine-grained personal access tokenが推奨
  • Github Apps(Orgnization or 他ユーザーのかわりに認証)
  • 組み込みのGITHUB_TOKENを推奨(Github Actions内で認証する場合)
    • ワークフロー内のレポジトリしかアクセスできないため、リポジトリ外部にアクセスする際にはPAT or Github Appsを使用する必要がある

コマンドラインから認証

下記二つの方法がある。

  • HTTPS
  • SSH

HTTPS

Github CLIで認証する場合はPAT or ブラウザ認証
CLIなしだとPATで認証

Githubに接続しに行くたびに認証情報を聞かれるので認証情報をキャッシュする必要がある。
CLIを利用して認証すると自動でローカルPCに保存してくれる

https://docs.github.com/ja/get-started/git-basics/caching-your-github-credentials-in-git?platform=mac

Git 操作の優先プロトコルとして HTTPS を選び、GitHub 認証を使って Git に対する認証を行うかどうかを確認するプロンプトに「yes」と答えると、GitHub CLI により、Git 資格情報が自動的に格納されます。

SSH

SSHキーを作成してGithubに公開鍵を登録する。

harayuharayu

https://docs.github.com/ja/actions/security-for-github-actions/security-guides/automatic-token-authentication

Github ActionsのGITHUB_TOKENについて

各ワークフローのジョブの開始時にGITHUB_TOKENが自動で作成される。ジョブの終了 or 24時間経過でGITHUB_TOKENの有効期限が切れる。

リポジトリの GITHUB_TOKEN を使ってタスクを実行した場合、GITHUB_TOKEN によってトリガーされたイベントでは (workflow_dispatch と repository_dispatch を除きます)、新しいワークフロー実行は作成されません。

上記なので新しいワークフローを実行したい場合はGithub Appsを使用する必要がある。普段の業務で使用しているtfactionはGithub Appsを使用するようにしている。
https://suzuki-shunsuke.github.io/tfaction/docs/config/github-token/

このスクラップは29日前にクローズされました