AWS - Federation Abuse
SAML
有关 SAML 的信息,请查看:
要通过 SAML 配置身份联合,只需提供一个名称和包含所有 SAML 配置(端点、带有公钥的证书)的元数据 XML。
OIDC - Github Actions 滥用
要将 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 - EKS 滥用
可以通过将集群的OIDC URL设置为新的Open ID身份提供者,简单地在EKS集群中生成OIDC提供者。这是一种常见的默认策略:
这个策略正确地指示了只有具有ID 20C159CDF6F2349B68846BEC03BE031B
的EKS集群可以承担这个角色。然而,它没有指明哪个服务账号可以承担这个角色,这意味着任何具有Web身份令牌的服务账号都可以承担这个角色。
为了指定哪个服务账号可以承担这个角色,需要指定一个条件,其中指定了服务账号名称,例如:
参考资料
Last updated