選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

使用 Amazon Cognito for DynamoDB 設定 AWS 登入資料

焦點模式
使用 Amazon Cognito for DynamoDB 設定 AWS 登入資料 - Amazon DynamoDB

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

為您的 Web 和行動應用程式取得 AWS 登入資料的建議方法是使用 Amazon Cognito。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取得的您自己的 ID。

    { "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),將 DynamoDB 的完整存取權授予 Cognito_DynamoPoolUnauth 角色。

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

    或者,您也可以將精細定義存取權授予 DynamoDB。如需詳細資訊,請參閱使用IAM政策條件進行精細存取控制

  5. 取得並複製IAM角色 Amazon Resource Name (ARN)。

    aws iam get-role --role-name Cognito_DynamoPoolUnauth --output json
  6. Cognito_DynamoPoolUnauth 角色新增至 DynamoPool 身分集區。要指定的格式為 KeyName=string,其中 KeyName為 ,unauthenticated字串為上一個步驟中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.或其附屬公司。保留所有權利。