AWS CodeCommiit에서 403으로 갑자기 응답할 때의 대응 방법

2777 단어 CodeCommitAWS
최근에 접할 기회가 있었는데 좀 빠져서 대처법을 정리했다.

현상.


OSX에서 AWS CodeCommit를 사용하면 지금까지 창고에 접근할 수 있었는데 갑자기 403이 돌아와 접근할 수 없었다.
구체적으로 이런 느낌의 잘못이다.아까 분명히 풀 나왔는데 왜?
$ git pull origin master
fatal: unable to access 'https://git-codecommit.us-east-1.amazonaws.com/v1/repos/awesome-app/': The requested URL returned error: 403

까닭


요컨대 열쇠사슬 접근에 저장된credential이 곧 만료되기 때문이다.
OSX에 미리 설치된 Giit는 Keychain Access를 사용하여 credential을 저장합니다.그러나 보안상의 이유로 CodeCommiit에 접근하기 위한 credential은 임시적이기 때문에 창고를 처음 방문할 때 저장된 credential은 약 15분 후에는 사용할 수 없다.

그럼 어떡하지?


세 가지 방법이 있다.

1. 키체인을 기본으로 사용하지 않는git 설치


brew 등을 사용하면 간단합니다.git가 두 개로 변하는 것을 허락할 수 있다면, 나는 이것이 가장 간단한 회피 방법이라고 생각한다.

2. Keychain Access의 설정을 변경하여 CodeCommiit를 사용할 때 credential을 사용하지 않도록 합니다.


먼저 Keychain을 열고 코드commiit 등으로 검색합니다.

그런 다음 항목을 마우스 오른쪽 버튼으로 클릭하여 정보를 표시하고 액세스 제어 탭을 선택합니다.
에서 단추를 사용하여git-credentila-osxkeychain을 삭제하고 변경 내용을 저장합니다.(사용자 암호가 필요합니다.)

그리고 창고로 돌아가 git pull origin master 등 창고를 방문해 보세요. 아래 대화상자가 팝업됩니다.

거기서 거부 버튼을 누르면 순조롭게 접근할 수 있다.
하지만 매번 방문을 거절하는 것은 정말 번거롭다...

3. ssh를 사용하여 액세스합니다.


창고에https가 아닌 ssh를 사용할 수도 있습니다.다만, IAM Role과 공개 키 등은 적절한 설정이 필요하다.
자세한 내용은 아래의 내용을 참조하시오.
http://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/setting-up-ssh-unixes.html

총결산


나는 가장 빠른 방법은 새로운git를 가입하는 것이라고 생각한다.
솔직히 AWS CodeCommiit를 충분히 활용하기에는 너무 부족한 것 같습니다.
하지만 앞으로 더 기대할 수 있다고 볼 수도 있다.
깃허브나 비트bucket 등git창고의 위탁관리로 후발이지만 그 기능과의 차이가 사라져 AWS와의 연합에 우세해지면 이용 기회가 늘어날 수 있다.
[참조]
http://docs.aws.amazon.com/codecommit/latest/userguide/troubleshooting.html#troubleshooting-macoshttps

좋은 웹페이지 즐겨찾기