自動化された方法で、つまりサービス アカウントを使用して GCE インスタンスからGoogle クラウド ソース レポジトリにアクセスすることは可能ですか?
ドキュメントに表示されている唯一の認証方法は、gcloud auth login
コマンドを実行しているマシンではなく、個人ユーザーがレポにアクセスすることを認証するコマンドを使用することです。
自動化された方法で、つまりサービス アカウントを使用して GCE インスタンスからGoogle クラウド ソース レポジトリにアクセスすることは可能ですか?
ドキュメントに表示されている唯一の認証方法は、gcloud auth login
コマンドを実行しているマシンではなく、個人ユーザーがレポにアクセスすることを認証するコマンドを使用することです。
git
を介して実行するのではなく、でクローンを作成する場合はgcloud
、次を実行できます。
git config --global credential.helper gcloud.sh
...そして、これは機能します:
git clone https://source.developers.google.com/p/$PROJECT/r/$REPO
gcloud source repos clone <repo_name_in_cloud_source> <target_path_to_clone_into>
GCE で実行している場合は、必要なコード行数が少ない新しい認証方法を利用してください。
VM インスタンスを作成するときは、[アクセスとセキュリティ] で [クラウド プラットフォーム] を [有効] に設定します。
次に、認証コードは次のように単純です。
from oauth2client.client import GoogleCredentials
credentials = GoogleCredentials.get_application_default()
http = credentials.authorize(httplib2.Http())
https://developers.google.com/identity/protocols/application-default-credentialsを参照して ください