argo-cd: SSO with AWS' Identity Center does not work.
Checklist:
- I’ve searched in the docs and FAQ for my answer: https://bit.ly/argocd-faq.
 - I’ve included steps to reproduce the bug.
 -  I’ve pasted the output of 
argocd version. 
Describe the bug
We are trying to setup SSO with AWS’ IAM Identity Center and are facing the following error:
time="2023-07-25T12:56:02Z" level=info msg="finished unary call with code Unauthenticated" error="rpc error: code = Unauthenticated desc = no session information" grpc.code=Unauthenticated grpc.method=List grpc.service=cluster.ClusterService grpc.start_time="2023-07-25T12:56:02Z" grpc.time_ms=0.247 span.kind=server system=grpc
Unfortunately, there does not exist any documentation of successful attempts to use IAM Identity Center for SSO with ArgoCD. The Slack channel couldn’t help us either, so we rely on help here now. A similar issue (using OneLogin instead of IAM Identity Center) has been reported here: https://github.com/argoproj/argo-cd/issues/5450
To Reproduce
Current dex.config and rbac:
configs:
  cm:
    dex.config: |
      logger:
        level: debug
        format: json
      connectors:
      - type: saml
        id: saml
        name: saml
        config:
          ssoURL: https://portal.sso.eu-central-1.amazonaws.com/saml/assertion/xxx
          entityIssuer: https://xxx.amazonaws.com/api/dex/callback
          caData: |
            xxx
          usernameAttr: subject
          emailAttr: email
rbac:
    policy.csv: |
      g, myusername, role:admin,
    scopes: "[name]"
    policy.default: role:readonly
Expected behavior
Login via SAML is succesful.
Screenshots
Version
argocd: v2.7.9+0ee33e5.dirty
  BuildDate: 2023-07-24T18:26:31Z
  GitCommit: 0ee33e52dd1f1bb944488584fc6f854b929f1180
  GitTreeState: dirty
  GoVersion: go1.20.6
  Compiler: gc
  Platform: darwin/arm64
argocd-server: v2.7.9+0ee33e5.dirty
  BuildDate: 2023-07-24T18:26:31Z
  GitCommit: 0ee33e52dd1f1bb944488584fc6f854b929f1180
  GitTreeState: dirty
  GoVersion: go1.20.6
  Compiler: gc
  Platform: darwin/arm64
  Kustomize Version: v5.1.0 2023-06-19T16:53:36Z
  Helm Version: v3.12.2+g1e210a2
  Kubectl Version: v0.24.2
  Jsonnet Version: v0.19.1
Logs
time="2023-07-25T12:56:02Z" level=info msg="finished unary call with code Unauthenticated" error="rpc error: code = Unauthenticated desc = no session information" grpc.code=Unauthenticated grpc.method=List grpc.service=cluster.ClusterService grpc.start_time="2023-07-25T12:56:02Z" grpc.time_ms=0.247 span.kind=server system=grpc
About this issue
- Original URL
 - State: open
 - Created a year ago
 - Reactions: 4
 - Comments: 16 (6 by maintainers)
 
@nicl-dev we’ve make it work!
In AWS Identity Center configuration should be have the following attributes configured:
Application start URL - (optional): https://<ARGO_CD_DOMAIN>/auth/login?return_url=https%3A%2F%2F<ARGO_CD_DOMAIN>%2Fapplications
Application ACS URL: https://<ARGO_CD_DOMAIN>/api/dex/callback
Application SAML audience: https://<ARGO_CD_DOMAIN>/api/dex/callback
Our dex.config looks like:
I hope it helps to make this work.
In addition to @smeckert reply. You need to have proper attribute mapping in AWS Application:
Hi,
In addition to @patr00n and @smeckert If you want it to work on an AWS SSO group basis, this is working for me: :
Hi again @madclement
Sorry for the misunderstanding.
I assumed that I had used “Identity Center directory” as the identity source.
The Argocd documentation is for that case only. For all other cases change the attribute mapping and/or group id.