ローカル認証を設定する

システムからホストされているリポジトリにアクセスまたはホストされているリポジトリを操作するには、ご使用の環境でローカル認証を設定する必要があります。

ローカル認証を設定すると、適切な役割と権限のある、ホストされたリポジトリに対してアクセスできるようになります。標準的な Git オペレーション(git clonegit pullgit push など)を実行することもできます。ローカル認証は、Google Cloud Console で操作(たとえば、リポジトリの内容の閲覧)を行うために必須というわけではありません。

Cloud Source Repositories では、次の種類の認証を使用できます。

SSH を使用して認証を行う

Cloud Source Repositories を使用すると、SSH 公開鍵認証を使用して、ホストされているリポジトリにアクセスできます。このシナリオでは、まずリポジトリにアクセスするローカル システムで鍵ペアを生成します。その後、公開鍵を Google Cloud に登録します。システムに SSH 認証鍵ペアがすでにある場合は、それらの鍵を認証に再利用できます。Google アカウントごとに最大 20 個の公開鍵を登録できます。

Cloud Source Repositories では以下の 3 つの SSH 認証鍵タイプがサポートされています。

  • RSA(2,048 ビットを超える鍵のみ)
  • ECDSA
  • ED25519

鍵ペアの生成

SSH 鍵ペアは、ローカル システムにある秘密鍵と Google Cloud に登録した公開鍵で構成されます。

Linux または macOS

  1. OpenSSH がローカル システムにインストールされていることを確認します。

  2. コマンド プロンプトで、次のコマンドを入力します。

    ssh-keygen -t [KEY_TYPE] -C "[USER_EMAIL]"
    

    ここで

    • [USER_EMAIL] はあなたのメールアドレスです。
    • [KEY_TYPE] は次のいずれかです。
      • rsa
      • ecdsa
      • ed25519

    例:

    ssh-keygen -t rsa -C "user@example.com"
    

    ssh-keygen を実行すると、パスフレーズと、公開鍵が保存されるファイルの名前の入力を求められます。

Windows

  1. PuTTY がローカル システムにインストールされていることを確認します。

  2. Windows の [スタート] メニューから、PuTTYGen を起動します。

  3. 表示されたウィンドウで [パラメータ] フィールドから鍵タイプを選択します。

  4. [生成] をクリックします。

    PuTTYGen で生成された公開鍵文字列が表示されます。

  5. 鍵ペアを保護するためのパスフレーズを指定します。

  6. 生成した鍵ペアをローカル システムに保存するには、[公開鍵の保存] と [秘密鍵の保存] をクリックします。

既存のキーを使用する

SSH 認証に既存の鍵ペアを使用することもできます。

Linux または macOS

デフォルトでは、公開鍵ファイルは ~/.ssh ディレクトリにあります。

コマンド プロンプトで、次のコマンドを入力します。

ls -a ~/.ssh

デフォルトのファイル名は次のとおりです。

  • id_rsa.pub
  • id_ecdsa.pub
  • id_ed25519.pub

Windows

  1. Windows の [スタート] メニューから、PuTTYGen を起動します。

  2. 表示されたウィンドウで [読込] をクリックします。

  3. ローカル ファイル システムで公開鍵ファイルを参照し、ファイルを選択します。

    PuTTYGen で公開鍵の文字列が表示されます。鍵ファイルを保存したときにパスフレーズを指定した場合は、公開鍵を表示する前に PuTTYGen によってパスフレーズを入力するように求められます。

公開キーを登録する

  1. GCP Console で [SSH 認証鍵の管理] ページを開きます。

    Cloud Source Repositories を開く

  2. [SSH 認証鍵の登録] をクリックします。

    [SSH 認証鍵の登録] ダイアログが開きます。

  3. [キー名] フィールドに、鍵の一意の名前を入力します。

  4. [キー] フィールドで、公開鍵ファイルからキー文字列をコピーします。

  5. [登録] をクリックします。

SSH 認証を設定すると、必要な役割と権限を持っているリポジトリのクローンを作成するか、空のホストされるリポジトリにローカル リポジトリの内容を push できます。

Cloud SDK を使用して認証を行う

Cloud Source Repositories では、Cloud SDK を使用して認証を行うことができます。このシナリオでは、システム上で gcloud init コマンドを実行してローカル認証を設定します。

  1. ローカル システムに Cloud SDK がインストールされていることを確認します。

  2. コマンド プロンプトで gcloud init を実行します。

    gcloud init
    
  3. 画面の手順に沿って操作します。

Cloud SDK 認証を設定すると、標準の Git コマンドを使用して Cloud Source Repositories 上のホストされているリポジトリを操作できます。

手動で生成された認証情報を使用して認証を行う

手動で生成された認証情報を認証に使用することもできます。Cloud Source Repositories には、ホストされるリポジトリへのアクセスに必要な認証情報を手動で生成するために使用できる一連のスクリプトが用意されています。

  1. [Configure Git] ページに移動して認証情報を生成します。

    [Configure Git] ページに移動する

  2. ターミナル ウィンドウを開きます。

  3. 以下のコマンドを入力します。

    git clone https://source.developers.google.com/p/PROJECT_ID/r/REPOSITORY_NAME
    

    ここで

    • PROJECT_ID は、プロジェクトの名前です
    • REPOSITORY_NAME はリポジトリの名前です

手動で生成された認証情報を使用して認証を設定したら、標準の Git コマンドを使用して Cloud Source Repositories 上のホストされているリポジトリを操作できます。