* New translations install.md (French) docs(website): new translations * New translations kubernetes.md (French) docs(website): new translations * New translations kubernetes.md (French) docs(website): new translations * New translations kubernetes.md (French) docs(website): new translations * New translations kubernetes.md (French) docs(website): new translations * New translations plugins.md (French) docs(website): new translations * New translations plugins.md (French) docs(website): new translations * New translations plugins.md (French) docs(website): new translations * New translations notifications.md (French) docs(website): new translations * New translations notifications.md (French) docs(website): new translations * New translations packages.md (French) docs(website): new translations * New translations packages.md (French) docs(website): new translations * New translations packages.md (French) docs(website): new translations * New translations packages.md (French) docs(website): new translations * New translations packages.md (French) docs(website): new translations * New translations packages.md (French) docs(website): new translations * New translations packages.md (French) docs(website): new translations * New translations protect-your-dependencies.md (French) docs(website): new translations * New translations plugins.md (French) docs(website): new translations * New translations plugins.md (French) docs(website): new translations * New translations plugins.md (French) docs(website): new translations * New translations reverse-proxy.md (French) docs(website): new translations * New translations reverse-proxy.md (French) docs(website): new translations * New translations server.md (French) docs(website): new translations * New translations config.md (Serbian (Latin)) docs(website): new translations * New translations config.md (Serbian (Latin)) docs(website): new translations * New translations config.md (Serbian (Latin)) docs(website): new translations * New translations config.md (Serbian (Latin)) docs(website): new translations * New translations config.md (Serbian (Latin)) docs(website): new translations * New translations config.md (Serbian (Latin)) docs(website): new translations * New translations config.md (Serbian (Latin)) docs(website): new translations * New translations config.md (Serbian (Latin)) docs(website): new translations * New translations contributing.md (Serbian (Latin)) docs(website): new translations * New translations contributing.md (Serbian (Latin)) docs(website): new translations * New translations contributing.md (Serbian (Latin)) docs(website): new translations * New translations contributing.md (Serbian (Latin)) docs(website): new translations * New translations dev-plugins.md (Serbian (Latin)) docs(website): new translations * New translations dev-plugins.md (Serbian (Latin)) docs(website): new translations * New translations dev-plugins.md (Serbian (Latin)) docs(website): new translations * New translations dev-plugins.md (Serbian (Latin)) docs(website): new translations * New translations dev-plugins.md (Serbian (Latin)) docs(website): new translations * New translations dev-plugins.md (Serbian (Latin)) docs(website): new translations * New translations docker.md (Serbian (Latin)) docs(website): new translations * New translations docker.md (Serbian (Latin)) docs(website): new translations * New translations docker.md (Serbian (Latin)) docs(website): new translations * New translations docker.md (Serbian (Latin)) docs(website): new translations * New translations docker.md (Serbian (Latin)) docs(website): new translations * New translations docker.md (Serbian (Latin)) docs(website): new translations * New translations iis-server.md (Serbian (Latin)) docs(website): new translations * New translations iis-server.md (Serbian (Latin)) docs(website): new translations * New translations iis-server.md (Serbian (Latin)) docs(website): new translations * New translations install.md (Serbian (Latin)) docs(website): new translations * New translations install.md (Serbian (Latin)) docs(website): new translations * New translations kubernetes.md (Serbian (Latin)) docs(website): new translations * New translations kubernetes.md (Serbian (Latin)) docs(website): new translations * New translations packages.md (Serbian (Latin)) docs(website): new translations * New translations packages.md (Serbian (Latin)) docs(website): new translations * New translations packages.md (Serbian (Latin)) docs(website): new translations * New translations packages.md (Serbian (Latin)) docs(website): new translations * New translations plugins.md (Serbian (Latin)) docs(website): new translations * New translations plugins.md (Serbian (Latin)) docs(website): new translations * New translations plugins.md (Serbian (Latin)) docs(website): new translations * New translations plugins.md (Serbian (Latin)) docs(website): new translations * New translations plugins.md (Serbian (Latin)) docs(website): new translations * New translations test.md (Serbian (Latin)) docs(website): new translations * New translations logger.md (Serbian (Latin)) docs(website): new translations * New translations notifications.md (Serbian (Latin)) docs(website): new translations * New translations node-api.md (Serbian (Latin)) docs(website): new translations * New translations logo.md (Serbian (Latin)) docs(website): new translations * New translations notifications.md (Serbian (Latin)) docs(website): new translations * New translations web.md (Serbian (Latin)) docs(website): new translations * New translations puppet.md (Serbian (Latin)) docs(website): new translations * New translations plugins.md (French) docs(website): new translations * New translations plugins.md (French) docs(website): new translations * New translations plugins.md (French) docs(website): new translations * New translations plugins.md (French) docs(website): new translations * New translations logger.md (Serbian (Latin)) docs(website): new translations * New translations logo.md (Serbian (Latin)) docs(website): new translations * New translations logo.md (Serbian (Latin)) docs(website): new translations * New translations notifications.md (Serbian (Latin)) docs(website): new translations * New translations node-api.md (Serbian (Latin)) docs(website): new translations * New translations logo.md (Serbian (Latin)) docs(website): new translations * New translations notifications.md (Serbian (Latin)) docs(website): new translations * New translations notifications.md (Serbian (Latin)) docs(website): new translations * New translations protect-your-dependencies.md (Serbian (Latin)) docs(website): new translations * New translations repositories.md (Serbian (Latin)) docs(website): new translations * New translations puppet.md (Serbian (Latin)) docs(website): new translations * New translations reverse-proxy.md (Serbian (Latin)) docs(website): new translations * New translations server.md (Serbian (Latin)) docs(website): new translations * New translations server.md (Serbian (Latin)) docs(website): new translations * New translations server.md (Serbian (Latin)) docs(website): new translations * New translations server.md (Serbian (Latin)) docs(website): new translations * New translations ssl.md (Serbian (Latin)) docs(website): new translations * New translations reverse-proxy.md (Serbian (Latin)) docs(website): new translations * New translations ssl.md (Serbian (Latin)) docs(website): new translations * New translations test.md (Serbian (Latin)) docs(website): new translations * New translations plugins.md (French) docs(website): new translations * New translations test.md (Serbian (Latin)) docs(website): new translations * New translations use-cases.md (Serbian (Latin)) docs(website): new translations * New translations plugins.md (French) docs(website): new translations * New translations plugins.md (French) docs(website): new translations * New translations use-cases.md (Serbian (Latin)) docs(website): new translations * New translations use-cases.md (Serbian (Latin)) docs(website): new translations * New translations use-cases.md (Serbian (Latin)) docs(website): new translations * New translations use-cases.md (Serbian (Latin)) docs(website): new translations * New translations use-cases.md (Serbian (Latin)) docs(website): new translations * New translations use-cases.md (Serbian (Latin)) docs(website): new translations * New translations web.md (Serbian (Latin)) docs(website): new translations * New translations web.md (Serbian (Latin)) docs(website): new translations * New translations what-is-verdaccio.md (Serbian (Latin)) docs(website): new translations * New translations what-is-verdaccio.md (Serbian (Latin)) docs(website): new translations * New translations windows.md (Serbian (Latin)) docs(website): new translations * New translations what-is-verdaccio.md (Serbian (Latin)) docs(website): new translations * New translations windows.md (Serbian (Latin)) docs(website): new translations * New translations windows.md (Serbian (Latin)) docs(website): new translations * New translations en.json (Serbian (Latin)) docs(website): new translations * New translations en.json (Serbian (Latin)) docs(website): new translations * New translations en.json (Serbian (Latin)) docs(website): new translations * New translations plugins.md (French) docs(website): new translations * New translations protect-your-dependencies.md (French) docs(website): new translations * New translations protect-your-dependencies.md (French) docs(website): new translations * New translations repositories.md (French) docs(website): new translations * New translations reverse-proxy.md (French) docs(website): new translations * New translations reverse-proxy.md (French) docs(website): new translations * New translations server.md (French) docs(website): new translations * New translations test.md (French) docs(website): new translations * New translations test.md (French) docs(website): new translations * New translations uplinks.md (French) docs(website): new translations * New translations uplinks.md (French) docs(website): new translations * New translations uplinks.md (French) docs(website): new translations * New translations uplinks.md (French) docs(website): new translations * New translations uplinks.md (French) docs(website): new translations * New translations use-cases.md (French) docs(website): new translations * New translations server.md (French) docs(website): new translations * New translations use-cases.md (French) docs(website): new translations * New translations auth.md (Serbian (Latin)) docs(website): new translations * New translations auth.md (Serbian (Latin)) docs(website): new translations * New translations contributing.md (Serbian (Latin)) docs(website): new translations * New translations contributing.md (Serbian (Latin)) docs(website): new translations * New translations plugins.md (French) docs(website): new translations * New translations server.md (French) docs(website): new translations * New translations packages.md (French) docs(website): new translations * New translations auth.md (Serbian (Latin)) docs(website): new translations * New translations cli.md (Serbian (Latin)) docs(website): new translations * New translations ci.md (Serbian (Latin)) docs(website): new translations * New translations chef.md (Serbian (Latin)) docs(website): new translations * New translations contributing.md (Serbian (Latin)) docs(website): new translations * New translations dev-plugins.md (Serbian (Latin)) docs(website): new translations * New translations docker.md (Serbian (Latin)) docs(website): new translations * New translations iis-server.md (Serbian (Latin)) docs(website): new translations * New translations install.md (Serbian (Latin)) docs(website): new translations * New translations notifications.md (Serbian (Latin)) docs(website): new translations * New translations packages.md (Serbian (Latin)) docs(website): new translations * New translations plugins.md (Serbian (Latin)) docs(website): new translations * New translations server.md (Serbian (Latin)) docs(website): new translations * New translations ssl.md (Serbian (Latin)) docs(website): new translations * New translations test.md (Serbian (Latin)) docs(website): new translations * New translations uplinks.md (Serbian (Latin)) docs(website): new translations * New translations uplinks.md (Serbian (Latin)) docs(website): new translations * New translations use-cases.md (Serbian (Latin)) docs(website): new translations * New translations windows.md (Serbian (Latin)) docs(website): new translations * New translations server.md (French) docs(website): new translations * New translations use-cases.md (French) docs(website): new translations * New translations uplinks.md (French) docs(website): new translations * New translations use-cases.md (French) docs(website): new translations * New translations plugins.md (French) docs(website): new translations * New translations plugins.md (French) docs(website): new translations * New translations test.md (French) docs(website): new translations * New translations uplinks.md (French) docs(website): new translations
5.7 KiB
id | title |
---|---|
paquets | Paquet d'accès |
Il s'agit d'une série de restrictions qui permettent ou restreignent l'accès au stockage local en fonction de critères spécifiques.
Les restrictions de sécurité dépendent du plugin que vous utilisez. verdaccio
utilise par défaut le plugin htpasswd. Si vous utilisez un autre plugin, l'opération peut être différente. Le plugin par défaut ne gère pas directement allow_access
et allow_publish
, mais utilise une alternative interne au cas où le plugin ne serait pas prêt pour cela.
Pour plus d'informations sur les autorisations, consultez la section d'authentification du wiki.
Utilisation
packages:
# scoped packages
'@scope/*':
access: $all
publish: $all
proxy: server2
'private-*':
access: $all
publish: $all
proxy: uplink1
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
access: $all
publish: $all
proxy: uplink2
si rien n'est spécifié, le choix est par défaut
packages:
'**':
access: $all
publish: $authenticated
La liste des groupes valides selon les plugins par défaut sont
'$all', '$anonymous', '@all', '@anonymous', 'all', 'undefined', 'anonymous'
Tous les utilisateurs reçoivent tous ces groupes d'autorisations, qu'ils soient anonymes ou non, plus les groupes fournis par le plug-in. Dans le cas htpasswd
, rejetez le nom d'utilisateur en tant que groupe. Par exemple, si vous êtes connectés en tant que npmUser
, la liste des noms sera.
// groups without '$' are going to be deprecated eventually
'$all', '$anonymous', '@all', '@anonymous', 'all', 'undefined', 'anonymous', 'npmUser'
Si vous souhaitez protéger un ensemble spécifique de paquets au sein de votre groupe, vous devez procéder de la même manière. Utilisons un Regex
qui couvre tous les paquets avec le préfixe npmuser -
. Nous vous recommandons d'utiliser un préfixe pour vos paquets afin de faciliter leur protection.
packages:
'npmuser-*':
access: npmuser
publish: npmuser
Redémarrez verdaccio
et essayez d'installer npmuser-core
dans votre console.
$ npm install npmuser-core
npm install npmuser-core
npm ERR! code E403
npm ERR! 403 Forbidden: npmuser-core@latest
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/user/.npm/_logs/2017-07-02T12_20_14_834Z-debug.log
Vous pouvez changer le comportement existant en utilisant un autre plugin d'authentification. verdaccio
vérifie simplement si l'utilisateur qui a tenté d'accéder ou de publier un paquet spécifique appartient au groupe approprié.
Définir plusieurs groupes
Il est facile de définir plusieurs groupes d’accès, définissez-les juste avec un espace blanc entre eux.
'company-*':
access: admin internal
publish: admin
proxy: server1
'supersecret-*':
access: secret super-secret-area ultra-secret-area
publish: secret ultra-secret-area
proxy: server1
Bloquer l’accès à l’ensemble des paquets
Si vous souhaitez bloquer l’accès/publier à un groupe spécifique de paquets. alors ne définissez pas access
et publish
.
packages:
'old-*':
'**':
access: $all
publish: $authenticated
Bloquer la transmission d'un groupe de paquets spécifiques
Vous voudrez peut-être empêcher les registres distants d’atteindre un ou plusieurs paquets tout en autorisant les autres à accéder à différentes uplinks.
Voyons l’exemple suivant:
packages:
'jquery':
access: $all
publish: $all
'my-company-*':
access: $all
publish: $authenticated
'@my-local-scope/*':
access: $all
publish: $authenticated
'**':
access: $all
publish: $authenticated
proxy: npmjs
Décrivons ce que nous voulons avec l'exemple ci-dessus:
- Je souhaite héberger ma propre dépendance
jquery
mais je dois éviter de la transférer. - Je veux toutes les dépendances qui coïncident avec <
my-company - *
mais je dois éviter de les transférer. - Je veux toutes les dépendances qui se trouvent dans la portée
my-local-scope
, mais je dois éviter de les transférer. - Je veux transférer toutes les dépendances restantes.
N'oubliez pas l'importance de la commande de colis et utilisez toujours le double astérisque. Parce que si vous ne l'incluez pas, verdaccio
l'inclura à votre place et cela affectera la manière dont vos dépendances seront résolues.
Configuration
Vous pouvez définir mutiple packages
et chacun d’eux doit avoir un unique Regex
. La syntaxe est basée sur minimatch glob expressions.
Propriété | Type | Obligatoire | Exemple | Soutien | Description |
---|---|---|---|---|---|
accès | chaîne de caractères | Non | $all | tous | définir des groupes autorisés à accéder au package |
publier | chaîne | Non | $authenticated | tous | définir les groupes autorisés à publier |
proxy | chaîne de caractères | Non | npmjs | tous | limite la recherche d'un uplink spécifique |
stockage | booléenne | Non | [vrai,faux] | tous | TODO |
Nous vous signalons qu'il est déconseillé d'utiliser les **allow_access **/allow_publish et les proxy_access qui sont obsolètes et qui seront bientôt supprimés. version courte de chacun de ces éléments (acces/ publish/proxy).