DEV/Git

[Git] Personal Access Token(PATs) 설정 및 사용하기 (with. PyCharm)

Back ground

최근에 Token Authentication issue 글을 포스팅하고 Git을 사용하는 환경에 변화를 주는게 좋다고 생각했다.

1. Exercism에 문제 푸는 Terminal로 사용하고 있는 Git CLI환경과

2. Terraform IDE로 사용중인 PyCharm에서 Github로 push하기 위해서는

기존 ID-PASSWORD 방식도 있지만, Persional Access Token(PATs)를 권고하고 있다. (기존의 ID-PASSWORD는 2021.08.13일에 deprecated된다.)

우선 Github docs에가서 PATs가 무엇인지, 어떻게 설정하는지 찾아보았다.


PATs?

Personal Access Token(PATs)은 OAuth token과 유사한 문자열로된 token이다. 특징으로 scope이라는 것을 통해 permission 제한하고, password와 유사하나 일회생성의 특징이 있다. (한번 생성하고 따로 저장하지 않으면, 다시 생성해야한다.)

예를 들어, PATs를 사용하여 저장소에 access하여 write할 수 있고(ex. git push), 환경 변수로 저장해서 매번 사용할때마다 typing하는 것을 줄일 수 있다.

  • PATs는 GitHub API와 CLI를 사용할때 password를 대신하여 인증할 수 있다.
  • SAML SSO를 사용하는 조직의 resource에 접근하기 위해 PAT를 사용시에는 PAT를 먼저 인증해야한다


Create PATs

1. e-mail 인증을 먼저 해야한다.

2. GitHub의 우측 상단 profile photo를 클릭하고, Settings를 클릭.

3. 좌측 sidebar - Developer settings

4. 좌측 sidebar - Personal access tokens

5. Generate new token

6. Token description name을 입력하고, Scopes를 설정한다. 일반적으로 repositories에 대한 접근은 repo만 체크하나, 특정 환경에서는 이상의 scope을 요구한다. (아래 PyCharm에서의 실습이 특정상황에서 scope을 보여준다.)

7. Generate token을 클릭하고나면, 생성된 token 우측에 📋를 클릭하여 token을 copy한다. 재사용이 불가능 하기때문에 Local에 저장해서 사용하거나 아니면 새롭게 regenerate하여 사용하면 된다. (환경 변수로 사용할 경우는 따로 저장해두는게 좋다고 생각.)




PyCharm에서 PATs 사용하기

1. PyCharm에서 Git을 연동하여 작업을 할 때, Push를 할때 다음과 같이 묻는다. (혹시 다음과 같은 창이 안뜬다면 기존 ID-Password로 된 설정을 지워야한다. Preferences - Version Control - Github - 등록되어 있는 계정 삭제)

2. Use Token...을 클릭하면 Github을 token을 통해서 로그인할 수 있는데, 여기서 몇가시 Scope 설정을 해주어야한다.
repo / admin:org의 read:org / gist

PyCharm에서 사용하기 위한 scope 설정

  1. 체크를 하고 token 부분에 생성된 PAT를 넣고 Log in하면 인증되면서 PyCharm에서 git push가 정상적으로 동작하게 된다.




Ref

Git Docs "Creating a Personal Token"

'DEV > Git' 카테고리의 다른 글

[Git] Token authentication requirements issue!  (0) 2020.12.18