使用临时凭证来访问 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 资源
-
《适用于 C++ 的 Amazon SDK 开发人员指南》中的 Amazon 客户端配置
-
《适用于 Go 的 Amazon SDK 开发人员指南》中的将 适用于 Go 的 Amazon SDK V2 与 Amazon Web Services 服务 结合使用
。 -
《Amazon SDK for Java 2.x 开发人员指南》中的配置 HTTP 客户端
-
《适用于 JavaScript 的 Amazon SDK 开发人员指南》中的创建和调用服务对象
-
适用于 Python (Boto3) 的 Amazon SDK 文档中的创建客户端
-
《Amazon SDK for Rust 开发人员指南》中的创建服务客户端
-
《Amazon SDK for Swift 开发人员指南》中的使用别名。
下面的代码段初始化 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 身份验证
// 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 开发中心
// 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 开发中心
// create a service client that uses credentials provided by Cognito var client = new AmazonDynamoDBClient(credentials, REGION)
凭证提供程序与 Amazon Cognito 通信,为经过身份验证和未经身份验证的用户检索唯一标识符,并为 Amazon Mobile SDK 检索具有有限权限的临时 Amazon 凭证。检索到的凭证的有效期为 1 小时,提供程序会在凭证过期时进行刷新。