Secure Source Manager는 모든 Git SCM 클라이언트 명령어를 지원하며 pull 요청 및 문제 추적이 내장되어 있습니다. HTTPS와 SSH 인증이 모두 지원됩니다.
필요한 역할
Git을 사용하여 Secure Source Manager 저장소와 상호작용하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.
-
Secure Source Manager 인스턴스 접근자 (
roles/securesourcemanager.instanceAccessor) Secure Source Manager 인스턴스 -
저장소를 클론하려면 저장소에 대한 Secure Source Manager 저장소 리더 (
roles/securesourcemanager.repoReader) 권한이 있어야 합니다. -
저장소에 푸시하려면 저장소에 대한 Secure Source Manager 저장소 작성자 (
roles/securesourcemanager.repoWriter) 권한이 있어야 합니다.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
Secure Source Manager 역할 부여에 대한 자세한 내용은 IAM으로 액세스 제어 및 사용자에게 인스턴스 액세스 권한 부여를 참고하세요.
Git 및 Google Cloud CLI 설치
Git을 설치합니다.
Git 설치 프로그램에서 사용자 인증 정보 도우미 선택을 묻는 메시지가 표시되면 없음 (사용자 인증 정보 도우미를 사용하지 않음)을 선택합니다.
HTTPS와 함께 Git을 사용하려면 gcloud CLI 버전
395.0.0이상이 필요합니다. 다음 명령어를 실행하여 gcloud CLI 버전을 확인합니다.gcloud --versiongcloud CLI를 업데이트하려면 다음 명령어를 실행합니다.
gcloud components update업데이트 후
gcloud init를 실행하여 gcloud CLI를 초기화합니다.자세한 내용은 구성요소 업데이트에 관한 gcloud CLI 문서를 참고하세요.
사용자 인증 정보 설정
서드 파티 ID 공급업체와 직원 ID 제휴를 사용하여 Secure Source Manager에 인증하는 경우 이 섹션을 완료할 필요가 없습니다. 대신 직원 ID 풀 로그인 구성을 만들어야 합니다.
다음 명령어를 실행하여 Secure Source Manager 인증 도우미를 전역 Git 구성에 추가합니다.
Linux
git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.sh
이전 버전의 Git에서는 와일드 카드를 지원하지 않을 수 있습니다. 와일드 카드 없이 인증 도우미를 추가하려면 다음 명령어를 실행합니다.
git config --global credential.'https://INSTANCE_ID-PROJECT_NUMBER-git.LOCATION.sourcemanager.dev'.helper gcloud.sh
다음을 바꿉니다.
Windows
git config --global credential.https://*.*.sourcemanager.dev.helper gcloud.cmd
이전 버전의 Git에서는 와일드 카드를 지원하지 않을 수 있습니다. 와일드 카드 없이 인증 도우미를 추가하려면 다음 명령어를 실행합니다.
git config --global credential.https://INSTANCE_ID-PROJECT_NUMBER-git.LOCATION.sourcemanager.dev.helper gcloud.cmd
다음을 바꿉니다.
인증 도우미는 Secure Source Manager와 함께 Git 명령어를 사용할 때 gcloud CLI를 사용하여Google Cloud 사용자 인증 정보를 가져옵니다.
초기 사용자 인증 정보 설정 후 다시 인증하려면 다음 gcloud CLI 명령어를 실행합니다.
gcloud auth login
서비스 계정을 사용하여 Compute Engine VM에서 인증
연결된 서비스 계정을 사용하여 Compute Engine 가상 머신 (VM)에서 인증할 수 있습니다.
VM 및 서비스 계정 구성
Compute Engine 기본 서비스 계정을 사용하는 경우 필요한 OAuth 범위로 VM을 만듭니다.
gcloud compute instances create VM_NAME \
--project=PROJECT_ID \
--zone=ZONE \
--scopes=openid,https://www.googleapis.com/auth/userinfo.profile,https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/cloud-platform
다음을 바꿉니다.
VM_NAME: VM의 이름입니다.PROJECT_ID: Google Cloud 프로젝트 ID입니다.ZONE: VM의 영역입니다.
커스텀 서비스 계정을 사용하는 경우 서비스 계정을 만든 다음 VM을 만듭니다.
서비스 계정을 만듭니다.
gcloud iam service-accounts create SA_NAME --project=PROJECT_IDSA_NAME을 서비스 계정 이름으로 바꿉니다.서비스 계정 사용 권한을 부여합니다. 서비스 계정으로 VM을 만들려면 서비스 계정에 대한 서비스 계정 사용자 역할(
roles/iam.serviceAccountUser)이 있어야 합니다. VM을 만드는 주 구성원에게 이 역할을 부여합니다.gcloud iam service-accounts add-iam-policy-binding SA_NAME@PROJECT_ID.iam.gserviceaccount.com \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountUser"USER_EMAIL을 VM을 만드는 사용자의 이메일로 바꿉니다.VM을 만듭니다.
gcloud compute instances create VM_NAME \ --project=PROJECT_ID \ --zone=ZONE \ --scopes=openid,https://www.googleapis.com/auth/userinfo.profile,https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/cloud-platform \ --service-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.com
서비스 계정에 IAM 역할 부여
서비스 계정에 Secure Source Manager 인스턴스 및 저장소에 대한 액세스 권한을 부여합니다.
인스턴스 액세스 권한 부여:
SA_EMAIL=$(gcloud compute instances describe VM_NAME --project=PROJECT_ID --zone=ZONE --format="get(serviceAccounts[0].email)") gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:$SA_EMAIL" \ --role=roles/securesourcemanager.instanceAccessor저장소 읽기 액세스 권한을 부여합니다.
특정 저장소에 대한 읽기 액세스 권한을 부여하려면 다음 명령어를 실행합니다.
gcloud ssm repos add-iam-policy-binding REPOSITORY_ID \ --instance=INSTANCE_ID \ --location=LOCATION \ --member="serviceAccount:$SA_EMAIL" \ --role=roles/securesourcemanager.repoReader다음을 바꿉니다.
REPOSITORY_ID: 저장소 ID입니다.INSTANCE_ID: Secure Source Manager 인스턴스 ID입니다.LOCATION: Secure Source Manager 인스턴스의 리전입니다.
쓰기 액세스 권한을 부여하려면
roles/securesourcemanager.repoWriter역할을 사용하세요.최소 권한의 원칙을 따르려면 저장소 수준에서 액세스 권한을 부여하는 것이 좋습니다. 프로젝트의 모든 저장소에 대한 액세스 권한을 부여해야 하는 경우 IAM으로 액세스 제어를 참고하세요.
IAM 권한이 전파되는 데 몇 분 정도 걸릴 수 있습니다.
VM에서 Git 구성
SSH를 사용하여 VM에 연결합니다.
gcloud compute ssh VM_NAME --project=PROJECT_ID --zone=ZONEVM에서 Git을 설치합니다.
sudo apt-get install gitVM에서 사용자 인증 정보 설정에 설명된 대로 Git 사용자 인증 정보 도우미를 구성합니다. 예를 들어 Linux에서는 다음을 실행합니다.
git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.sh
사용자 인증 정보 도우미를 구성하면 Git에서 VM의 서비스 계정의 애플리케이션 기본 사용자 인증 정보를 사용하여 Secure Source Manager에 인증합니다. 이제 저장소를 클론할 수 있습니다. 애플리케이션 기본 사용자 인증 정보로 인증하려면 HTTPS 저장소 URL을 사용해야 합니다.
직원 ID 풀 로그인 구성 만들기
서드 파티 ID 공급업체를 사용하여 직원 ID 제휴를 통해 Secure Source Manager에 인증하는 경우가 아니면 이 섹션을 완료하지 않아도 됩니다.
gcloud CLI 명령어 또는 Git 명령어를 사용하여 직원 ID 풀 사용자 인증 정보로 Secure Source Manager 인스턴스를 인증하려면 직원 ID 풀로 로그인 구성을 만들어야 합니다.
직원 ID 풀 로그인 구성을 만들려면 직원 ID 제휴를 위한 단기 토큰 가져오기의 안내에 따라 gcloud CLI로 브라우저 기반 로그인을 만드세요.
인증 후 Git 명령어를 사용하여 Secure Source Manager 인스턴스와 상호작용할 수 있습니다. 직원 ID 풀의 세션 기간이 만료되면 다시 인증해야 합니다.
저장소 클론
다음 명령어를 실행하여 저장소를 클론합니다.
git clone REPOSITORY_URL
여기서 REPOSITORY_URL은 클론할 저장소 페이지 상단에 표시되는 HTTPS 또는 SSH URL입니다.
기존 저장소를 Secure Source Manager로 푸시
푸시하려면 먼저 Secure Source Manager 저장소를 만들어 원격으로 사용해야 합니다.
기존 Git 저장소를 비어 있는 Secure Source Manager 저장소로 푸시하려면 Secure Source Manager 저장소를 원격으로 추가하고 푸시해야 합니다.
Secure Source Manager 저장소를 원격으로 설정하려면 다음 명령어를 실행합니다.
git remote add origin REPOSITORY_URL여기서
REPOSITORY_URL은 저장소 페이지 상단에 표시되는 HTTPS 또는 SSH URL입니다.저장소에 푸시하려면 다음 명령어를 실행합니다.
git push -u origin main
Git 소스 코드 관리에 관한 자세한 내용은 Git 문서를 참고하세요.
다음 단계
- Git 소스 코드 관리 자세히 알아보기
- 저장소 나열 및 보기