リポジトリ アクセス トークンの使用
リポジトリ アクセス トークンは、アクセスが制限された単一目的のアクセス トークンです (作成中に指定)。これらのトークンは、開発中のスクリプト作成、CI/CD ツール、Bitbucket に接続されたアプリのテストに役立ちます。リポジトリ アクセス トークンは、ユーザーではなくリポジトリに接続され、リポジトリの管理者によって管理されます。
次の例は、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 リポジトリでコミットをクエリしています。
Bitbucket Cloud に接続するには、リポジトリ アクセス トークンを HTTP 承認ヘッダー内のベアラー トークンとして送信します。次に例を示します。
1
2
3
4
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 ユーザーを設定する必要があります。
インタラクティブ プロンプトを介してリポジトリ アクセス トークンを提供するには、次の手順に従います。
次のコマンドでリポジトリを複製します。
1
git clone https://x-token-auth@bitbucket.org/{workspace}/{repository}.git
ローカルデバイスにすでに複製されているリポジトリの場合は、次のコマンドでリモート URL をアップデートします。
1
git remote set-url origin https://x-token-auth@bitbucket.org/{workspace}/{repository}.git
新たに複製されたリポジトリに移動します。
1
cd {repository}/
次のように、リポジトリの Git ユーザーを設定します。
1
git config user.email "{bot_email}"
ここで、{bot_email} はリポジトリ アクセス トークンを作成したときに生成されたリポジトリ アクセス トークンのメールです (たとえば、52c16467c5f19101ff2061cc@bots.bitbucket.org)。
リポジトリ アクセス トークンのメール:
リポジトリ アクセス トークンの名前ではありません。
リポジトリのリポジトリ アクセス トークンのページで、アクセス トークンの名前を選択することで取得できます。
メールを送受信することはできず、Git 操作をアクセス トークンに一致させるためだけに使用されます。
リポジトリ アクセス トークンを URL に含める
リポジトリ アクセス トークンをプレーンテキストとして保護せずに保存したり、Git リモート URL の一部として永続的に保存したりしないことをお勧めします。この方法は、リポジトリ アクセス トークンがビルド ツールの「秘密」変数として安全に保存されている場合に役立ちます。
非インタラクティブ パスワード プロンプトなしでリポジトリ アクセス トークンを使用するために、リポジトリ アクセス トークンを URL に含めることができます。次に例を示します。
次のコマンドでリポジトリを複製します。
1
git clone https://x-token-auth:{repository_access_token}@bitbucket.org/{workspace}/{repository}.git
ローカルデバイスにすでに複製されているリポジトリの場合は、次のコマンドでリモート URL をアップデートします。
1
git remote set-url origin https://x-token-auth:{repository_access_token}@bitbucket.org/{workspace}/{repository}.git
新たに複製されたリポジトリに移動します。
1
cd {repository}/
次のように、リポジトリの Git ユーザーを設定します。
1
git config user.email "{botid}@bots.bitbucket.org"
ここで、{botid} は、リポジトリ アクセス トークンを作成したときに生成されたリポジトリ アクセス トークンの id です。リポジトリ アクセス トークンの id は、リポジトリ アクセス トークンの名前ではありません。
この内容はお役に立ちましたか?