Para acessar o MinIO por meio da API STS, podemos adicionar um comando ao mc, como:
mc sts ENDPOINT <sts-type> <sts-specific-args>
para imprimir a chave de acesso, a chave secreta e o token de sessão.
Por exemplo, para LDAP, pode ser:
mc sts ENDPOINT ldap ldapuser=myusername ldappasswd=yyy
Além disso, podemos adicionar um modo ao mc para buscar e configurar aliases de MinIO / S3 com APIs de STS.
Por exemplo, com mc config sts ldap add ALIAS URL ldapuser=xx ldappasswd=yy
,
obtém credenciais temporárias por meio de STS do servidor MinIO e, em seguida, configura o alias para usar as credenciais de acesso retornadas. Agora o usuário pode fazer uso de outros comandos mc para acessar o servidor MinIO.
O que decidimos implementar foi criar 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)
Agora, isso irá gerar "accessKey, secretKey, sessionToken" no formato json com sinalizador --json ou imprimir as variáveis de ambiente que os usuários precisam definir para começar a usar os tokens de sessão, como aws sdks
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN
Os mesmos tokens a serem usados por mc
não precisamos adicioná-los em config
fazendo mc config host add
mas apenas diga aos usuários para alavancar a variável de ambiente.
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 exemplo de identidade da web atualizado em @balamurugana
Aqui estão as alterações propostas de CLI @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 um desses exemplos já está presente no
a identidade da web está atualmente adiada para o futuro porque exigiria WebUI e navegador interativos, então talvez não seja necessário no momento.
e use os mc
envs para fazer este trabalho
export MC_HOST_mytemp=http://${accessKey}:${secretKey}@${url}/
export MC_HOST_SESSION_TOKEN_mytemp=${sessionToken}
mc ls mytemp
Este talvez seja um exemplo fornecido pela mc
CLI
Este problema foi marcado automaticamente como obsoleto porque não teve atividades recentes. Estará fechado após 21 dias se não houver mais atividades. Obrigado por suas contribuições.
não estaremos apoiando isso no mc