美文网首页
minio使用google openAPI登陆

minio使用google openAPI登陆

作者: Goun | 来源:发表于2022-10-07 14:31 被阅读0次

    1.简介

    minio官方提供二种第三方登录接入方法:

    • OIDC: 所有支持open api v2的认证体系,例如 Okta、KeyCloak、Dex、Google 或 Facebook,用于用户身份的外部管理。
    • LDAP

    2.在google后台生成相关认证信息

    {
        "web":{
            "client_id":"123456",
            "project_id":"test",
            "auth_uri":"https://accounts.google.com/o/oauth2/auth",
            "token_uri":"https://oauth2.googleapis.com/token",
             "client_secret":"abcd123",
            "auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs",
            "redirect_uris":[
                "https://minio/oauth_callback"
            ],
            "javascript_origins":[
                "https://minio"
            ]
        }
    }
    

    3.安装minio

    这里使用helm安装到k8s中,安装方法就不列出。

    获取helm chart

    $ helm repo add bitnami https://charts.bitnami.com/bitnami
    $ helm fetch bitnami/minio --version 11.3.2
    

    修改values.yaml,配置相关参数信息

    extraEnvVars:
      - name: MINIO_IDENTITY_OPENID_CLIENT_ID
        value: "123456"
      - name: MINIO_IDENTITY_OPENID_CLIENT_SECRET
        value: "abcd123"
      - name: MINIO_IDENTITY_OPENID_REDIRECT_URI
        value: "https://minio/oauth_callback"
      - name: MINIO_IDENTITY_OPENID_SCOPES
        value: "openid,email,profile"
      - name: MINIO_IDENTITY_OPENID_CONFIG_URL
        value: "https://accounts.google.com/.well-known/openid-configuration"
      - name: MINIO_IDENTITY_OPENID_CLAIM_NAME
        value: email
    

    说明:

    4.创建默认策略

    策略文件:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "s3:*"
                ],
                "Resource": [
                    "arn:aws:s3:::test/**"
                ]
        ]
    }        
    

    创建策略

    $ mc admin policy add test abc@test.com minio-acces-policy.json
    

    5.打开Web界面,跳转到google auth,使用abc@test.com邮箱登陆,就会自动绑定上述策略。

    6.总结

    不足之处:

    • 当开启google openid登陆后,默认的admin user就无法登陆了
    • 因为google jwt返回的信息有限,导致默认策略只能以邮箱为单位,无法提前定义

    相关文章

      网友评论

          本文标题:minio使用google openAPI登陆

          本文链接:https://www.haomeiwen.com/subject/zdoiartx.html