Mc: [Proposta] Suporte para acesso baseado em STS para MinIO

Criado em 14 set. 2019  ·  5Comentários  ·  Fonte: minio/mc

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.

medium stale

Todos 5 comentários

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

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

accaldwell picture accaldwell  ·  5Comentários

zllovesuki picture zllovesuki  ·  19Comentários

silvernode picture silvernode  ·  8Comentários

philipkozeny picture philipkozeny  ·  9Comentários

tru2dagame picture tru2dagame  ·  6Comentários