ユーザーとサービス アカウントは、SSH 公開鍵を使用して Secure Source Manager リポジトリに対して認証できます。このページでは、SSH 認証鍵ペアを生成し、Secure Source Manager ウェブ インターフェースで認証方法として追加する方法について説明します。
Secure Source Manager は、RSA、ECDSA、Ed25519 の SSH 認証鍵タイプをサポートしています。
必要なロール
SSH 公開鍵を使用して認証するために必要な権限を取得するには、管理者に次の IAM ロールを付与するよう依頼してください。
- 
            ユーザーの SSH 認証鍵を追加するには:
              
  
  
    
      Secure Source Manager インスタンスに対する Secure Source Manager インスタンス アクセサー (roles/securesourcemanager.instanceAccessor)
- 
            サービス アカウントの SSH 認証鍵を追加するには:
            - 
  
  
    
      Secure Source Manager インスタンスに対する Secure Source Manager インスタンス マネージャー (roles/securesourcemanager.instanceManager)
- 
  
  
    
      サービス アカウントに対するサービス アカウント ユーザー (roles/iam.serviceAccountUser)
 
- 
  
  
    
      Secure Source Manager インスタンスに対する Secure Source Manager インスタンス マネージャー (
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
これらの事前定義ロールには、SSH 公開鍵を使用して認証するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
SSH 公開鍵を使用して認証するには、次の権限が必要です。
- 
                  Secure Source Manager インスタンスに対する securesourcemanager.sshkeys.createAny
- 
                サービス アカウントに SSH キーを割り当てるには:
サービス アカウントに対する iam.serviceAccounts.actAs
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
Secure Source Manager のロールの付与については、IAM によるアクセス制御とユーザーにインスタンスへのアクセス権を付与するをご覧ください。
鍵ペアを生成する
SSH 鍵ペアは、ローカル システムにある秘密鍵と Google Cloudに登録した公開鍵で構成されます。
Linux または macOS
- ローカル システムに OpenSSH をインストールします。 
- コマンド プロンプトで、次のコマンドを入力します。 - ssh-keygen -t [KEY_TYPE] -C "[USER_EMAIL]"- ここで - [USER_EMAIL]はあなたのメールアドレスです。
- [KEY_TYPE]は、- rsa、- ecdsaまたは- ed25519のいずれかです。
 - 次に例を示します。 - ssh-keygen -t rsa -C "user@example.com"- プロンプトが表示されたら、公開鍵ファイルの場所とファイル名を入力します。デフォルトの場所とファイル名をそのまま使用する場合は、Enter キーを押します。 
- プロンプトが表示されたら、パスフレーズを空白のままにして Enter キーを押します。 
 
Windows
- ローカル システムに PuTTY をインストールします。 
- Windows の [スタート] メニューから、PuTTYGen を起動します。 
- 表示されたウィンドウで [パラメータ] フィールドから鍵タイプを選択します。 
- [生成] をクリックします。 - PuTTYGen で生成された公開鍵文字列が表示されます。 
- プロンプトが表示されたら、パスフレーズを空白のままにして Enter キーを押します。 
- 生成した鍵ペアをローカル システムに保存するには、[公開鍵の保存] と [秘密鍵の保存] をクリックします。 
ユーザーの SSH 認証鍵を追加する
- Secure Source Manager ウェブ インターフェースで、インスタンスまたはリポジトリのページから、 [その他のオプション] メニューをクリックします。
- [ユーザーの SSH 認証鍵] をクリックします。 - [ユーザー SSH 認証鍵] ページが開き、作成した既存の認証鍵のリストが表示されます。 
- [ユーザー SSH 認証鍵] ページで、[認証鍵を追加] をクリックします。 
- [SSH 認証鍵を追加] ページで、鍵に次の値を入力します。 - タイトル: キーの説明的なタイトルを追加します。
- SSH 公開鍵: 公開鍵文字列を貼り付けます。公開鍵文字列を取得するには、次のコマンドを実行します。
 - cat ~/.ssh/FILENAME.pub- ここで、 - FILENAMEはキーファイルに付けた名前です。
SSH 認証鍵を使用して、必要な権限がリポジトリに付与されている Secure Source Manager リポジトリを認証できます。
サービス アカウントの SSH 認証鍵を追加する
リポジトリへのプログラムによるアクセスを許可するには、サービス アカウントの SSH 認証鍵を追加します。
- 使用するサービス アカウントがまだない場合は、サービス アカウントを作成します。
- Secure Source Manager ウェブ インターフェースで、 [その他のオプション] メニューをクリックします。
- [サービス アカウントの SSH 認証鍵] をクリックします。[サービス アカウントの SSH 認証鍵] ページが開き、追加した既存の認証鍵のリストが表示されます。
- [サービス アカウントの SSH 認証鍵] ページで、[鍵を追加] をクリックします。
- [サービス アカウントの SSH 鍵を追加] ページで、鍵に次の値を入力します。 - タイトル: キーの説明的なタイトル
- サービス アカウント: SSH 鍵を使用するサービス アカウントのサービス アカウント メール( - SA_NAME@PROJECT_ID.iam.gserviceaccount.com形式)- 場所 - SA_NAMEはサービス アカウント名です。
- PROJECT_IDは、サービス アカウントが作成されたプロジェクトのプロジェクト ID です。
 
- SSH Public Key: 公開 SSH 認証鍵。SSH 認証鍵ペアの生成方法については、鍵ペアを生成するをご覧ください。 
 
- サービス アカウントが Secure Source Manager インスタンスと同じプロジェクトにない場合は、使用するサービス アカウントに対する次のロールまたは権限のいずれかを Secure Source Manager のサービス エージェントに付与します。 - iam.serviceAccounts.signJwt権限
- サービス アカウント トークン作成者(roles/iam.serviceAccountTokenCreator)ロール
 - 次のコマンドを実行して、Secure Source Manager サービス アカウントに IAM ポリシーを追加し、サービス アカウント トークン作成者のロールを付与します。 - gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT \ --member="serviceAccount:service-INSTANCE_PROJECT_NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com" \ --role="roles/iam.serviceAccountTokenCreator"- ここで、SERVICE_ACCOUNT は使用するサービス アカウントで、INSTANCE_PROJECT_NUMBER は Secure Source Manager インスタンスのプロジェクト番号です。 - SERVICE_ACCOUNT は、数値形式のサービス アカウント ID またはメールアドレス(123456789876543212345 や my-iam-account@somedomain.com など)のいずれかの形式にする必要があります。