Pular para o conteúdo principal

MinIO

MinIO suporta gerenciamento de identidade externo usando um provedor compatível com OpenID Connect (OIDC). Este documento abrange a configuração do Casdoor como um provedor de identidade para suportar o MinIO.

Passo 1: Implementar Casdoor & MinIO

Primeiro, implemente o Casdoor.

Você pode consultar a documentação oficial do Casdoor para Instalação do Servidor.

Após uma implementação bem-sucedida, certifique-se de que:

  • O servidor Casdoor está em execução em http://localhost:8000.
  • Abra seu navegador favorito e visite http://localhost:7001 para ver a página de login do Casdoor.
  • Teste a funcionalidade de login inserindo admin e 123.

Em seguida, você pode implementar rapidamente uma página de login baseada no Casdoor em seu próprio aplicativo seguindo estes passos.

Você pode consultar aqui para implementar seu servidor MinIO e aqui para o cliente MinIO chamado mc.

Passo 2: Configurar Aplicação Casdoor

  1. Crie uma nova aplicação Casdoor ou use uma existente.

  2. Adicione sua URL de redirecionamento.Configuração da Aplicação Casdoor

  3. Adicione o provedor que deseja e forneça as configurações necessárias.

    Na página de configurações da aplicação, você encontrará dois valores: Client ID e Client secret (como mostrado na imagem acima). Usaremos esses valores na próxima etapa.

    Abra seu navegador favorito e visite: http://CASDOOR_HOSTNAME/.well-known/openid-configuration para ver a configuração OIDC do Casdoor.

  4. Este passo é necessário para o MinIO. Como o MinIO precisa usar um atributo de claim no JWT para sua política, você também deve configurá-lo no Casdoor. Atualmente, o Casdoor usa tag como uma solução alternativa para configurar a política do MinIO.

    Configuração de Política do MinIO

    Você pode encontrar todas as políticas suportadas aqui.

Passo 3: Configurar MinIO

Você pode iniciar um servidor MinIO usando os seguintes comandos:

export MINIO_ROOT_USER=minio
export MINIO_ROOT_PASSWORD=minio123
minio server /mnt/export

Você pode usar o parâmetro --console-address para configurar o endereço e a porta.

Em seguida, adicione um alias de serviço usando o cliente MinIO mc.

mc alias set myminio <Seu endereço de console> minio minio123

Agora, configure o OpenID Connect do MinIO. Para o Casdoor, o comando será:

mc admin config set myminio identity_openid config_url="http://CASDOOR_HOSTNAME/.well-known/openid-configuration" client_id=<client id> client_secret=<client secret> claim_name="tag"

Você pode consultar o documento oficial para parâmetros mais detalhados.

Uma vez configurado com sucesso, reinicie a instância do MinIO.

mc admin service restart myminio

Passo 4: Experimente a demonstração!

Agora, abra o console MinIO no navegador e clique em Login with SSO.

Você será redirecionado para a página de login do usuário Casdoor. Após um login bem-sucedido, você será redirecionado para a página do MinIO e logado automaticamente. Você agora deve ver os buckets e objetos aos quais tem acesso.

cuidado

Se você implementar a interface e o backend do Casdoor em portas diferentes, a página de login para a qual você é redirecionado estará na porta do backend e exibirá 404 not found. Você pode modificar a porta para a da interface. Então você pode acessar a página de login do Casdoor com sucesso.