Skip to main content

해당 API 자격 증명 보안 유지

API 자격 증명 및 토큰을 안전하게 유지하려면 다음 모범 사례를 따릅니다.

적절한 인증 방법 선택

수행하려는 작업에 적합한 인증 방법을 선택해야 합니다.

  • 개인 용도로 API를 사용하기 위해 personal access token을(를) 만들 수 있습니다.
  • 조직 또는 다른 사용자를 대신하여 API를 사용하려면 GitHub App을(를) 만들어야 합니다.
  • GitHub Actions 워크플로에서 API를 사용하려면 기본 제공 GITHUB_TOKEN으로 인증해야 합니다.

자세한 내용은 "GitHub에 대한 인증 정보"을(를) 참조하세요.

자격 증명의 권한 제한

personal access token을(를) 만들 때 필요한 최소 사용 권한 또는 범위만 선택하고 토큰을 사용해야 하는 최소 시간 동안 만료 날짜를 설정합니다. GitHub에서는 personal access tokens (classic) 대신 fine-grained personal access token을(를) 사용하는 것이 좋습니다. 자세한 내용은 "개인용 액세스 토큰 관리"을(를) 참조하세요.

GitHub App을(를) 만들 때 GitHub App에 필요한 최소 권한을 선택합니다. 자세한 내용은 "GitHub App을 만드는 모범 사례"을(를) 참조하세요.

GitHub Actions 워크플로에서 GITHUB_TOKEN으로 인증하는 경우 필요한 최소 권한만 부여합니다. 자세한 내용은 "자동 토큰 인증"을(를) 참조하세요.

인증 자격 증명을 안전하게 저장

암호 또는 기타 중요한 자격 증명을 처리하는 방식과 동일한 방식으로 인증 자격 증명을 처리합니다.

  • 암호화되지 않은 메시징 또는 이메일 시스템을 사용하여 인증 자격 증명을 공유하지 마세요.
  • 명령줄에서 personal access token을(를) 일반 텍스트로 전달하지 마세요. 자세한 내용은 "개인용 액세스 토큰 관리"을(를) 참조하세요.
  • 리포지토리가 프라이빗인 경우에도 토큰 또는 키와 같은 암호화되지 않은 인증 자격 증명을 리포지토리에 푸시하지 마세요. 대신 GitHub Actions 비밀 또는 Codespaces 비밀을(를) 사용하는 것이 좋습니다. 자세한 내용은 "GitHub Actions에서 비밀 사용" 및 "GitHub Codespaces에 대한 계정별 비밀 관리"을 참조하세요.
  • 비밀 검색을 사용하여 리포지토리에 푸시된 토큰, 프라이빗 키 및 기타 비밀을 검색하거나 비밀을 포함하는 이후 푸시를 차단할 수 있습니다. 자세한 내용은 "비밀 검사 정보"을(를) 참조하세요.

인증 자격 증명에 액세스할 수 있는 사용자 제한

personal access token을(를) 다른 사용자와 공유하지 마세요. personal access token을(를) 공유하는 대신 GitHub App을(를) 만드는 것이 좋습니다. 자세한 내용은 "GitHub 앱 만들기 정보"을(를) 참조하세요.

팀과 자격 증명을 공유해야 하는 경우 자격 증명을 안전한 공유 시스템에 저장합니다. 예를 들어 1Password를 사용하여 암호를 안전하게 저장하고 공유하거나 Azure KeyVault에 키를 저장하고 IAM(ID 및 액세스 관리)을 사용하여 액세스를 관리할 수 있습니다.

API에 액세스해야 하는 GitHub Actions 워크플로를 만드는 경우 자격 증명을 암호화된 비밀에 저장하고 워크플로에서 암호화된 비밀에 액세스할 수 있습니다. 자세한 내용은 "GitHub Actions에서 비밀 사용" 및 "GitHub Actions 워크플로에서 GitHub 앱을 사용하여 인증된 API 요청 만들기"을 참조하세요.

코드에서 인증 자격 증명을 안전하게 사용

토큰, 키 또는 앱 관련 비밀과 같은 인증 자격 증명을 코드에 하드 코딩하지 마세요. 대신 Azure Key Vault 또는 HashiCorp Vault와 같은 비밀 관리자를 사용하는 것이 좋습니다. GitHub App 자격 증명 보안에 대한 자세한 내용은 “GitHub App을 만드는 모범 사례”을 참조하세요.

스크립트에서 personal access token을(를) 사용하는 경우 토큰을 GitHub Actions 비밀로 저장하고 GitHub Actions을(를) 통해 스크립트를 실행하는 것이 좋습니다. 토큰을 Codespaces 비밀로 저장하고 Codespaces에서 스크립트를 실행할 수도 있습니다. 자세한 내용은 "GitHub Actions에서 비밀 사용" 및 "GitHub Codespaces에 대한 계정별 비밀 관리"을(를) 참조하세요.

이러한 옵션을 사용할 수 없는 경우 인증 자격 증명을 .env 파일에 저장할 수 있습니다. .env 파일을 암호화하고 리포지토리에 푸시하지 마세요.

수정 계획 준비

보안 위반을 적시에 처리하는 계획을 만들어야 합니다. 토큰 또는 기타 인증 자격 증명이 유출된 경우 다음을 수행해야 합니다.

  • 자격 증명을 생성합니다.
  • 이전 자격 증명을 저장하거나 자격 증명에 액세스하는 모든 위치에서 새 자격 증명으로 바꿉니다.
  • 손상된 이전 자격 증명을 삭제합니다.

GitHub App의 손상된 자격 증명 교체에 대한 자세한 내용은 “GitHub App을 만드는 모범 사례”을 참조하세요.

personal access token을(를) 만들고 삭제하는 방법에 대한 자세한 내용은 "개인용 액세스 토큰 관리"을 참조하세요.