选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

使用 Amazon Cognito for DynamoDB 配置 AWS 凭证

聚焦模式
使用 Amazon Cognito for DynamoDB 配置 AWS 凭证 - Amazon DynamoDB

建议使用 Amazon Cognito 获得 Web 和移动应用程序的 AWS 凭证。Amazon Cognito 避免在文件上硬编码 AWS 凭证。它使用 AWS Identity and Access Management (IAM) 角色为应用程序经过身份验证和未经身份验证的用户生成临时凭证。

例如,要配置 JavaScript 文件使用 Amazon Cognito 未经身份验证的角色访问 Amazon DynamoDB Web 服务,请执行以下操作。

配置凭证与 Amazon Cognito 集成
  1. 创建允许未经验证身份的 Amazon Cognito 身份池。

    aws cognito-identity create-identity-pool \ --identity-pool-name DynamoPool \ --allow-unauthenticated-identities \ --output json { "IdentityPoolId": "us-west-2:12345678-1ab2-123a-1234-a12345ab12", "AllowUnauthenticatedIdentities": true, "IdentityPoolName": "DynamoPool" }
  2. 将下面的策略复制到 myCognitoPolicy.json 文件。将身份池 ID (us-west-2:12345678-1ab2-123a-1234-a12345ab12) 替换为上一步获得的 IdentityPoolId

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "cognito-identity.amazonaws.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "cognito-identity.amazonaws.com:aud": "us-west-2:12345678-1ab2-123a-1234-a12345ab12" }, "ForAnyValue:StringLike": { "cognito-identity.amazonaws.com:amr": "unauthenticated" } } } ] }
  3. 创建使用之前策略的 IAM 角色。通过这种方法,Amazon Cognito 将成为代入 Cognito_DynamoPoolUnauth 角色的可信实体。

    aws iam create-role --role-name Cognito_DynamoPoolUnauth \ --assume-role-policy-document file://PathToFile/myCognitoPolicy.json --output json
  4. 通过附加托管策略 (AmazonDynamoDBFullAccess),授予 Cognito_DynamoPoolUnauth 角色对 DynamoDB 的完整访问权限。

    aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/AmazonDynamoDBFullAccess \ --role-name Cognito_DynamoPoolUnauth
    注意

    或者可以授予对 DynamoDB 的精细访问权限。有关更多信息,请参阅使用 IAM policy 条件进行精细访问控制

  5. 获取并复制 IAM 角色 Amazon Resource Name (ARN)。

    aws iam get-role --role-name Cognito_DynamoPoolUnauth --output json
  6. Cognito_DynamoPoolUnauth 角色添加到 DynamoPool 身份池。要指定的格式是 KeyName=string,其中 KeyNameunauthenticated,字符串为在上一步中获取的角色 ARN。

    aws cognito-identity set-identity-pool-roles \ --identity-pool-id "us-west-2:12345678-1ab2-123a-1234-a12345ab12" \ --roles unauthenticated=arn:aws:iam::123456789012:role/Cognito_DynamoPoolUnauth --output json
  7. 在文件中指定 Amazon Cognito 凭证。相应修改 IdentityPoolIdRoleArn

    AWS.config.credentials = new AWS.CognitoIdentityCredentials({ IdentityPoolId: "us-west-2:12345678-1ab2-123a-1234-a12345ab12", RoleArn: "arn:aws:iam::123456789012:role/Cognito_DynamoPoolUnauth" });

现在可以使用 Amazon Cognito 凭证对 DynamoDB Web 服务运行 JavaScript 程序。有关更多信息,请参阅《AWS SDK for JavaScript 入门指南》中的在 Web 浏览器中设置凭证

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。