AWS - Federation Abuse
Last updated
Last updated
学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
有关 SAML 的信息,请查看:
为了通过 SAML 配置 身份联邦,您只需提供一个 名称 和包含所有 SAML 配置的 元数据 XML(端点,带有公钥的证书)
为了将 github action 添加为身份提供者:
对于 提供者类型,选择 OpenID Connect。
对于 提供者 URL,输入 https://token.actions.githubusercontent.com
点击 获取指纹 以获取提供者的指纹
对于 受众,输入 sts.amazonaws.com
创建一个具有 github action 所需的 权限 和信任提供者的 信任策略 的 新角色,如下所示:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::0123456789:oidc-provider/token.actions.githubusercontent.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "token.actions.githubusercontent.com:sub": [ "repo:ORG_OR_USER_NAME/REPOSITORY:pull_request", "repo:ORG_OR_USER_NAME/REPOSITORY:ref:refs/heads/main" ], "token.actions.githubusercontent.com:aud": "sts.amazonaws.com" } } } ] }
可以通过将集群的 OIDC URL 设置为 新的 Open ID 身份提供者 在 EKS 集群中生成 OIDC 提供者。这是一个常见的默认策略:
该策略正确地指示只有具有id 20C159CDF6F2349B68846BEC03BE031B
的EKS集群可以承担该角色。然而,它并没有指明哪个服务账户可以承担它,这意味着任何具有网络身份令牌的服务账户都将能够承担该角色。
为了指定哪个服务账户应该能够承担该角色,需要指定一个条件,其中指定服务账户名称,例如:
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)