1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 你好,
我们在IAM中已经有一个可用的解决方案:https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_oidc.html
请注意:如果你在使用Google作为你的IdP,你就不需要在AWS中创建一个单独的IAM IdP,因为它已经内置在AWS中。
在上述链接页面中指出,你将创建你的IAM策略,并作为其中的信任策略。
然后,如果从Google登录,下面的示例信任策略将适用。在这个例子中,666777888999000代表谷歌分配的应用程序ID。
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "RoleForGoogle",
"Effect": "Allow",
"Principal": {"Federated": "accounts.google.com"},
"Action": "sts:AssumeRoleWithWebIdentity",
"Condition": {"StringEquals": {"accounts.google.com:aud": "666777888999000"}}
}]
}
流程可能会是这样的:
客户端-认证到-> Google IdP - 返回已认证的ID令牌至 - 客户端
客户端-使用ID令牌调用'sts AssumeRoleWithWebIdentity' - > AWS STS
AWS STS <--- 验证ID令牌与 ---> Google IdP
AWS STS --- 检查信任策略 ---> IAM角色
AWS STS --- 返回临时凭证至 - 客户端
客户端--访问服务--> AWS
最后,你必须在调用'AssumeRoleWithWebIdentity'时使用ID令牌-这不适用于Google访问令牌。
希望这有所帮助?
祝好,
Alex.