2023年10月1日から、HuggingFaceではGitの認証方法が変更されました。
私は今気づいて対応しました…
これまではパスワードによる認証が可能でしたが、新たなセキュリティ対策としてアクセストークンまたはSSHキーを使用した認証に移行されました。
今回はこの移行に伴った、アクセストークンを用いたGit認証の設定方法について解説してきます。
アクセストークンを用いたGit認証設定の流れ
全体的な流れとしては以下になります。
- HuggingFaceのWebサイトでアクセストークンを作成する
- Gitリポジトリの設定を変更する
それぞれ解説していきます。
Step1: アクセストークンの作成
HuggingFaceのGitリポジトリにアクセスするためには、まずアクセストークンが必要になります。
以下のステップに従って、アクセストークンを作成してください。
- HuggingFaceのウェブサイトにログインし、ユーザーのSettingsページにアクセス
- 「Access Tokens」セクションで「New Token」をクリック
- トークンに任意の名前を付け、権限「Write」を設定
- 「Generate a token」をクリックで完了
上記手順で作成したアクセストークンをコピーしておいてください。
Step2: アクセストークンの設定
トークンが作成されたら、次のコマンドを使用してGitリポジトリの認証設定を更新します。
以下のコマンドをターミナルで実行してください。
git remote set-url origin https://<user_name>:<token>@huggingface.co/<repo_path>
実行前に対象のプロジェクトに移動するのをお忘れなく!
ちなみに、上記コマンド内の<user_name>
はHuggingFaceのユーザー名、<token>
は作成したアクセストークン、<repo_path>
はリポジトリのパスです。
リポジトリパスの例
リポジトリパスについては若干クセがあるので、以下を参考に適切なものを入力してください。
- モデルの場合:
<user_name>/<repo_name>
- データセットの場合:
datasets/<user_name>/<repo_name>
- Spacesの場合:
spaces/<user_name>/<repo_name>
git pullで接続確認
上記の設定ができたら、以下を実行してください。
git pull origin
実行後にAlready up to date
または何かしらプルされれば問題なく設定できているので、Git認証完了となります。
これらの変更により、以前と同様にgit push
コマンドを使用してリポジトリを更新できるようになります。
まとめ
今回はHuggingFaceのアクセストークンを用いたGit認証の対応について解説しました。
自分はアナウンスをすっかり見逃しており、いまさらの対応になってしまいましたがこういったセキュリティ関連の対応はすぐにしておいた方が良いのは間違いないです。
まだ対応されておらず、どうすればいいのかイマイチな方の一助となれれば幸いです。
参考リソース
詳細な情報や、セキュリティに関するアドバイスは、HuggingFaceの公式ブログ記事「Hugging Face Hub: Important Git Authentication Changes」を参照してください。