Skip to main content

해당 API 자격 증명 보안 유지

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

적절한 인증 방법 선택

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

  • 개인 용도로 personal access token API를 사용하려면 .
  • 조직이나 다른 사용자를 대신하여 API를 사용하려면 GitHub App을(를) 생성해야 합니다.
  • 워크플로에서 API를 GitHub Actions 사용하려면 기본 제공 GITHUB_TOKEN으로 인증해야 합니다.

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

자격 증명의 권한 제한

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

토큰은 토큰 소유자가 가지고 있는 리소스에 액세스하고 해당 리소스에 대한 작업을 수행하는 동일한 기능을 가지고 있으며, 토큰에 부여된 범위 또는 권한을 통해 추가로 제한됩니다. 토큰은 사용자에게 추가 액세스 기능을 부여할 수 없습니다.

생성할 GitHub App에 대해 GitHub App에서 필요로 하는 최소 사용 권한을 선택합니다. 자세한 내용은 GitHub 앱을 만들기 위한 모범 사례을(를) 참조하세요.

          GitHub Actions 워크플로에서 `GITHUB_TOKEN`으로 인증할 때, 필요한 최소 권한만 지정하십시오. 자세한 내용은 [AUTOTITLE](/actions/security-guides/automatic-token-authentication#modifying-the-permissions-for-the-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을 참조하세요.

다른 사용자의 personal access token가 GitHub 또는 다른 곳에 노출된 경우 REST API를 통해 해지 요청을 제출할 수 있습니다. 취소을(를) 참조하세요.

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

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

수정 계획 준비

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

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

손상된 자격 증명을 회전하는 방법에 대한 자세한 내용은 GitHub App을 참조하세요.

s를 만들고 삭제하는 방법에 대한 자세한 내용은 personal access token을 참조하세요.