Une interface utilisateur graphique pour MinIO
Navigateur d'objets | Tableau de bord | Création d'un compartiment |
---|---|---|
Table des matières
console
utilisateur à l'aide mc
console
avec un accès administrateur à toutes les ressources (pour les tests)console
MinIO Console est une bibliothèque qui fournit une superposition d'interface utilisateur de gestion et de navigateur pour le serveur MinIO. Le chemin d'installation binaire autonome a été supprimé.
Si un binaire autonome de console est nécessaire, il peut être généré en construisant ce package à partir des sources comme suit :
Vous aurez besoin d’un environnement Go fonctionnel. Par conséquent, veuillez suivre Comment installer Go. La version minimale requise est go1.22
go install github.com/minio/console/cmd/console@latest
Tout ce dont console
a besoin est un utilisateur MinIO avec des privilèges d'administrateur et une URL pointant vers votre déploiement MinIO.
Remarque : Nous vous déconseillons d'utiliser les informations d'identification de l'opérateur de MinIO.
console
utilisateur à l'aide mc
mc admin user add myminio/
Enter Access Key: console
Enter Secret Key: xxxxxxxx
console
avec un accès administrateur à toutes les ressources (pour les tests) cat > admin.json << EOF
{
"Version": "2012-10-17",
"Statement": [{
"Action": [
"admin:*"
],
"Effect": "Allow",
"Sid": ""
},
{
"Action": [
"s3:*"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::*"
],
"Sid": ""
}
]
}
EOF
mc admin policy create myminio/ consoleAdmin admin.json
console
mc admin policy attach myminio consoleAdmin --user=console
REMARQUE : De plus, vous pouvez créer des stratégies pour limiter les privilèges des autres utilisateurs
console
. Par exemple, si vous souhaitez que l'utilisateur ait uniquement accès au tableau de bord, aux compartiments, aux notifications et à la page de surveillance, la stratégie doit ressembler à ceci :
{
"Version" : " 2012-10-17 " ,
"Statement" : [
{
"Action" : [
" admin:ServerInfo "
],
"Effect" : " Allow " ,
"Sid" : " "
},
{
"Action" : [
" s3:ListenBucketNotification " ,
" s3:PutBucketNotification " ,
" s3:GetBucketNotification " ,
" s3:ListMultipartUploadParts " ,
" s3:ListBucketMultipartUploads " ,
" s3:ListBucket " ,
" s3:HeadBucket " ,
" s3:GetObject " ,
" s3:GetBucketLocation " ,
" s3:AbortMultipartUpload " ,
" s3:CreateBucket " ,
" s3:PutObject " ,
" s3:DeleteObject " ,
" s3:DeleteBucket " ,
" s3:PutBucketPolicy " ,
" s3:DeleteBucketPolicy " ,
" s3:GetBucketPolicy "
],
"Effect" : " Allow " ,
"Resource" : [
" arn:aws:s3:::* "
],
"Sid" : " "
}
]
}
Avant d'exécuter le service de console, les paramètres d'environnement suivants doivent être fournis
# Salt to encrypt JWT payload
export CONSOLE_PBKDF_PASSPHRASE=SECRET
# Required to encrypt JWT payload
export CONSOLE_PBKDF_SALT=SECRET
# MinIO Endpoint
export CONSOLE_MINIO_SERVER=http://localhost:9000
Démarrez maintenant le service de console.
./console server
2021-01-19 02:36:08.893735 I | 2021/01/19 02:36:08 server.go:129: Serving console at http://localhost:9090
Par défaut, console
s'exécute sur le port 9090
cela peut être modifié avec --port
de votre choix.
Copiez vos public.crt
et private.key
dans ~/.console/certs
, puis :
./console server
2021-01-19 02:36:08.893735 I | 2021/01/19 02:36:08 server.go:129: Serving console at http://[::]:9090
2021-01-19 02:36:08.893735 I | 2021/01/19 02:36:08 server.go:129: Serving console at https://[::]:9443
Pour les utilisateurs avancés, console
prend en charge plusieurs certificats pour servir les clients via plusieurs domaines.
La structure arborescente suivante est attendue pour prendre en charge plusieurs domaines :
certs/
│
├─ public.crt
├─ private.key
│
├─ example.com/
│ │
│ ├─ public.crt
│ └─ private.key
└─ foobar.org/
│
├─ public.crt
└─ private.key
...
Copiez le MinIO ca.crt
sous ~/.console/certs/CAs
, puis :
export CONSOLE_MINIO_SERVER=https://localhost:9000
./console server
Vous pouvez vérifier que les API fonctionnent en effectuant la requête sur localhost:9090/api/v1/...
Dans certains cas, il peut être pratique de consigner toutes les requêtes HTTP. Cela peut être activé en définissant la variable d'environnement CONSOLE_DEBUG_LOGLEVEL
sur l'une des valeurs suivantes :
0
(par défaut) n'utilise aucune journalisation.1
journal sur une seule ligne par demande pour les erreurs côté serveur (code d'état 5xx).2
journaux d'une seule ligne par requête pour les erreurs côté client et côté serveur (code d'état 4xx/5xx).3
journaux d'une seule ligne par requête pour toutes les requêtes (code d'état 4xx/5xx).4
détails de journal par demande pour les erreurs côté serveur (code d'état 5xx).5
détails de journal par demande pour les erreurs côté client et côté serveur (code d'état 4xx/5xx).6
détails de journal par demande pour toutes les demandes (code de statut 4xx/5xx).Une journalisation sur une seule ligne contient les informations suivantes :
La journalisation détaillée inclut également tous les en-têtes de demande et de réponse (le cas échéant).
Veuillez suivre le Guide du contributeur de la console