【发布时间】:2020-11-08 04:40:03
【问题描述】:
是否可以承担与 Cognito 用户池 cognito-user-pool1 中 cognito 用户 cognito-user1 的 Cognito 组 cognito-group1 关联的 IAM 角色 iam-role1?
我的配置:
Cognito 用户池cognito-user-pool1:
- Cognito 用户
cognito-user1属于cognito-group1 - Cognito 组
cognito-group1已分配给iam-role1。
Cognito 身份池cognito-identity-pool1:
- 身份验证提供者:
cognito-user-pool1 - 经过身份验证的角色 =
iam-role1
IAM:
- IAM 角色
iam-role1具有访问 S3 只读的策略
此代码允许我向 Cognito 用户池进行身份验证:
AmazonCognitoIdentityProviderClient provider = new AmazonCognitoIdentityProviderClient();
CognitoUserPool userPool = new CognitoUserPool("user-pool-id", "client-id", provider);
CognitoUser user = new CognitoUser("cognito-user1", "client-id", userPool, provider);
InitiateSrpAuthRequest authRequest = new InitiateSrpAuthRequest()
{
Password = "cognito-password1"
};
AuthFlowResponse authResponse = await user.StartWithSrpAuthAsync(authRequest);
然后从关联到 cognito 用户池 cognito-user-pool1 的 cognito 身份池 cognito-identity-pool1 获取凭据:
CognitoAWSCredentials credentials = user.GetCognitoAWSCredentials("identity-pool-arn", RegionEndpoint.USEast1);
using (var client = new AmazonS3Client(credentials))
...
【问题讨论】:
标签: c# amazon-web-services amazon-cognito amazon-iam