Isso funciona bem se você não estiver usando tokens de sessão, mas se estiver, falhará porque o mc não tem um local para aceitar o token de sessão.
~$ env | grep AWS
AWS_SECRET_ACCESS_KEY=Fxxxxxxxxxxxxxxx8
AWS_DEFAULT_REGION=us-east-1
AWS_SESSION_TOKEN=XxxxxxxxxY
AWS_ACCESS_KEY_ID=AxxxxxxxxxxxxxxxQ
~$ aws s3 ls
# .. s3 output follows, successfully ..
~$ mc config host add s3 https://s3.amazonaws.com \
$AWS_ACCESS_KEY_ID \
$AWS_SECRET_ACCESS_KEY
~$ mc ls s3
mc: <ERROR> Unable to list folder. The AWS Access Key Id you provided does not exist in our records.
~$ mc version
Version: 2017-10-14T00:51:16Z
Release-tag: RELEASE.2017-10-14T00-51-16Z
Commit-id: 785e14a725357b39e22b74483cd202e7effa6195
Sim, precisamos oferecer suporte a isso .. atualmente, apenas oferecemos suporte a chaves de longo prazo.
@TJC , vamos planejar isso para o futuro.
Vamos fechar isso e marcar isso no futuro. Reabrirá quando terminarmos com as prioridades atuais.
Você oferecerá suporte a esse recurso?
@deekoder Houve algum progresso nisso? Seria muito bom ter suporte para credenciais temporárias da AWS.
Infelizmente não há @varkey
Olá,
Eu adoraria esse recurso para nossa organização.
Alguma chance de ter algum progresso nisso?
Você aceitaria PR para isso se eu enviar um (não tenho certeza se posso lidar com isso ainda)?
Obrigado !
Sinta-se à vontade para enviar um PR que atualmente não estamos trabalhando neste recurso
mc
suporta tokens de sessão temporária se você estiver disposto a editar ~/.mc/config.json
diretamente ou usar as novas configurações de alias de ENV. O modelo de dados oferece suporte, simplesmente não há como definir o token por meio da linha de comando.
Eu fui vasculhar para ver como seria difícil adicionar e descobri que já existia no configV10
Você pode até gerar um arquivo temporário e carregá-lo com mc --config-dir
se precisar fazer um script.
Aparentemente, você também pode usar um novo modo ENV para definir aliases
Isso foi introduzido 4 meses atrás por @harshavardhana - obrigado por adicionar o suporte sessionToken
!
Aqui está meu arquivo de configuração, funciona muito bem.
{
"version": "10",
"aliases": {
"local": {
"url": "http://localhost:9000",
"accessKey": "CHANGE",
"secretKey": "CHANGE",
"sessionToken": "CHANGE",
"api": "s3v4",
"path": "auto"
}
}
}
Edit: Sim, descobri que enquanto você estava digitando.
Gambiarra
Não sei por que os mantenedores não mencionaram isso, mas
mc
suporta tokens de sessão temporária se você estiver disposto a editar~/.mc/config.json
diretamente. O modelo de dados oferece suporte, simplesmente não há como definir o token por meio da linha de comando.Eu fui vasculhar para ver como seria difícil adicionar e descobri que já existia no configV10
Você pode até gerar um arquivo temporário e carregá-lo com
mc --config-dir
se precisar fazer um script.Aqui está meu arquivo de configuração, funciona muito bem.
{ "version": "10", "aliases": { "local": { "url": "http://localhost:9000", "accessKey": "CHANGE", "secretKey": "CHANGE", "sessionToken": "CHANGE", "api": "s3v4", "path": "auto" } } }
Não há necessidade de modificar a configuração, isso não é recomendável; mencionamos isso abertamente nos documentos.
https://github.com/minio/mc/blob/master/docs/minio-client-complete-guide.md#specify -temporary-host-configuration-through-environment-variable
Não sei se por acaso você leu esta documentação.
Comentários muito úteis
Olá,
Eu adoraria esse recurso para nossa organização.
Alguma chance de ter algum progresso nisso?
Você aceitaria PR para isso se eu enviar um (não tenho certeza se posso lidar com isso ainda)?
Obrigado !