Para acceder a MinIO a través de la API de STS, podemos agregar un comando a mc como:
mc sts ENDPOINT <sts-type> <sts-specific-args>
para imprimir la clave de acceso, la clave secreta y el token de sesión.
Por ejemplo, para LDAP, esto podría ser:
mc sts ENDPOINT ldap ldapuser=myusername ldappasswd=yyy
Además de esto, podemos agregar un modo a mc para buscar y configurar los alias de MinIO / S3 con las API de STS.
Por ejemplo, con mc config sts ldap add ALIAS URL ldapuser=xx ldappasswd=yy
,
obtiene credenciales temporales a través de STS del servidor MinIO y luego configura el alias para usar las credenciales de acceso devueltas. Ahora el usuario puede hacer uso de otros comandos mc para acceder al servidor MinIO.
Lo que decidimos implementar fue idear este estilo.
mc sts ldap myminio ldap_url= ldapuser= ldappassword=
mc sts assume-role myminio username= password=
mc sts client-grants myminio client_url= client_id= client_secret=
mc sts web-identity myminio web_identity_url= (this will throw a login page by opening browser)
Ahora, esto generará "accessKey, secretKey, sessionToken" en formato json con el indicador --json o imprime las variables de entorno que los usuarios deben configurar para comenzar a usar los tokens de sesión, como con aws sdks
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN
Los mismos tokens que usará mc
no es necesario que los agreguemos en config
haciendo mc config host add
solo diga a los usuarios que aprovechen la variable de entorno.
export MC_HOST_mytemp=http://${accessKey}:${secretKey}@${url}/
export MC_HOST_SESSION_TOKEN_mytemp=${sessionToken}
mc ls mytemp
https://github.com/minio/minio/pull/8501 Se actualizó el ejemplo de identidad web @balamurugana
Aquí están los cambios CLI propuestos @balamurugana
mc sts ldap myminio ldap_username="bala" ldap_password="bala123"
mc sts assume-role myminio username="foo123" password="foo12345"
mc sts client-grants myminio token_endpoint= client_id= client_secret=
Cada uno de estos ejemplos ya está presente en el
La identidad web está actualmente diferida para el futuro porque requeriría un WebUI y un navegador interactivos, por lo que quizás no sea necesario en este momento.
y use los mc
envs para que esto funcione
export MC_HOST_mytemp=http://${accessKey}:${secretKey}@${url}/
export MC_HOST_SESSION_TOKEN_mytemp=${sessionToken}
mc ls mytemp
Estos son quizás ejemplos proporcionados por mc
CLI
Este problema se ha marcado automáticamente como obsoleto porque no ha tenido actividad reciente. Se cerrará después de 21 días si no se produce más actividad. Gracias por sus aportaciones.
no apoyaremos esto en mc