Skip to main content

비밀

GitHub Actions 워크플로에서 사용되는 비밀에 대해 알아봅니다.

비밀에 대한 정보

비밀을 사용하면 중요한 정보를 조직, 리포지토리 또는 리포지토리 환경에 저장할 수 있습니다. 비밀은 조직, 리포지토리, 리포지토리 환경의 GitHub Actions 워크플로에서 사용하기 위해 만드는 변수입니다.

GitHub Actions는 워크플로에 비밀을 명시적으로 포함하는 경우에만 비밀을 읽을 수 있습니다.

조직 수준 비밀

조직 수준 비밀을 사용하면 여러 리포지토리 간에 비밀을 공유할 수 있으므로 중복 비밀을 만들 필요가 줄어듭니다. 또한 한 위치에서 조직 비밀을 업데이트하면 해당 비밀을 사용하는 모든 리포지토리 워크플로에서 변경 내용이 적용됩니다.

조직을 위한 비밀을 만들 때, 정책을 사용하여 리포지토리별로 액세스를 제한할 수 있습니다. 예를 들어 모든 리포지토리에 대한 액세스 권한을 부여하거나 프라이빗 리포지토리 또는 지정된 리포지토리 목록에 대해서만 액세스를 제한할 수 있습니다.

환경 비밀의 경우 필요한 검토자가 비밀에 대한 액세스를 제어하도록 설정할 수 있습니다. 승인자가 승인할 때까지 워크플로 작업이 환경 비밀에 액세스할 수 없습니다.

작업에 비밀을 사용할 수 있도록 하려면 워크플로 파일에서 비밀을 입력이나 환경 변수로 설정해야 합니다. 작업의 추가 정보 파일을 검토하여 작업에 예상되는 입력 및 환경 변수에 대해 알아봅니다. GitHub Actions에 대한 워크플로 구문을(를) 참조하세요.

자격 증명 권한 제한

자격 증명을 생성할 때 가능한 최소 권한을 부여하는 것이 좋습니다. 예를 들어 개인 자격 증명을 사용하는 대신 배포 키 또는 서비스 계정을 사용합니다. 필요한 모든 경우 읽기 전용 권한을 부여하고 가능한 한 액세스를 제한하는 것이 좋습니다.

personal access token (classic)을(를) 생성할 때 필요한 가장 적은 범위를 선택합니다. fine-grained personal access token을(를) 생성할 때 필요한 최소 권한 및 리포지토리 액세스를 선택합니다.

personal access token를 사용하는 대신 fine-grained personal access token와 유사하게 세분화된 권한과 짧은 수명의 토큰을 사용하는 GitHub App를 사용하는 것을 고려해 보세요. personal access token과 달리 GitHub App은 사용자와 연결되어 있지 않으므로 앱을 설치한 사용자가 조직을 떠나더라도 워크플로는 계속 작동합니다. 자세한 내용은 GitHub Actions 워크플로에서 GitHub 앱을 사용하여 인증된 API 요청 만들기을(를) 참조하세요.

자동으로 수정된 비밀

GitHub Actions은(는) 워크플로 로그에 인쇄되는 모든 GitHub 비밀의 내용을 자동으로 수정합니다.

GitHub Actions은(는) 중요한 것으로 인식되지만 비밀로 저장되지 않은 정보를 수정합니다. 자동으로 수정된 비밀 목록은 비밀 참조을(를) 참조하세요.

참고 항목

다른 유형의 중요한 정보가 자동으로 수정되도록 하려면 커뮤니티 토론에서 Microsoft에 문의하세요.

모범 사례에서는 ::add-mask::VALUE를 사용하여 GitHub 비밀이 아닌 모든 중요한 정보를 마스킹해야 합니다. 이렇게 하면 값이 비밀로 처리되고 로그에서 수정됩니다. 데이터 마스킹에 대한 자세한 내용은 GitHub Actions에 대한 워크플로 명령을(를) 참조하세요.

비밀 수정은 워크플로 실행기에서 수행됩니다. 즉, 비밀은 작업 내에서 사용되고 실행기에서 액세스할 수 있는 경우에만 수정됩니다. 수정되지 않은 비밀이 워크플로 실행 로그로 전송되는 경우 로그를 삭제하고 비밀을 회전해야 합니다. 사이트 삭제에 대한 자세한 내용은 Using workflow run logs을(를) 참조하세요.

추가 참고 자료