이 페이지에서는 Secure Source Manager 관련 문제를 해결하는 방법을 보여줍니다.
저장소를 만들 때 오류 메시지
저장소를 만들려고 하면 다음 오류가 표시됩니다.
There was an error while loading /repo/create. Try refreshing the page.
이 문제는 다음과 같은 경우에 발생합니다.
- 프로젝트에서 Secure Source Manager API가 사용 설정되지 않았습니다.
- 프로젝트에 대한 저장소 관리자 역할 또는 Secure Source Manager 인스턴스에서 저장소를 만들 수 있는 권한이 없습니다.
이 문제를 해결하려면 다음 안내를 따르세요.
- 프로젝트에서 Secure Source Manager API를 사용 설정합니다.
- 관리자에게 다음 역할을 부여해 달라고 요청하세요.
- 프로젝트에 대한 저장소 관리자(
roles/securesourcemanager.repoAdmin) 역할 - Secure Source Manager 인스턴스에 대한 인스턴스 접근자(
roles/securesourcemanager.instanceAccessor) - Secure Source Manager 인스턴스에 대한 인스턴스 저장소 생성자(
roles/securesourcemanager.instanceRepositoryCreator)
- 프로젝트에 대한 저장소 관리자(
자세한 내용은 IAM으로 액세스 제어를 참조하세요.
Mac에서 저장소를 클론할 때 오류 메시지
저장소를 클론하려고 하면 다음 오류가 표시됩니다.
git: 'credential-gcloud.sh' is not a git command. See 'git --help'. fatal: Authentication failed for [repo-url]
이 문제는 다음과 같은 경우에 발생합니다.
- gcloud CLI가 Homebrew 또는 기타 비표준 설치를 사용하여 설치됩니다.
git-credential-gcloud.sh이 PATH에 추가되지 않았습니다.
이 문제를 해결하려면 다음 안내를 따르세요.
source $HOMEBREW_PREFIX/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc실행다음 명령어를 실행하여
git-credential-gcloud.sh가 경로에 있는지 확인합니다.which git-credential-gcloud.sh
'일치하는 항목 없음' 오류로 SSH 연결 실패
SSH를 통해 Git 작업을 시도하면 다음 오류 메시지 중 하나가 표시될 수 있습니다.
Unable to negotiate with <host> port <port>: no matching key exchange method found.Unable to negotiate with <host> port <port>: no matching cipher found.Unable to negotiate with <host> port <port>: no matching MAC found.
이 문제는 SSH 클라이언트가 Secure Source Manager에 필요한 암호화 알고리즘을 지원하지 않는 경우에 발생합니다. 이 문제는 이전 SSH 클라이언트를 사용 중이거나 클라이언트가 지원되는 알고리즘을 사용하도록 구성되지 않은 경우에 발생할 수 있습니다.
Secure Source Manager에는 다음 알고리즘 중 하나가 필요합니다.
- 키 교환 알고리즘:
curve25519-sha256,diffie-hellman-group14-sha256 - 암호:
chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com - MAC:
hmac-sha2-256-etm@openssh.com,hmac-sha2-256
이 문제를 해결하려면 SSH 클라이언트를 이러한 알고리즘을 지원하는 최신 버전으로 업데이트하세요.
Git HTTPS 요청이 권한 거부 또는 승인되지 않음 오류로 인해 실패함
HTTPS를 통해 Git 명령어를 시도하면 권한 거부 또는 승인되지 않음 오류 메시지가 표시됩니다.
이 문제는 다음 중 하나가 발생할 때 발생합니다.
- 전역 Git 구성 파일에 Secure Source Manager 인증 도우미가 없습니다.
- 새 사용자 인증 정보를 가져오기 위해 Secure Source Manager 인증 도우미를 호출하는 대신 Git의 기본 제공 사용자 인증 정보 저장소가 사용되고 있습니다.
- 새 사용자 인증 정보를 가져오기 위해 Secure Source Manager 인증 도우미를 호출하는 대신 시스템 사용자 인증 정보 도우미가 사용되고 있습니다.
- HTTPS를 사용하여 Secure Source Manager 저장소와 상호작용할 때 이전 버전의 Google Cloud CLI가 사용됩니다. Secure Source Manager에는 Google Cloud CLI 버전 395.0.0 이상이 필요합니다.
이 문제를 해결하려면 다음 안내를 따르세요.
다음 명령어를 실행하여 전역 Git 구성의 콘텐츠를 확인합니다.
git config --list | grep credentialmacOS에서
*credential*.helper=store와 유사한 줄이 표시되거나 Windows OS에서credential.helper = manager와 유사한 줄이 표시되면 해당 줄을 삭제한 후gcloud auth login를 사용하여 다시 인증한 후 Git 명령어를 다시 시도합니다.응답에 macOS 또는 Linux의
credential.https://*.*.sourcemanager.dev.helper=gcloud.sh또는 Windows의credential.https://*.*.sourcemanager.dev.helper=gcloud.cmd가 포함되지 않은 경우 Secure Source Manager 인증 도우미를 전역 Git 구성에 추가합니다.Linux
Secure Source Manager 인증 도우미를 전역 Git 구성에 추가하려면 다음 명령어를 실행합니다.
git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.sh다음 명령어를 실행하여 인증 도우미 줄이 전역 Git 구성에 추가되었는지 확인합니다.
git config --list | grep credential출력에는
credential.https://*.*.sourcemanager.dev.helper=gcloud.sh이 포함되어야 합니다.gcloud auth login을 실행하여 인증합니다.Git 명령어를 실행하여 인증을 테스트합니다.
Windows
- Git 및 Google Cloud CLI 설치 안내에 따라 gcloud CLI 버전을 확인합니다.
Secure Source Manager 인증 도우미를 전역 Git 구성에 추가하려면 다음 명령어를 실행합니다.
git config --global credential.https://*.*.sourcemanager.dev.helper gcloud.cmd다음 명령어를 실행하여 인증 도우미 줄이 전역 Git 구성에 추가되었는지 확인합니다.
git config --list | grep credential출력에는
credential.https://*.*.sourcemanager.dev.helper=gcloud.cmd이 포함되어야 합니다.gcloud auth login을 실행하여 인증합니다.Git 명령어를 실행하여 인증을 테스트합니다.
이전에 Git 호스트의 사용자 인증 정보를
gcloud.sh로 설정했지만'credential-gcloud.sh' is not a git command와 같은 오류가 발생하면 Git이 머신의PATH에서git-credential-gcloud.sh스크립트를 찾을 수 없음을 나타냅니다.PATH를 업데이트하거나 gitconfig 파일의gcloud.sh를 절대 경로로 바꿉니다.
잘못된 토큰으로 인해 Git HTTPS 요청이 실패함
Git HTTPS 작업의 비밀번호로 유효한 OAuth 토큰이 필요합니다. 이는 일반적으로 Git 사용자 인증 정보 도우미에서 처리하지만 다른 접근 방식(예: 애플리케이션 기본 사용자 인증 정보)을 사용하여 생성된 OAuth 토큰에서도 작동할 수 있습니다.
잘못된 토큰으로 인해 Git 요청이 거부되면 일반적으로 수신 토큰에서 사용자 정보를 추출할 수 없음을 의미합니다. 이 오류의 원인은 여러 가지가 있을 수 있습니다.
gcloud CLI 로그인이 만료되었을 수 있습니다.
gcloud auth login을 사용하여 다시 로그인합니다.토큰에 충분한 범위가 없습니다. OAuth 토큰에는 다음 범위가 있어야 합니다.
https://www.googleapis.com/auth/cloud-platformhttps://www.googleapis.com/auth/userinfo.email
curl https://oauth2.googleapis.com/tokeninfo?access_token=${TOKEN}를 호출하여 토큰 범위를 확인할 수 있습니다.GKE Fleet 워크로드 아이덴티티에서 생성된 토큰을 사용 중입니다.
- GKE Fleet 워크로드 아이덴티티에서 생성된 원시 토큰은 지원되지 않습니다. 자세한 내용은 GKE Fleet 워크로드 아이덴티티와 함께 KSA 토큰을 사용할 때 SSM에서 오류를 반환함을 참조하세요.
컨텍스트 인식 액세스와 같이 특정 경계 외부에서 토큰을 사용하지 못하도록 하는 조직 정책이 있습니다.
이 문제를 해결하려면
git_helper_use_adcgcloud CLI 구성 속성을true로 설정하고 애플리케이션 기본 사용자 인증 정보(ADC)를 업데이트합니다.애플리케이션 기본값을 사용하여 로그인합니다.
gcloud auth application-default logingit_helper_use_adc속성을 설정합니다.gcloud config set auth/git_helper_use_adc true
오래된 사용자 인증 정보로 인해 macOS에서 Git HTTPS 요청이 403 오류로 실패함
macOS에서 HTTPS를 통해 Git 작업을 수행할 때 403 오류가 발생할 수 있습니다.
이 문제는 오래된 토큰을 저장하고 동기화하여 gcloud CLI 인증 토큰을 방해할 수 있는 iCloud 키체인을 사용하는 경우 macOS에서 발생할 수 있습니다. 이러한 비활성 토큰은 gcloud auth login를 사용하여 다시 인증한 후에도 Secure Source Manager에서 인증 실패를 일으킬 수 있습니다.
이 문제를 해결하려면 키체인 접근에서 오래된 사용자 인증 정보를 수동으로 삭제하세요.
- Mac에서 키체인 접근 애플리케이션(
/Applications/Utilities/에 있음)을 엽니다. sourcemanager.dev을 검색합니다.- 항목을 마우스 오른쪽 버튼으로 클릭하고 삭제를 선택하여
*.*.sourcemanager.dev또는 Secure Source Manager 인스턴스 URL과 일치하는 '인터넷 비밀번호' 종류의 항목을 삭제합니다. - 항목을 삭제한 후 Git 작업을 다시 시도합니다. gcloud CLI로 다시 인증하라는 메시지가 표시될 수 있습니다. Git 작업이 계속 실패하면
gcloud auth login을 실행한 후 다시 시도하세요.
GKE Fleet 워크로드 아이덴티티와 함께 Kubernetes 서비스 계정(KSA) 토큰을 사용할 때 SSM에서 오류를 반환함
GKE Fleet 워크로드 아이덴티티를 사용하는 경우 Secure Source Manager에서 원시 KSA 토큰이 지원되지 않습니다. 이러한 토큰을 사용하면 오류가 발생합니다.
이 문제를 해결하려면 서비스 계정을 가장하고 워크로드를 Google 서비스 계정에 바인딩해야 합니다. 또한 KSA 구성에 다음 주석을 추가해야 합니다.
iam.gke.io/gcp-service-account: SERVICE_ACCOUNT@PROJECT_ID.
웹 인터페이스 제품 선택기에 프로젝트가 표시되지 않음
Secure Source Manager 웹 인터페이스 제품 선택기를 사용할 때 프로젝트가 표시되지 않습니다.
이 문제는 Secure Source Manager에 로그인 사용자 인증 정보가 여러 개 있는 경우에 발생합니다.
이 문제를 해결하려면 다음 안내를 따르세요.
Secure Source Manager 인스턴스 URL에 다음을 추가하여 쿠키를 삭제합니다.
/_oauth/consent예를 들어 인스턴스 URL이
https://my-instance-098765432123.us-central1.sourcemanager.dev/인 경우 브라우저 주소 표시줄에https://my-instance-098765432123.us-central1.sourcemanager.dev/_oauth/consent를 입력한 후 올바른 사용자 인증 정보로 로그인합니다.
트리거 파일이 빌드를 트리거하지 않음
트리거 파일을 제출한 후 빌드가 예상대로 트리거되지 않으면 다음 문제 중 하나가 발생할 수 있습니다.
- 트리거 파일이 기본 브랜치에 없습니다. 이 문제를 해결하려면 트리거 파일을 기본 브랜치로 이동하세요.
- 트리거 파일의 형식이 잘못되었습니다. 이 오류는 저장소 페이지에
Build triggers configuration error: ...라는 배너로 표시됩니다. 이 문제를 해결하려면 트리거 파일 스키마를 참고하세요. 트리거 파일 구성이 올바르면 저장소 페이지의 배너에Valid build triggers configuration가 표시됩니다.
빌드 트리거 구성 오류
triggers.yaml 파일을 Secure Source Manager 저장소에 제출하면 배너에 다음 오류가 표시됩니다.
Build cannot be created.
이 문제는 다음과 같은 이유로 발생합니다.
- Cloud Build 구성 파일에 잘못된 옵션 또는 형식이 있습니다.
- Secure Source Manager 서비스 에이전트에 저장소의 사용자 관리형 서비스 계정에 대한 서비스 계정 토큰 생성자 역할이 없습니다.
- 사용자 관리형 서비스 계정에 Cloud Build 서비스 계정에 대한 서비스 계정 사용자 역할이 없습니다.
- 사용자 관리 서비스 계정에 빌드가 실행되는 프로젝트에 대한 Cloud Build 편집자 역할이 없습니다.
- 조직 정책
iam.disableCrossProjectServiceAccountUsage에서 사용자 관리형 서비스 계정 사용을 차단합니다(서비스 계정이 다른 프로젝트에 있는 경우).
문제 해결 방법
- 올바른 트리거 파일 스키마를 따르고 있는지 확인합니다.
- 필요한 모든 역할이 부여되었는지 확인합니다. 필수 서비스 계정 역할을 참조하세요.
- 다른 프로젝트에서 사용자 관리형 서비스 계정을 사용하는 경우 서비스 계정을 호스팅하는 프로젝트에서 조직 정책
iam.disableCrossProjectServiceAccountUsage이 사용 중지되어 있는지 확인합니다.
실행 중에 빌드가 실패함
빌드가 성공적으로 트리거되었지만 실행 중에 실패하면 연결된 커밋의 커밋 상태가 실패입니다.
실패한 빌드를 해결하려면 저장소 페이지에서 실패한 커밋 상태 옆에 있는 세부정보를 클릭합니다.
Cloud Build 실행 로그가 열립니다. Cloud Build에서 빌드 문제 해결에 대한 자세한 내용은 빌드 오류 문제 해결을 참조하세요.
민감한 정보가 감지되어 Git 푸시가 거부됨
보안 비밀 스캔이 사용 설정된 저장소에 커밋을 푸시하면 다음과 유사한 오류 메시지와 함께 푸시가 실패합니다.
remote: Push rejected: Sensitive data detected.
이 문제는 보안 비밀 스캔 또는 커스텀 검사 템플릿이 커밋 기록에서 민감한 정보를 식별할 때 발생합니다.
이 문제를 해결하려면 다음 안내를 따르세요.
git reset --soft를 사용하여 문제가 있는 커밋을 되돌리고 민감한 정보를 삭제한 후 다시 커밋합니다.감지된 정보가 허용 가능하고 적절한 권한이 있는 경우
-o dlpskip=true푸시 옵션을 사용하여 검사를 우회합니다.git push -o dlpskip=true origin BRANCH_NAME
다시 만든 후 일일 할당량이 재설정되지 않음
Secure Source Manager 인스턴스를 삭제하고 당일 동일한 인스턴스 ID로 다시 만들면 보안 비밀 스캔에 대한 할당량 소진 또는 한도 도달 오류가 발생할 수 있습니다.
이 문제는 보안 비밀 스캔 할당량이 인스턴스 ID에 연결된 일일 비율 할당량이기 때문에 발생합니다. 같은 날에 동일한 ID로 인스턴스를 삭제하고 다시 만들면 할당량 사용량이 재설정되지 않습니다.
이 문제를 해결하려면 다음 중 하나를 수행하면 됩니다.
- 일일 할당량 사용량이 자동으로 0으로 재설정될 때까지 다음 날까지 기다립니다.
- 다른 고유한 인스턴스 ID를 사용하여 인스턴스를 다시 만듭니다.
- 보안 비밀 스캔을 일시적으로 건너뛰거나 할당량 상향 조정을 요청하세요. 자세한 내용은 사용 가능한 할당량 늘리기를 참조하세요.
저장소 서비스 계정을 구성하는 중에 오류가 발생했습니다.
사용자 관리형 서비스 계정으로 저장소를 만들거나 업데이트하려고 하면 다음 오류가 표시됩니다.
Permission denied on resource ...
이 문제는 저장소와 연결하려는 서비스 계정에 서비스 계정 사용자(roles/iam.serviceAccountUser) 역할이 없는 경우에 발생합니다. Secure Source Manager는 저장소와 연결하도록 허용하기 전에 서비스 계정으로 작업할 수 있는 권한이 있는지 확인합니다.
이 문제를 해결하려면 관리자에게 서비스 계정의 서비스 계정 사용자 역할을 부여해 달라고 요청하세요.