リポジトリでのアクセス トークンの使用
Access tokens for a repository are single-purpose access tokens with reduced access (specified during creation) that can be useful for scripting, CI/CD tools, and testing Bitbucket-connected apps during development. Access tokens for a repository are connected to a repository, not a user, and are managed by the repository’s admins.
次の例は、Bitbucket Cloud REST API と Git コマンド ライン インターフェイス (Git CLI) を使用して、リポジトリで Bitbucket Cloud アクセス トークンを使用する方法を示しています。
Bitbucket API でリポジトリのアクセス トークンを使用する
Bitbucket Cloud 統合またはアプリ開発者は、ユーザー認証に OAuth を使用することをお勧めします。OAuth サポートを備えた Bitbucket Cloud 統合またはアプリの作成方法の詳細については、アトラシアン開発者 - Bitbucket Cloud をご覧ください。
次の例は、Bitbucket Cloud API での認証方法のガイドとして、curl
コマンドを使用してリポジトリの Bitbucket Cloud アクセス トークンを使用する方法を示しています。この例では、Get Repository API を使用して Bitbucket リポジトリでコミットをクエリしています。
To connect to Bitbucket Cloud, send the access token as a bearer token in an HTTP Authorization header. For example:
curl --request GET \
--url 'https://api.bitbucket.org/2.0/repositories/{workspace}/{repository}' \
--header 'Authorization: Bearer <repository_access_token>' \
--header 'Accept: application/json'
Git コマンド ライン インターフェイスでリポジトリのアクセス トークンを使用する
リポジトリのアクセス トークンは、ビルド ツール、自動化スクリプト、CI/CD アプリなどの非インタラクティブなプログラムまたはスクリプトの Git コマンド ライン インターフェイスで使用する必要があります。Git を日常的に使用する場合は、Bitbucket とやり取りするコマンドを発行するたびにアクセス トークンを手動で入力する手間を省くため、SSH キーまたはGit 認証情報マネージャーで Bitbucket Cloud に接続することをお勧めします。Bitbucket の SSH キーのセットアップに関する詳細は、「Bitbucket Cloud の SSH キーをセットアップする」をご参照ください。
Git CLI でリポジトリの Bitbucket Cloud アクセス トークンを使用するには、次の権限を持つアクセス トークンを作成します。
リポジトリ読み取り (
repository
)リポジトリ書き込み (
repository:write
)
Git CLI でリポジトリのアクセス トークンを使用するには、インタラクティブ プロンプトからアクセス トークンを提供するか、URL にアクセス トークンを含めるかの 2 つのオプションがあります。
インタラクティブ パスワード プロンプトによるリポジトリのアクセス トークン
この方法では、プロジェクトのアクセス トークンが保護されずに URL に保存されるのを防ぎます。Git が Bitbucket Cloud を操作 (git pull
、git push
、git fetch
など) するたびに、プロジェクトのアクセス トークンの入力を要求します。また、リポジトリの Git ユーザー構成も必要です。
インタラクティブ プロンプトを介してリポジトリのアクセス トークンを提供するには、次の手順に従います。
次のコマンドでリポジトリを複製します。
git clone https://x-token-auth@bitbucket.org/{workspace}/{repository}.git
ローカルデバイスにすでに複製されているリポジトリの場合は、次のコマンドでリモート URL をアップデートします。
git remote set-url origin https://x-token-auth@bitbucket.org/{workspace}/{repository}.git
新たに複製されたリポジトリに移動します。
cd {repository}/
次のように、リポジトリの Git ユーザーを設定します。
git config user.email "{bot_email}"
{bot_email}
とは、リポジトリのアクセス トークンを作成したときに生成されたアクセス トークンメールを指します (52c16467c5f19101ff2061cc@bots.bitbucket.org
など)。
リポジトリ メールのアクセス トークン:
アクセス トークンの名前ではありません。
リポジトリのアクセス トークンのページで、アクセス トークンの名前を選択することで取得できます。
メールを送受信することはできず、Git 操作をアクセス トークンに一致させるためだけに使用されます。
URL にリポジトリのアクセス トークンを含める
アクセス トークンをプレーン テキストとして保護しないで保存したり、Git リモート URL の一部として永続的に保存したりしないことをお勧めします。この方法は、アクセス トークンがビルド ツールの「秘密」変数として安全に保存されている場合に役立ちます。
インタラクティブ パスワード プロンプトなしでリポジトリのアクセス トークンを使用するために、アクセス トークンを URL に含めることができます。次に例を示します。
次のコマンドでリポジトリを複製します。
git clone https://x-token-auth:{repository_access_token}@bitbucket.org/{workspace}/{repository}.git
ローカルデバイスにすでに複製されているリポジトリの場合は、次のコマンドでリモート URL をアップデートします。
git remote set-url origin https://x-token-auth:{repository_access_token}@bitbucket.org/{workspace}/{repository}.git
新たに複製されたリポジトリに移動します。
cd {repository}/
次のように、リポジトリの Git ユーザーを設定します。
git config user.email "{botid}@bots.bitbucket.org"
{botid}
とはリポジトリのアクセス トークンを作成したときに生成されたアクセス トークン ID を指します。アクセス トークン ID はアクセス トークン名ではありません。
この内容はお役に立ちましたか?