비공개 레지스트리에서 공개 npm 패키지를 호스팅해야 하는 이유
프로젝트에 사용하는 패키지 종속성을 관리하고 싶습니까? 공개 npm 레지스트리에 대한 의존도를 줄이시겠습니까? 아니면 보안 정책을 시행하시겠습니까? 그런 다음 계속 읽으십시오.
사용하는 패키지를 알고 관리하는 것이 좋습니다.
수백만 명의 개발자가 매일 공개 npm 레지스트리를 사용하며 150만 개가 넘는 패키지가 포함되어 있어 오픈 소스 패키지의 중요한 소스입니다.
그러나 공개 레지스트리 패키지의 편리함과 사용 가능한 모든 오픈 소스 패키지가 수반하는 개발 속도에는 단점이 있습니다. 이러한 모든 종속성을 추적하고 관리하는 것이 점점 더 어려워지고 있습니다.
외부 소스의 코드를 맹목적으로 신뢰하지 않으려면 사용자는 npm을 사용할 때 종속성과 전반적인 보안에 대한 제어를 개선하기 위한 조치를 취해야 합니다. 코드 공급망을 관리하려는 모든 조직에 필요합니다.
그리고 향상된 npm 보안을 위해 일반적으로 언급되는 첫 번째 항목 중 하나는 개인 npm 레지스트리를 사용하여 패키지를 호스팅하는 것입니다.
Bytesafe이 포함된 완전 관리형 비공개 npm 레지스트리
종속성 제어 - 어떻게?
개인 레지스트리가 더 나은 종속성 관리를 가능하게 하는 여러 가지 방법이 있습니다.
필요한 모든 패키지 버전을 위한 중앙 허브: 여러 업스트림 소스에서 개인 및 공용을 함께 사용할 수 있습니다.
종속성 식별 및 시각화: 필요한 모든 패키지를 한 곳에 모아 잠재적인 문제를 식별할 수 있습니다. 또한 프록시는 패키지를 캐시하므로 필수 패키지 버전이 향후 게시되지 않을 것이라는 걱정을 제거합니다.
단일 패키지 소스: 동일한 버전이 포함된 동일한 레지스트리를 사용하는 모든 개발자와 함께 모든 사용자가 일관되게 빌드하고 테스트하도록 보장할 수 있습니다. 다른 버전의 종속성을 무의식적으로 사용하는 잠재적인 문제를 제거합니다.
향상된 보안 — 어떻게?
개인 레지스트리를 프록시로 사용하면 조직과 외부 세계를 분리할 수 있습니다.
보안 검색: 알려진 취약점 및 보안 문제
보안 정책: 모든 패키지를 한 곳에서 사용하여 필요한 security policies을 시행할 수 있습니다.
라이선스 규정 준수: 모든 종속성을 한 곳에서 identify open source licenses and scan for problematic licenses
npm 패키지 보안에 관심이 있으십니까? 종속성 혼동 방지에 대한 내 관련 게시물을 읽어보세요.
npm 패키지 제어 및 종속성 혼동 방지
Andreas Sommarström ・ 2월 19일 ・ 4분 읽기
개인 레지스트리 설정 및 사용이 쉽습니다.
Bytesafe은 기본적으로 공용 npm 레지스트리를 프록시하는 데 사용할 수 있는 호스팅된 개인 npm 레지스트리를 제공합니다.
Bytesafe가 워크플로에 제공하는 모든 추가 이점은 물론 공용 npm 패키지에 대한 액세스를 허용합니다.
Bytesafe를 사용할 때 개발자는 (기본) 공용 레지스트리 대신 개인 레지스트리와 상호 작용하도록 npm 클라이언트를 구성합니다. 구성된 업스트림을 사용하면 비공개 레지스트리에서 사용할 수 없는 모든 패키지는 대신 업스트림 레지스트리에서 가져옵니다(예: 이 예의 registry.npmjs.org).
새 패키지를 레지스트리로 가져오기 전에 활성 보안 정책에 대해 검사하여 구성한 규칙을 위반하지 않는지 확인합니다.
# Authenticate to Bytesafe using the npm client
$ npm --registry https://example.bytesafe.dev/r/default/ login
Username: bytesafe
Password:
Email(this IS public): [email protected]
Logged in as bytesafe on https://example.bytesafe.dev/r/default/.
# Work with the regular tooling (but direct your requests to private registry)
$ npm --registry https://example.bytesafe.dev/r/default/ publish
...
npm 클라이언트가 더 이상 공용 레지스트리에 직접 연결되지 않으므로 다음과 같은 워크플로우가 발생합니다.
Developers - publish/install package versions to/from the Bytesafe private registry — no direct interactions with the public registry. No need to change any behavior or usage patterns.
Private registry - holds all public and private packages and any required dependencies. If a package version is required that is not in the proxy registry it is pulled from upstreams.
Upstreams registries - provides package versions (when required) and is the target for push of packages from private registry. Upstreams can be either a single registry or multiple registries.
요약
개인 npm 레지스트리를 설정하고 사용하는 것은 npm을 사용할 때 종속성을 확인하고 보안을 향상시키는 쉽고 효과적인 방법입니다.
개발자의 작업 흐름에 영향을 미치거나 변경하지 않고.
Bytesafe은 호스팅된 비공개, 신뢰할 수 있는 비공개 npm 레지스트리를 제공합니다. 그리고 개인 개발자는 무료로 사용할 수 있습니다(따라서 개발자가 필요하면 자유롭게 가입하세요.
개인 레지스트리). Bytesafe로 코드 공급망을 관리, 협업 및 보호하세요!
Reference
이 문제에 관하여(비공개 레지스트리에서 공개 npm 패키지를 호스팅해야 하는 이유), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sumstrm/why-you-should-host-public-npm-packages-in-a-private-registry-5h3k텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)