使用临时凭证来访问 Amazon Web Services 服务 - Amazon Cognito
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用临时凭证来访问 Amazon Web Services 服务

使用身份池成功进行身份验证的结果是一组 Amazon 凭证。使用这些凭证,您的应用程序可以向通过 IAM 身份验证进行保护的 Amazon 资源发出请求。您可以将各种 Amazon SDK 添加到应用程序中以访问身份池 API 操作,从而发出未经身份验证的 API 请求来生成临时凭证。然后,您可以将其他 Amazon Web Services 服务 的 SDK 添加到您的客户端,并使用这些临时凭证签署请求。向您的临时凭证角色授予的 IAM 权限必须允许您从其他服务请求的操作。

在配置 Amazon Cognito 凭证提供者并检索 Amazon 凭证后,创建 Amazon Web Services 服务 客户端。下面是 Amazon SDK 文档中的一些示例。

用于创建客户端的 Amazon SDK 资源

下面的代码段初始化 Amazon DynamoDB 客户端:

要在 Android 应用程序中使用 Amazon Cognito 身份池,请设置 Amazon Amplify。有关更多信息,请参阅《Amplify 开发中心》中的身份验证

// Create a service client with the provider AmazonDynamoDB client = new AmazonDynamoDBClient(credentialsProvider);

凭证提供程序与 Amazon Cognito 通信,为经过身份验证和未经身份验证的用户检索唯一标识符,并为 Amazon Mobile SDK 检索具有有限权限的临时 Amazon 凭证。检索到的凭证的有效期为 1 小时,提供程序会在凭证过期时进行刷新。

要在 iOS 应用程序中使用 Amazon Cognito 身份池,请设置 Amazon Amplify。有关更多信息,请参阅《Amplify 开发中心》中的 Swift 身份验证Flutter 身份验证

// create a configuration that uses the provider AWSServiceConfiguration *configuration = [AWSServiceConfiguration configurationWithRegion:AWSRegionUSEast1 provider:credentialsProvider]; // get a client with the default service configuration AWSDynamoDB *dynamoDB = [AWSDynamoDB defaultDynamoDB];

凭证提供程序与 Amazon Cognito 通信,为经过身份验证和未经身份验证的用户检索唯一标识符,并为 Amazon Mobile SDK 检索具有有限权限的临时 Amazon 凭证。检索到的凭证的有效期为 1 小时,提供程序会在凭证过期时进行刷新。

要在 iOS 应用程序中使用 Amazon Cognito 身份池,请设置 Amazon Amplify。有关更多信息,请参阅《Amplify 开发中心》中的 Swift 身份验证

// get a client with the default service configuration let dynamoDB = AWSDynamoDB.default() // get a client with a custom configuration AWSDynamoDB.register(with: configuration!, forKey: "USWest2DynamoDB"); let dynamoDBCustom = AWSDynamoDB(forKey: "USWest2DynamoDB")

凭证提供程序与 Amazon Cognito 通信,为经过身份验证和未经身份验证的用户检索唯一标识符,并为 Amazon Mobile SDK 检索具有有限权限的临时 Amazon 凭证。检索到的凭证的有效期为 1 小时,提供程序会在凭证过期时进行刷新。

// Create a service client with the provider var dynamodb = new AWS.DynamoDB({region: 'us-west-2'});

凭证提供程序与 Amazon Cognito 通信,为经过身份验证和未经身份验证的用户检索唯一标识符,并为 Amazon Mobile SDK 检索具有有限权限的临时 Amazon 凭证。检索到的凭证的有效期为 1 小时,提供程序会在凭证过期时进行刷新。

适用于 Unity 的 Amazon SDK 现在是 适用于 .NET 的 Amazon SDK 的一部分。要开始使用 适用于 .NET 的 Amazon SDK 中的 Amazon Cognito,请参阅《适用于 .NET 的 Amazon SDK 开发人员指南》中的 Amazon Cognito 凭证提供者。或者,请参阅 Amplify 开发中心,了解使用 Amazon Amplify 构建应用程序的选项。

// create a service client that uses credentials provided by Cognito AmazonDynamoDBClient client = new AmazonDynamoDBClient(credentials, REGION);

凭证提供程序与 Amazon Cognito 通信,为经过身份验证和未经身份验证的用户检索唯一标识符,并为 Amazon Mobile SDK 检索具有有限权限的临时 Amazon 凭证。检索到的凭证的有效期为 1 小时,提供程序会在凭证过期时进行刷新。

适用于 Xamarin 的 Amazon SDK 现在是 适用于 .NET 的 Amazon SDK 的一部分。要开始使用 适用于 .NET 的 Amazon SDK 中的 Amazon Cognito,请参阅《适用于 .NET 的 Amazon SDK 开发人员指南》中的 Amazon Cognito 凭证提供者。或者,请参阅 Amplify 开发中心,了解使用 Amazon Amplify 构建应用程序的选项。

// create a service client that uses credentials provided by Cognito var client = new AmazonDynamoDBClient(credentials, REGION)

凭证提供程序与 Amazon Cognito 通信,为经过身份验证和未经身份验证的用户检索唯一标识符,并为 Amazon Mobile SDK 检索具有有限权限的临时 Amazon 凭证。检索到的凭证的有效期为 1 小时,提供程序会在凭证过期时进行刷新。