SSH 공개 키를 사용하여 인증

사용자와 서비스 계정은 SSH 공개 키를 사용하여 Secure Source Manager 저장소에 인증할 수 있습니다. 이 페이지에서는 SSH 키 쌍을 생성한 다음 Secure Source Manager 웹 인터페이스에서 인증 방법으로 추가하는 방법을 설명합니다.

Secure Source Manager는 RSA, ECDSA, Ed25519 SSH 키 유형을 지원합니다.

필요한 역할

SSH 공개 키를 사용하여 인증하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이러한 사전 정의된 역할에는 SSH 공개 키를 사용하여 인증하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

SSH 공개 키를 사용하여 인증하려면 다음 권한이 필요합니다.

  • securesourcemanager.sshkeys.createAny Secure Source Manager 인스턴스에서
  • 서비스 계정에 SSH 키를 할당하려면 다음을 실행하세요. iam.serviceAccounts.actAs 서비스 계정에서

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

Secure Source Manager 역할 부여에 대한 자세한 내용은 IAM으로 액세스 제어사용자에게 인스턴스 액세스 권한 부여를 참고하세요.

키 쌍 생성

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"
    
    1. 메시지가 표시되면 공개 키 파일의 위치와 파일 이름을 입력합니다. 기본 위치와 파일 이름을 수락하려면 Enter를 누릅니다.

    2. 메시지가 표시되면 암호를 비워 두고 Enter를 누릅니다.

Windows

  1. 로컬 시스템에 PuTTY를 설치합니다.

  2. Windows 시작 메뉴에서 PuTTYGen을 시작합니다.

  3. 창이 열리면 Parameters(매개변수) 필드에서 키 유형을 선택합니다.

  4. 생성을 클릭합니다.

    PuTTYGen에 생성된 공개 키 문자열이 표시됩니다.

  5. 메시지가 표시되면 암호를 비워 두고 Enter를 누릅니다.

  6. 생성한 키 쌍을 로컬 시스템에 저장하려면 Save Public Key(공개 키 저장)Save Private Key(비공개 키 저장)를 클릭합니다.

사용자의 SSH 키 추가

  1. Secure Source Manager 웹 인터페이스의 인스턴스 또는 저장소 페이지에서 옵션 더보기 메뉴를 클릭합니다.
  2. 사용자 SSH 키를 클릭합니다.

    사용자 SSH 키 페이지가 열리고 생성한 기존 키 목록이 표시됩니다.

  3. 사용자 SSH 키 페이지에서 키 추가를 클릭합니다.

  4. SSH 키 추가 페이지에서 키에 다음 값을 입력합니다.

    1. 제목: 키에 대한 설명이 포함된 제목을 추가합니다.
    2. SSH 공개 키: 공개 키 문자열을 붙여넣습니다. 공개 키 문자열을 가져오려면 다음 명령어를 실행합니다.
    cat ~/.ssh/FILENAME.pub
    

    여기서 FILENAME은 키 파일에 지정한 이름입니다.

해당 저장소에 필요한 권한이 있는 경우 SSH 키를 사용하여 Secure Source Manager 저장소를 인증할 수 있습니다.

서비스 계정의 SSH 키 추가

저장소에 대한 프로그래매틱 액세스를 허용하려면 서비스 계정의 SSH 키를 추가하면 됩니다.

  1. 사용할 서비스 계정이 아직 없으면 서비스 계정을 만듭니다.
  2. Secure Source Manager 웹 인터페이스에서 옵션 더보기 메뉴를 클릭합니다.
  3. 서비스 계정 SSH 키를 클릭합니다. 서비스 계정 SSH 키 페이지가 열리고 추가한 기존 키 목록이 표시됩니다.
  4. 서비스 계정 SSH 키 페이지에서 키 추가를 클릭합니다.
  5. 서비스 계정 SSH 키 추가 페이지에서 키에 대해 다음 값을 입력합니다.

    1. 제목: 키의 설명 제목
    2. 서비스 계정: SSH 키를 사용할 서비스 계정의 서비스 계정 이메일(SA_NAME@PROJECT_ID.iam.gserviceaccount.com 형식)

      WHERE

      • SA_NAME은 서비스 계정 이름입니다.
      • PROJECT_ID는 서비스 계정이 생성된 프로젝트의 프로젝트 ID입니다.
    3. SSH 공개 키: 공개 SSH 키입니다. SSH 키 쌍을 생성하는 방법에 관한 자세한 내용은 키 쌍 생성을 참고하세요.

  6. 서비스 계정이 Secure Source Manager 인스턴스와 동일한 프로젝트에 없는 경우 Secure Source Manager의 서비스 에이전트에 사용할 서비스 계정에 다음 역할 또는 권한 중 하나를 부여하세요.

    • iam.serviceAccounts.signJwt 권한
    • 서비스 계정 토큰 생성자 (roles/iam.serviceAccountTokenCreator) 역할

    다음 명령어를 실행하여 서비스 계정 토큰 생성자 역할을 부여하는 IAM 정책을 Secure Source Manager 서비스 계정에 추가합니다.

    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)로 형식이 지정되어야 합니다.

다음 단계