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입니다.
Developer Connect로 클론
Developer Connect에 Secure Source Manager 저장소를 연결한 경우 Developer Connect Git 프록시를 사용하여 저장소를 클론할 수 있습니다. Developer Connect를 사용한 클론은 IAM을 사용하여 저장소 액세스를 인증하고 승인합니다.
시작하기 전에
- 안내에 따라 Developer Connect에서 Secure Source Manager 저장소에 연결합니다.
- Developer Connect 연결에서 Git 프록시가 사용 설정되어 있는지 확인합니다. Git 프록시를 사용 설정하는 방법은 Developer Connect 프록시 구성 및 사용을 참고하세요.
- 프록시 URI를 사용하여 클론해야 하는 주체에 Developer Connect의
GitRepositoryLink리소스에 대한roles/developerconnect.gitProxyReader역할을 부여합니다. 역할 부여에 관한 안내는 IAM을 사용한 Developer Connect 액세스 제어를 참고하세요.
Developer Connect 사용자 인증 정보 설정
다음 명령어를 실행하여 개발자 연결 인증 도우미를 전역 Git 구성에 추가합니다.
Linux
git config --global credential.'https://*.developerconnect.dev'.helper gcloud.sh
Windows
git config --global credential.https://*.developerconnect.dev.helper gcloud.cmd
프록시 URI를 사용하여 클론
Developer Connect 프록시 URI를 사용하여 저장소를 클론하려면 다음 명령어를 실행합니다.
git clone https://REGION-git.developerconnect.dev/v1/projects/PROJECT_ID/locations/REGION/connections/CONNECTION_ID/gitRepositoryLinks/LINK_ID
다음을 바꿉니다.
REGION: Developer Connect 리전입니다.PROJECT_ID: 개발자 연결 리소스의 프로젝트 ID입니다.CONNECTION_ID: Developer Connect 연결의 ID입니다.LINK_ID: Developer ConnectGitRepositoryLink리소스의 ID입니다.
GitRepositoryLink 리소스 세부정보를 보는 방법은 gcloud developer-connect connections git-repository-links를 참고하세요.
list 또는 describe 하위 명령어를 사용하여 링크 세부정보를 볼 수 있습니다.
기존 저장소를 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 소스 코드 관리 자세히 알아보기
- 저장소 나열 및 보기