Hi,

I read the "Cloud Bursting Galaxy" paper (https://doi.org/10.1101/506238). It 
helped a lot with my understanding, but I still have some basic questions about 
how to set up the AWS trust relationship. The paper has this example:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Federated": "accounts.google.com"
      },
      "Action": "sts:AssumeRoleWithWebIdentity",
      "Condition": {
        "StringEquals": {
          "accounts.google.com:aud": "8936...apps.googleusercontent.com"
        }
      }
    }
  ]
}

I think it means that Galaxy can assume the role for anyone who logs in to 
Galaxy with a Google account (because the id_token audience matches the Galaxy 
client_id registered with Google). Shouldn't the role be restricted to a 
specific set of Google accounts via a condition on "accounts.google.com:sub" or 
do we trust Galaxy to manage per-user access to that role?

To configure the role to accept CILogon/Custos/Keycloak id_tokens, 
https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_oidc.html
 makes me think we just replace "accounts.google.com:aud" with 
"cilogon.org:aud" or "iamdev.scigap.org:aud" following the 
"server.example.com:aud" pattern. Anyone want to help me test that scenario? Do 
I need a Galaxy install to test it, or could I just use 
https://github.com/galaxyproject/cloudauthz directly?

Thanks,
Jim

Reply via email to