Um über die STS-API auf MinIO zuzugreifen, können wir mc einen Befehl hinzufügen, wie zum Beispiel:
mc sts ENDPOINT <sts-type> <sts-specific-args>
um Zugangsschlüssel, geheimen Schlüssel und Sitzungstoken auszudrucken.
Für LDAP könnte dies beispielsweise sein:
mc sts ENDPOINT ldap ldapuser=myusername ldappasswd=yyy
Darüber hinaus können wir mc einen Modus hinzufügen, um MinIO/S3-Aliasnamen mit STS-APIs abzurufen und zu konfigurieren.
Zum Beispiel mit mc config sts ldap add ALIAS URL ldapuser=xx ldappasswd=yy
,
ruft temporäre Zugangsdaten über STS vom MinIO-Server ab und konfiguriert dann den Alias, um die zurückgegebenen Zugangsdaten zu verwenden. Jetzt kann der Benutzer andere mc-Befehle verwenden, um auf den MinIO-Server zuzugreifen.
Für die Umsetzung haben wir uns entschieden, diesen Stil zu entwickeln
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)
Jetzt wird "accessKey, secretKey, sessionToken" in Json-Form mit dem Flag --json ausgegeben oder die Umgebungsvariablen ausgegeben, die Benutzer festlegen müssen, um die Sitzungstoken zu verwenden, z. B. mit aws sdks
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN
Dieselben Token, die von mc
wir nicht in config
hinzufügen, indem wir mc config host add
sondern nur die Benutzer anweisen, die Umgebungsvariable zu nutzen.
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 Web-Identity-Beispiel wird aktualisiert @balamurugana
Hier sind die vorgeschlagenen CLI-Änderungen @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=
Jedes dieser Beispiele ist bereits in der
Web-Identität wird derzeit auf die Zukunft verschoben, da sie eine interaktive WebUI und einen Browser erfordern würde, so dass sie derzeit möglicherweise nicht benötigt wird.
und verwenden Sie die mc
Umgebungen, damit dies funktioniert
export MC_HOST_mytemp=http://${accessKey}:${secretKey}@${url}/
export MC_HOST_SESSION_TOKEN_mytemp=${sessionToken}
mc ls mytemp
Dies sind vielleicht Beispiele, die von der mc
CLI . bereitgestellt werden
Dieses Problem wurde automatisch als veraltet markiert, da es in letzter Zeit keine Aktivität hatte. Es wird nach 21 Tagen geschlossen, wenn keine weitere Aktivität stattfindet. Vielen Dank für Ihre Beiträge.
wir werden dies in mc nicht unterstützen