사용자와 서비스 계정은 SSH 공개 키를 사용하여 Secure Source Manager 저장소에 인증할 수 있습니다. 이 페이지에서는 SSH 키 쌍을 생성한 후 Secure Source Manager 웹 인터페이스에서 인증 방법으로 추가하는 방법을 설명합니다.
Secure Source Manager는 RSA, ECDSA, Ed25519 SSH 키 유형을 지원합니다.
필요한 역할
SSH 공개 키를 사용하여 인증하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.
-
사용자의 SSH 키를 추가하려면
Secure Source Manager 인스턴스 접근자 (
roles/securesourcemanager.instanceAccessor) Secure Source Manager 인스턴스에 대한 역할을 부여합니다. -
서비스 계정의 SSH 키를 추가하려면 다음 역할을 부여합니다.
- Secure Source Manager 인스턴스에 대한 Secure Source Manager 인스턴스 관리자 (
roles/securesourcemanager.instanceManager) 역할 - 서비스 계정 사용자 (
roles/iam.serviceAccountUser) 서비스 계정에 대한 역할
- Secure Source Manager 인스턴스에 대한 Secure Source Manager 인스턴스 관리자 (
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이러한 사전 정의된 역할에는 SSH 공개 키를 사용하여 인증하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
SSH 공개 키를 사용하여 인증하려면 다음 권한이 필요합니다.
-
securesourcemanager.sshkeys.createAnySecure Source Manager 인스턴스에 대한 -
서비스 계정에 SSH 키를 할당하려면 서비스 계정에 대한
iam.serviceAccounts.actAs
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
Secure Source Manager 역할 부여에 대한 자세한 내용은 IAM으로 액세스 제어 및 사용자에게 인스턴스 액세스 권한 부여를 참조하세요.
키 쌍 생성
SSH 키 쌍은 로컬 시스템에 있는 비공개 키와 등록하는 공개 키로 구성됩니다 Google Cloud.
Linux 또는 macOS
명령 프롬프트에 다음 명령어를 입력합니다.
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 이상에 포함됨)와 Git for Windows 가 없는 경우 로컬 시스템에 설치합니다. 다음 안내에서는 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각 항목의 의미는 다음과 같습니다.
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)로 형식이 지정되어야 합니다.