사용자와 서비스 계정은 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 인스턴스 관리자 (
roles/securesourcemanager.instanceManager) Secure Source Manager 인스턴스에서 -
서비스 계정에 대한 서비스 계정 사용자 (
roles/iam.serviceAccountUser) 역할
-
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
없는 경우 로컬 시스템에 OpenSSH 클라이언트(Windows 10 이상에 포함)와 Windows용 Git을 설치합니다. 다음 안내에서는 OpenSSH 및 Git for Windows를 사용합니다.
PowerShell 또는 명령 프롬프트에서 다음 명령어를 실행합니다.
ssh-keygen -t KEY_TYPE -C "USER_EMAIL"각 항목의 의미는 다음과 같습니다.
- USER_EMAIL은 이메일 주소입니다.
- KEY_TYPE는
rsa,ecdsa또는ed25519중 하나입니다.
예를 들면 다음과 같습니다.
ssh-keygen -t rsa -C "user@example.com"메시지가 표시되면 공개 키 파일의 위치와 파일 이름을 입력합니다. 기본 위치와 파일 이름 (`%USERPROFILE%.ssh`)을 수락하려면 Enter 키를 누릅니다.
메시지가 표시되면 암호를 비워 두고 Enter를 누릅니다.
SSH 에이전트에 SSH 키 추가
생성한 SSH 키 쌍을 사용하려면 SSH 에이전트에 키를 추가하세요. 기본 위치에 키를 저장하지 않은 경우 SSH 에이전트에 키를 추가하면 SSH가 키를 찾는 데 도움이 됩니다.
Linux 또는 macOS
백그라운드에서
ssh-agent을 시작합니다.eval "$(ssh-agent -s)"이 명령어는 에이전트 프로세스 ID (PID)를 반환합니다. 예를 들면 다음과 같습니다.
Agent pid 3245환경에 따라 다른 명령어를 사용해야 할 수도 있습니다. 예를 들면 다음과 같습니다.
- 루트 액세스를 사용하려면
ssh-agent를 시작하기 전에sudo -s -H를 실행하세요. ssh-agent를 직접 실행하려면exec ssh-agent bash또는exec ssh-agent zsh를 사용하세요.
- 루트 액세스를 사용하려면
ssh-agent에 SSH 비공개 키를 추가합니다.ssh-add ~/.ssh/FILENAME여기서
FILENAME은 비공개 키 파일의 이름입니다(예:id_rsa또는id_ed25519).
Windows
ssh-agent를 시작합니다.Git Bash를 사용하는 경우
ssh-agent를 시작합니다.eval "$(ssh-agent -s)"PowerShell 또는 명령 프롬프트를 사용하는 경우
ssh-agent서비스를 시작합니다. PowerShell에서 다음을 실행합니다.Set-Service ssh-agent -StartupType Automatic; Start-Service ssh-agent
ssh-agent에 SSH 비공개 키를 추가합니다.Git Bash를 사용하는 경우:
ssh-add ~/.ssh/FILENAMEPowerShell 또는 명령 프롬프트를 사용하는 경우:
ssh-add $env:USERPROFILE\.ssh\FILENAME
여기서
FILENAME은 비공개 키 파일의 이름입니다(예:id_rsa또는id_ed25519).
사용자의 SSH 키 추가
- Secure Source Manager 웹 인터페이스의 인스턴스 또는 저장소 페이지에서 옵션 더보기 메뉴를 클릭합니다.
사용자 SSH 키를 클릭합니다.
사용자 SSH 키 페이지가 열리고 생성한 기존 키 목록이 표시됩니다.
사용자 SSH 키 페이지에서 키 추가를 클릭합니다.
SSH 키 추가 페이지에서 키에 다음 값을 입력합니다.
- 제목: 키에 대한 설명이 포함된 제목을 추가합니다.
SSH 공개 키: 공개 키 문자열을 붙여넣습니다. 공개 키 문자열을 가져오려면 텍스트 편집기에서 공개 키 파일 (
FILENAME.pub)을 열거나 다음 명령어 중 하나를 실행하세요.Linux 또는 macOS
cat ~/.ssh/FILENAME.pubWindows
cat $env:USERPROFILE\.ssh\FILENAME.pubFILENAME을 키 파일 이름으로 바꿉니다.
해당 저장소에 필요한 권한이 있는 경우 SSH 키를 사용하여 Secure Source Manager 저장소를 인증할 수 있습니다.
서비스 계정의 SSH 키 추가
저장소에 대한 프로그래매틱 액세스를 허용하려면 서비스 계정의 SSH 키를 추가하면 됩니다.
- 사용할 서비스 계정이 아직 없으면 서비스 계정을 만듭니다.
- Secure Source Manager 웹 인터페이스에서 옵션 더보기 메뉴를 클릭합니다.
- 서비스 계정 SSH 키를 클릭합니다. 서비스 계정 SSH 키 페이지가 열리고 추가한 기존 키 목록이 표시됩니다.
- 서비스 계정 SSH 키 페이지에서 키 추가를 클릭합니다.
서비스 계정 SSH 키 추가 페이지에서 키에 다음 값을 입력합니다.
- 제목: 키의 설명 제목
서비스 계정: SSH 키를 사용할 서비스 계정의 서비스 계정 이메일(
SA_NAME@PROJECT_ID.iam.gserviceaccount.com형식)WHERE
SA_NAME은 서비스 계정 이름입니다.PROJECT_ID는 서비스 계정이 생성된 프로젝트의 프로젝트 ID입니다.
SSH 공개 키: 공개 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)로 형식이 지정되어야 합니다.