* docs(website): new translation for logo.md in Korean * docs(website): new translation for logo.md in Polish * docs(website): new translation for logo.md in Portuguese * docs(website): new translation for logo.md in Russian * docs(website): new translation for logo.md in Serbian (Cyrillic) * docs(website): new translation for logo.md in Chinese Simplified * docs(website): new translation for logo.md in Chinese Traditional * docs(website): new translation for logo.md in Vietnamese * docs(website): new translation for logo.md in Galician * docs(website): new translation for logo.md in Portuguese, Brazilian * docs(website): new translation for logo.md in Hindi * docs(website): new translation for logger.md in Hindi * docs(website): new translation for logger.md in Galician * docs(website): new translation for linking.md in Chinese Simplified * docs(website): new translation for logger.md in Spanish * docs(website): new translation for linking.md in Chinese Traditional * docs(website): new translation for linking.md in Vietnamese * docs(website): new translation for linking.md in Galician * docs(website): new translation for amazon.md in French * docs(website): new translation for linking.md in Hindi * docs(website): new translation for linking.md in Filipino * docs(website): new translation for linking.md in Serbian (Latin) * docs(website): new translation for linking.md in Tajik * docs(website): new translation for linking.md in Yoruba * docs(website): new translation for logger.md in Romanian * docs(website): new translation for logger.md in French * docs(website): new translation for logger.md in Arabic * docs(website): new translation for logger.md in Vietnamese * docs(website): new translation for logger.md in Czech * docs(website): new translation for logger.md in German * docs(website): new translation for logger.md in Italian * docs(website): new translation for logger.md in Japanese * docs(website): new translation for logger.md in Korean * docs(website): new translation for logger.md in Polish * docs(website): new translation for logger.md in Portuguese * docs(website): new translation for logger.md in Russian * docs(website): new translation for logger.md in Serbian (Cyrillic) * docs(website): new translation for logger.md in Chinese Simplified * docs(website): new translation for logger.md in Chinese Traditional * docs(website): new translation for install.md in Arabic * docs(website): new translation for reverse-proxy.md in German * docs(website): new translation for repositories.md in Hindi * docs(website): new translation for repositories.md in Filipino * docs(website): new translation for repositories.md in Serbian (Latin) * docs(website): new translation for repositories.md in Tajik * docs(website): new translation for repositories.md in Yoruba * docs(website): new translation for reverse-proxy.md in Romanian * docs(website): new translation for reverse-proxy.md in French * docs(website): new translation for reverse-proxy.md in Spanish * docs(website): new translation for reverse-proxy.md in Arabic * docs(website): new translation for reverse-proxy.md in Czech * docs(website): new translation for reverse-proxy.md in Italian * docs(website): new translation for repositories.md in Galician * docs(website): new translation for reverse-proxy.md in Japanese * docs(website): new translation for reverse-proxy.md in Korean * docs(website): new translation for reverse-proxy.md in Polish * docs(website): new translation for reverse-proxy.md in Portuguese * docs(website): new translation for reverse-proxy.md in Russian * docs(website): new translation for reverse-proxy.md in Serbian (Cyrillic) * docs(website): new translation for reverse-proxy.md in Chinese Simplified * docs(website): new translation for reverse-proxy.md in Chinese Traditional * docs(website): new translation for reverse-proxy.md in Vietnamese * docs(website): new translation for reverse-proxy.md in Galician * docs(website): new translation for reverse-proxy.md in Portuguese, Brazilian * docs(website): new translation for repositories.md in Portuguese, Brazilian * docs(website): new translation for repositories.md in Vietnamese * docs(website): new translation for reverse-proxy.md in Filipino * docs(website): new translation for repositories.md in French * docs(website): new translation for puppet.md in Chinese Simplified * docs(website): new translation for puppet.md in Chinese Traditional * docs(website): new translation for puppet.md in Vietnamese * docs(website): new translation for puppet.md in Galician * docs(website): new translation for puppet.md in Portuguese, Brazilian * docs(website): new translation for puppet.md in Hindi * docs(website): new translation for puppet.md in Filipino * docs(website): new translation for puppet.md in Serbian (Latin) * docs(website): new translation for puppet.md in Tajik * docs(website): new translation for puppet.md in Yoruba * docs(website): new translation for repositories.md in Romanian * docs(website): new translation for repositories.md in Spanish * docs(website): new translation for repositories.md in Chinese Traditional * docs(website): new translation for repositories.md in Arabic * docs(website): new translation for repositories.md in Czech * docs(website): new translation for repositories.md in German * docs(website): new translation for repositories.md in Italian * docs(website): new translation for repositories.md in Japanese * docs(website): new translation for repositories.md in Korean * docs(website): new translation for repositories.md in Polish * docs(website): new translation for repositories.md in Portuguese * docs(website): new translation for repositories.md in Russian * docs(website): new translation for repositories.md in Serbian (Cyrillic) * docs(website): new translation for repositories.md in Chinese Simplified * docs(website): new translation for reverse-proxy.md in Hindi * docs(website): new translation for reverse-proxy.md in Serbian (Latin) * docs(website): new translation for puppet.md in Russian * docs(website): new translation for server.md in Chinese Traditional * docs(website): new translation for server.md in Czech * docs(website): new translation for server.md in German * docs(website): new translation for server.md in Italian * docs(website): new translation for server.md in Japanese * docs(website): new translation for server.md in Korean * docs(website): new translation for server.md in Polish * docs(website): new translation for server.md in Portuguese * docs(website): new translation for server.md in Russian * docs(website): new translation for server.md in Serbian (Cyrillic) * docs(website): new translation for server.md in Chinese Simplified * docs(website): new translation for server.md in Vietnamese * docs(website): new translation for server.md in Spanish * docs(website): new translation for server.md in Galician * docs(website): new translation for server.md in Portuguese, Brazilian * docs(website): new translation for server.md in Hindi * docs(website): new translation for server.md in Filipino * docs(website): new translation for server.md in Serbian (Latin) * docs(website): new translation for server.md in Tajik * docs(website): new translation for server.md in Yoruba * docs(website): new translation for ssl.md in Romanian * docs(website): new translation for ssl.md in French * docs(website): new translation for ssl.md in Spanish * docs(website): new translation for ssl.md in Arabic * docs(website): new translation for server.md in Arabic * docs(website): new translation for server.md in French * docs(website): new translation for reverse-proxy.md in Tajik * docs(website): new translation for reverse-proxy.md in Yoruba * docs(website): new translation for server.md in Romanian * docs(website): new translation for puppet.md in Serbian (Cyrillic) * docs(website): new translation for puppet.md in Portuguese * docs(website): new translation for plugins.md in French * docs(website): new translation for plugins.md in Romanian * docs(website): new translation for plugins.md in Spanish * docs(website): new translation for puppet.md in Polish * docs(website): new translation for protect-your-dependencies.md in Filipino * docs(website): new translation for protect-your-dependencies.md in Polish * docs(website): new translation for protect-your-dependencies.md in Portuguese * docs(website): new translation for protect-your-dependencies.md in Russian * docs(website): new translation for protect-your-dependencies.md in Serbian (Cyrillic) * docs(website): new translation for protect-your-dependencies.md in Chinese Simplified * docs(website): new translation for protect-your-dependencies.md in Chinese Traditional * docs(website): new translation for protect-your-dependencies.md in Vietnamese * docs(website): new translation for protect-your-dependencies.md in Galician * docs(website): new translation for protect-your-dependencies.md in Portuguese, Brazilian * docs(website): new translation for protect-your-dependencies.md in Hindi * docs(website): new translation for protect-your-dependencies.md in Serbian (Latin) * docs(website): new translation for protect-your-dependencies.md in Japanese * docs(website): new translation for protect-your-dependencies.md in Tajik * docs(website): new translation for protect-your-dependencies.md in Yoruba * docs(website): new translation for puppet.md in Romanian * docs(website): new translation for puppet.md in French * docs(website): new translation for puppet.md in Spanish * docs(website): new translation for puppet.md in Arabic * docs(website): new translation for puppet.md in Czech * docs(website): new translation for puppet.md in German * docs(website): new translation for puppet.md in Italian * docs(website): new translation for puppet.md in Japanese * docs(website): new translation for puppet.md in Korean * docs(website): new translation for protect-your-dependencies.md in Korean * docs(website): new translation for protect-your-dependencies.md in Italian * docs(website): new translation for plugins.md in Arabic * docs(website): new translation for plugins.md in Vietnamese * docs(website): new translation for plugins.md in Czech * docs(website): new translation for plugins.md in German * docs(website): new translation for plugins.md in Italian * docs(website): new translation for plugins.md in Japanese * docs(website): new translation for plugins.md in Korean * docs(website): new translation for plugins.md in Polish * docs(website): new translation for plugins.md in Portuguese * docs(website): new translation for plugins.md in Russian * docs(website): new translation for plugins.md in Serbian (Cyrillic) * docs(website): new translation for plugins.md in Chinese Simplified * docs(website): new translation for plugins.md in Chinese Traditional * docs(website): new translation for plugins.md in Galician * docs(website): new translation for protect-your-dependencies.md in German * docs(website): new translation for plugins.md in Portuguese, Brazilian * docs(website): new translation for plugins.md in Hindi * docs(website): new translation for plugins.md in Filipino * docs(website): new translation for plugins.md in Serbian (Latin) * docs(website): new translation for plugins.md in Tajik * docs(website): new translation for plugins.md in Yoruba * docs(website): new translation for protect-your-dependencies.md in Romanian * docs(website): new translation for protect-your-dependencies.md in French * docs(website): new translation for protect-your-dependencies.md in Spanish * docs(website): new translation for protect-your-dependencies.md in Arabic * docs(website): new translation for protect-your-dependencies.md in Czech * docs(website): new translation for install.md in Czech * docs(website): new translation for linking.md in Portuguese, Brazilian * docs(website): new translation for install.md in Spanish * docs(website): new translation for caching.md in Serbian (Cyrillic) * docs(website): new translation for caching.md in Spanish * docs(website): new translation for caching.md in Arabic * docs(website): new translation for caching.md in Czech * docs(website): new translation for caching.md in German * docs(website): new translation for caching.md in Italian * docs(website): new translation for caching.md in Japanese * docs(website): new translation for caching.md in Korean * docs(website): new translation for caching.md in Polish * docs(website): new translation for caching.md in Portuguese * docs(website): new translation for caching.md in Russian * docs(website): new translation for caching.md in Chinese Simplified * docs(website): new translation for caching.md in Romanian * docs(website): new translation for caching.md in Chinese Traditional * docs(website): new translation for caching.md in Vietnamese * docs(website): new translation for caching.md in Galician * docs(website): new translation for caching.md in Portuguese, Brazilian * docs(website): new translation for caching.md in Hindi * docs(website): new translation for caching.md in Filipino * docs(website): new translation for caching.md in Serbian (Latin) * docs(website): new translation for install.md in French * docs(website): new translation for caching.md in Yoruba * docs(website): new translation for chef.md in Romanian * docs(website): new translation for chef.md in French * docs(website): new translation for caching.md in French * docs(website): new translation for best-practices.md in Yoruba * docs(website): new translation for chef.md in Arabic * docs(website): new translation for best-practices.md in Korean * docs(website): new translation for best-practices.md in Romanian * docs(website): new translation for who-is-using.md in Russian * docs(website): new translation for windows.md in Serbian (Latin) * docs(website): new translation for windows.md in Tajik * docs(website): new translation for windows.md in Yoruba * docs(website): new translation for windows.md in Hindi * docs(website): new translation for en.json in Chinese Simplified * docs(website): new translation for windows.md in Filipino * docs(website): new translation for windows.md in Portuguese, Brazilian * docs(website): new translation for who-is-using.md in Serbian (Cyrillic) * docs(website): new translation for windows.md in Spanish * docs(website): new translation for who-is-using.md in Chinese Simplified * docs(website): new translation for who-is-using.md in Chinese Traditional * docs(website): new translation for who-is-using.md in Vietnamese * docs(website): new translation for who-is-using.md in Galician * docs(website): new translation for who-is-using.md in Portuguese, Brazilian * docs(website): new translation for who-is-using.md in Hindi * docs(website): new translation for who-is-using.md in Filipino * docs(website): new translation for who-is-using.md in Serbian (Latin) * docs(website): new translation for who-is-using.md in Tajik * docs(website): new translation for who-is-using.md in Yoruba * docs(website): new translation for windows.md in Romanian * docs(website): new translation for windows.md in French * docs(website): new translation for windows.md in Arabic * docs(website): new translation for windows.md in Galician * docs(website): new translation for windows.md in Czech * docs(website): new translation for windows.md in German * docs(website): new translation for windows.md in Italian * docs(website): new translation for windows.md in Japanese * docs(website): new translation for windows.md in Korean * docs(website): new translation for windows.md in Polish * docs(website): new translation for windows.md in Portuguese * docs(website): new translation for windows.md in Russian * docs(website): new translation for windows.md in Serbian (Cyrillic) * docs(website): new translation for windows.md in Chinese Simplified * docs(website): new translation for windows.md in Chinese Traditional * docs(website): new translation for windows.md in Vietnamese
7.9 KiB
id | title |
---|---|
packages | Accesso ai Pacchetti |
This is a series of constraints that allow or restrict access to the local storage based on specific criteria.
Le restrizioni di sicurezza dipendono dal plugin che si sta utilizzando, verdaccio
usa di default il plugin htpasswd. Se si usa un plugin differente il funzionamento potrebbe essere diverso. Il plugin predefinito non gestisce direttamente allow_access
e allow_publish
, ma utilizza un'alternativa interna nel caso in cui il plugin non sia pronto per questo.
Per ulteriori informazioni sui permessi, visita la sezione autenticazione nella wiki.
Utilizzo
packages:
# pacchetti con scope
'@scope/*':
access: $all
publish: $all
proxy: server2
'private-*':
access: $all
publish: $all
proxy: uplink1
'**':
# consenti a tutti gli utenti (inclusi quelli non autenticati) di leggere e
# pubblicare tutti i pacchetti
access: $all
publish: $all
proxy: uplink2
se non ne viene specificato nemmeno uno, rimane quello predefinito
packages:
'**':
access: $all
publish: $authenticated
Ecco l'elenco dei gruppi interni gestiti da verdaccio
:
'$all', '$anonymous', '@all', '@anonymous', 'all', 'undefined', 'anonymous'
Tutti gli utenti ricevono tutti questi gruppi di permessi indipendentemente dal fatto che siano anonimi o no, più i gruppi previsti dal plugin, nel caso htpasswd
respinga lo username come un gruppo. Per esempio, se si è loggati come npmUser
l'elenco dei nomi sarà.
// groups without '$' are going to be deprecated eventually
'$all', '$anonymous', '@all', '@anonymous', 'all', 'undefined', 'anonymous', 'npmUser'
Se si desidera proteggere un insieme specifico di pacchetti dentro al proprio gruppo, è necessario fare qualcosa simile a questo. Utilizziamo un Regex
che copra tutti i pacchetti con prefisso npmuser-
. Raccomandiamo di utilizzare un prefisso per i pacchetti, in modo che possa essere più semplice proteggerli.
packages:
'npmuser-*':
access: npmuser
publish: npmuser
Riavviare verdaccio
e provare ad installare npmuser-core
nella 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
È possibile modificare la condotta esistente utilizzando un plugin di autenticazione differente. verdaccio
verifica semplicemente che l'utente che ha provato ad accedere o pubblicare un pacchetto specifico appartenga al gruppo corretto.
Please note that if you set the access
permission of a package to something that requires Verdaccio to check your identity, for example $authenticated
, npm does not send your access key by default when fetching packages. This means all requests for downloading packages will be rejected as they are made anonymously even if you have logged in. To make npm include you access key with all requests, you should set the always-auth npm setting to true on any client machines. This can be accomplished by running:
$ npm config set always-auth=true
Definire gruppi multipli
Defining multiple access groups is fairly easy, just define them with a white space between them.
'company-*':
access: admin internal
publish: admin
proxy: server1
'supersecret-*':
access: secret super-secret-area ultra-secret-area
publish: secret ultra-secret-area
proxy: server1
Bloccare l'accesso a gruppi di pacchetti
If you want to block the access/publish to a specific group of packages. Just do not define access
and publish
.
packages:
'old-*':
'**':
access: $all
publish: $authenticated
Bloccare l'inoltro di un gruppo di pacchetti specifici
You might want to block one or several packages from fetching from remote repositories., but, at the same time, allow others to access different uplinks.
Let's see the following example:
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
Let's describe what we want with the above example:
- Desidero ospitare la mia dipendenza
jquery
ma ho necessità di evitare il suo inoltro. - Desidero tutte le dipendenze che coincidano con
my-company-*
ma ho necessità di evitare di inoltrarle. - Desidero tutte le dipendenze che si trovino nell'ambito
my-local-scope
ma ho necessità di evitare di inoltrarle. - Desidero l'inoltro per tutte le dipendenze rimanenti.
Be aware that the order of your packages definitions is important and always use double wilcard. Because if you do not include it verdaccio
will include it for you and the way that your dependencies are resolved will be affected.
Use multiple uplinks
You may assign multiple uplinks for use as a proxy to use in the case of failover, or where there may be other private registries in use.
'**':
access: $all
publish: $authenticated
proxy: npmjs uplink2
Rimozione di Pacchetti Pubblicati
The property publish
handle permissions for npm publish
and npm unpublish
. But, if you want to be more specific, you can use the property unpublish
in your package access section, for instance:
packages:
'jquery':
access: $all
publish: $all
unpublish: root
'my-company-*':
access: $all
publish: $authenticated
unpublish:
'@my-local-scope/*':
access: $all
publish: $authenticated
# unpublish: property commented out
'**':
access: $all
publish: $authenticated
proxy: npmjs
In the previous example, the behaviour would be described:
- tutti gli utenti possono pubblicare il pacchetto
jquery
, tuttavia solo l'utenteroot
potrebbe annullare la pubblicazione di ogni versione. - solo gli utenti autenticati possono pubblicare i pacchetti
my-company-*
, tuttavia nessuno sarebbe autorizzato ad annullare la loro pubblicazione. - Se
unpublish
è commentato, l'accesso verrà garantito o negato dalla definizione dipublish
.
Configurazione
You can define mutiple packages
and each of them must have an unique Regex
. The syntax is based on minimatch glob expressions.
Proprietà | Tipo | Richiesto | Esempio | Supporto | Descrizione |
---|---|---|---|---|---|
accesso | stringa | No | $all | tutti | definisce i gruppi autorizzati ad accedere al pacchetto |
pubblicazione | stringa | No | $authenticated | tutti | definisce i gruppi autorizzati a pubblicare |
proxy | stringa | No | npmjs | tutti | limita le ricerche di un uplink specifico |
archiviazione | stringa | No | stringa | /some-folder |
crea una sottocartella all'interno della cartella di archiviazione per ogni accesso ai pacchetti |
Vogliamo rimarcare che non raccomandiamo più l'utilizzo di allow_access/allow_publish e proxy_access che sono superati e saranno presto rimossi, si prega di utilizzare invece la versione breve di ognuna di queste (access/publish/proxy).
If you want more information about how to use the storage property, please refer to this comment.