다음을 통해 공유


범위가 지정된 API 키

NuGet을 패키지 배포를 위한 보다 안전한 환경으로 만들기 위해 범위를 추가하여 API 키를 제어할 수 있습니다.

API 키에 범위를 제공하는 기능을 사용하면 API를 더 잘 제어할 수 있습니다. 당신은 할 수 있어요:

  • 만료 기간이 다양한 여러 패키지에 사용할 수 있는 범위가 지정된 여러 API 키를 만듭니다.
  • API 키를 안전하게 가져옵니다.
  • 기존 API 키를 편집하여 패키지 적용 가능성을 변경합니다.
  • 다른 키를 사용하는 작업을 방해하지 않고 기존 API 키를 새로 고치거나 삭제합니다.

범위가 지정된 API 키를 지원하는 이유는 무엇인가요?

더 세분화된 권한을 가질 수 있도록 API 키에 대한 범위를 지원합니다. 이전에 NuGet은 계정에 단일 API 키를 제공했으며 이러한 접근 방식에는 다음과 같은 몇 가지 단점이 있었습니다.

  • 모든 패키지를 제어하는 하나의 API 키입니다. 모든 패키지를 관리하는 데 사용되는 단일 API 키를 사용하면 여러 개발자가 다른 패키지와 관련되어 있고 게시자 계정을 공유할 때 키를 안전하게 공유하기가 어렵습니다.
  • 모든 사용 권한 또는 없음 API 키에 액세스할 수 있는 모든 사용자는 패키지에 대한 모든 권한(게시, 푸시 및 목록 해제)을 갖습니다. 여러 팀이 있는 환경에서는 바람직하지 않은 경우가 많습니다.
  • 단일 실패 지점입니다. 또한 단일 API 키는 단일 실패 지점을 의미합니다. 키가 손상된 경우 계정과 연결된 모든 패키지가 손상될 수 있습니다. API 키를 새로 고치는 것은 누출을 연결하고 CI/CD 워크플로의 중단을 방지하는 유일한 방법입니다. 또한 개인에 대한 API 키에 대한 액세스 권한을 취소하려는 경우가 있을 수 있습니다(예: 직원이 조직을 떠날 때). 오늘날에는 이 문제를 해결할 수 있는 깨끗한 방법이 없습니다.

범위가 지정된 API 키를 사용하면 기존 워크플로가 중단되지 않도록 하면서 이러한 문제를 해결하려고 합니다.

API 키 획득

  1. nuget.org 계정에 로그인 하거나 계정이 없는 경우 계정을 만듭니 다.

  2. 오른쪽 위에서 사용자 이름을 선택한 다음 , API 키를 선택합니다.

  3. 만들기를 선택하고 키의 이름을 입력합니다.

  4. 범위 선택에서 푸시를 선택합니다.

  5. 패키지 선택>글롭 패턴에서 *를 입력합니다.

  6. 선택하고생성합니다.

  7. 복사를 선택하여 새 키를 복사합니다.

    복사 링크가 있는 새 API 키를 보여 주는 스크린샷

중요합니다

  • 항상 API 키를 비밀로 유지합니다. API 키는 누구나 사용자를 대신하여 패키지를 관리할 수 있는 암호와 같습니다. 실수로 표시되는 경우 API 키를 삭제하거나 다시 생성합니다.
  • 나중에 키를 다시 복사할 수 없으므로 키를 안전한 위치에 저장합니다. API 키 페이지로 돌아가면 키를 다시 생성하여 복사해야 합니다. 패키지를 더 이상 푸시하지 않으려는 경우 API 키를 제거할 수도 있습니다.

범위 지정을 사용하면 다양한 용도로 별도의 API 키를 만들 수 있습니다. 각 키에는 만료 기간이 있으며 키 범위를 특정 패키지 또는 glob 패턴으로 지정할 수 있습니다. 또한 각 키의 범위를 특정 작업( 새 패키지 및 패키지 버전 푸시, 새 패키지 버전만 푸시 또는 목록 해제)으로 지정합니다.

범위 지정을 통해 조직의 패키지를 관리하는 다른 사용자에 대한 API 키를 만들어 필요한 권한만 가질 수 있습니다.

범위가 지정된 API 키 만들기

요구 사항에 따라 여러 API 키를 만들 수 있습니다. API 키는 하나 이상의 패키지에 적용되고, 특정 권한을 부여하는 다양한 범위를 가지며, 연결된 만료 날짜를 가질 수 있습니다.

다음 예제에서는 Contoso service CI이라는 이름의 API 키가 있으며, 이 키는 특정 Contoso.Service 패키지에 패키지를 푸시하는 데 사용할 수 있고 365일 동안 유효합니다. 이는 동일한 조직 내의 다른 팀이 서로 다른 패키지에서 작업하고 팀 구성원에게 작업 중인 패키지에 대해서만 권한을 부여하는 키를 제공하는 일반적인 시나리오입니다. 만료는 부실하거나 잊어버린 키를 방지하는 메커니즘으로 사용됩니다.

API 키 만들기

glob 패턴 사용

여러 패키지에서 작업 중이며 관리할 패키지 목록이 많은 경우 globbing 패턴을 사용하여 여러 패키지를 함께 선택하도록 선택할 수 있습니다. 예를 들어 ID가 시작되는 Fabrikam.Service모든 패키지의 키에 특정 범위를 부여하려는 경우 fabrikam.service.* 텍스트 상자에 지정하여 이 작업을 수행할 수 있습니다.

API 키 만들기 - 2

glob 패턴을 사용하여 API 키 권한을 확인하는 것은 glob 패턴과 일치하는 새 패키지에도 적용됩니다. 예를 들어 명명된 Fabrikam.Service.Framework새 패키지를 푸시하려고 하면 패키지가 glob 패턴 fabrikam.service.*과 일치하므로 이전에 만든 키를 사용하여 푸시할 수 있습니다.

안전하게 API 키 가져오기

보안을 위해 새로 만든 키는 화면에 표시되지 않으며 복사 단추를 사용하는 경우에만 사용할 수 있습니다. 마찬가지로 페이지를 새로 고친 후에는 키에 액세스할 수 없습니다.

API 키 만들기 - 3

기존 API 키 편집

키 자체를 변경하지 않고 키 권한 및 범위를 업데이트할 수도 있습니다. 단일 패키지에 대해 특정 범위의 키가 있는 경우 하나 이상의 다른 패키지에 동일한 범위를 적용하도록 선택할 수 있습니다.

API 키 만들기 - 4

기존 API 키 새로 고침 또는 삭제

계정 소유자는 키를 새로 고치도록 선택할 수 있습니다. 이 경우 권한(패키지에 대한), 범위 및 만료는 동일하게 유지되지만 이전 키를 사용할 수 없도록 새 키가 발급됩니다. 이는 부실 키를 관리하거나 API 키 누수 가능성이 있는 경우에 유용합니다.

API 키 만들기 - 5

더 이상 필요하지 않은 경우 이러한 키를 삭제하도록 선택할 수도 있습니다. 키를 삭제하면 키가 제거되고 키를 사용할 수 없게 됩니다.

자주 묻는 질문 (FAQ)

이전(레거시) API 키는 어떻게 되나요?

이전 API 키(레거시)는 계속 작동하며 원하는 만큼 작동할 수 있습니다. 그러나 패키지를 푸시하는 데 365일 이상 사용하지 않은 경우 이러한 키는 사용 중지됩니다. 자세한 내용은 만료되는 API 키에 대한 변경 내용 블로그 게시물을 참조하세요. 이 키를 더 이상 새로 고칠 수 없습니다. 대신 레거시 키를 삭제하고 범위가 지정된 새 키를 만들어야 합니다.

비고

이 키에는 모든 패키지에 대한 모든 권한이 있으며 만료되지 않습니다. 이 키를 삭제하고 범위가 지정된 권한과 명확한 만료를 사용하여 새 키를 만드는 것이 좋습니다.

만들 수 있는 API 키는 몇 개입니까?

만들 수 있는 API 키 수에는 제한이 없습니다. 그러나 관리 가능한 수로 유지하는 것이 좋습니다. 오래되거나 사용되지 않는 키가 많아져서 누가 어디에서 사용하고 있는지 모르는 경우를 방지합니다.

레거시 API 키를 삭제하거나 지금 사용을 중단할 수 있나요?

예. 레거시 API 키를 삭제할 수 있습니다.

실수로 삭제한 API 키를 다시 가져올 수 있나요?

아니요. 삭제된 후에는 새 키만 만들 수 있습니다. 실수로 삭제된 키는 복구할 수 없습니다.

이전 API 키가 API 키 새로 고침 시 계속 작동하나요?

아니요. 키를 새로 고치면 이전 키와 동일한 범위, 권한 및 만료가 있는 새 키가 생성됩니다. 이전 키가 더 이상 존재하지 않습니다.

기존 API 키에 더 많은 권한을 부여할 수 있나요?

범위를 수정할 수는 없지만 적용 가능한 패키지 목록을 편집할 수 있습니다.

내 키가 만료되었거나 만료되었는지 어떻게 알 수 있나요?

키가 만료되면 페이지 맨 위에 있는 경고 메시지를 통해 알려드리겠습니다. 또한 키 만료 10일 전에 계정 소유자에게 경고 전자 메일을 보내 미리 작업을 수행할 수 있습니다.