Mình đã có 1 số bài hướng dẫn login vào UI của spinnaker, kiali bằng Google account.
Nếu công ty bạn sài AWS thì có 1 ứng cử viên sáng giá đó là Cognito.
Việc đầu tiên switch sang UI cũ cho dễ tạo.
1) Creating User Pool in Cognito
new version:
>>>>>>>>>>>>>>>>>
Don’t Generate client secret
Generate client secret
Mình có thử chọn email và openid mà không chọn profile thì bị lỗi bên dưới, khi đọc lỗi của
argocd-dex-server
Failed to authenticate: invalid_request: invalid_scope”
2) Configuring argocd to integrate with cognito.
Đầu tiên bạn sửa configmap là argocd-cm
issuer: ‘https://cognito-idp.<region_name>.amazonaws.com/<Pool Id>’
clientID: lấy ở App Clients
clientSecret: lấy ở App Clients
Có một vài trường hợp mình đọc thì họ bảo nên để url: ‘https://<domain of argocd>’ thì nó mới work
apiVersion: v1 data: ###add this dex.config: | logger: level: debug format: json connectors: - config: issuer: 'https://cognito-idp.us-east-1.amazonaws.com/us-east-1_ROG4Nb6I6' clientID: '4mrs14u792jkipmc3XXXXXX' clientSecret: '6lvas8knjs07ugu8ciu9u0ca832XXXXXXXfvi6l8g2f3' type: oidc id: cognito name: Cognito url: 'https://argocd.nimtechnology.com' ################################### kind: ConfigMap metadata: labels: app.kubernetes.io/instance: argocd app.kubernetes.io/name: argocd-cm app.kubernetes.io/part-of: argocd name: argocd-cm namespace: argocd
sau khi config authen giờ config author trong config map: argocd-rbac-cm
apiVersion: v1 data: policy.default: 'role:readonly' kind: ConfigMap metadata: labels: app.kubernetes.io/instance: argocd app.kubernetes.io/name: argocd-rbac-cm app.kubernetes.io/part-of: argocd name: argocd-rbac-cm namespace: argocd
3) Demo – Login argocd via cognito
Giờ bạn thực hiện truy cập vào argocd thông qua web site.
Chữ login via Cognito hình như là do mình đặt name trong config authen là Cognito nên có chữ đó.
Bạn có thể tuy chỉnh nhé
Login này có thể Sign up vì là mình đã cho phép người dùng đăng ký.
Sign up on Cognito through UI login
Creating User on Cognito
Nếu bạn để username không giống với email sẽ bị lỗi:
Username should be an email. (Service: AWSCognitoIdentityProviderService; Status Code: 400; Error Code: InvalidParameterException; Request ID: XXXXX–XXX-XXXX; Proxy: null)
Ngoài ra argocd còn tương tác với sso aws:
https://blog.sakamo.dev/post/argocd-aws-sso/
Problem
After Login via Cognito, Argocd always returns the login page.
Sau khi bạn đang có sign up và account của bạn đã được confirmed trên cognito. Bạn thực hiện qua cognito nhưng không thể đi vào home page và chỉ return về màn hình login thì bạn thứ restart các deployment sau: argocd-dex-server nếu không được thì restart argocd-server
Very clear with great insights.
Thanks!
I’m very happy when I see your comment.
Thank you so much!