Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Configurar credenciais da AWS usando o Amazon Cognito para DynamoDB

Modo de foco
Configurar credenciais da AWS usando o Amazon Cognito para DynamoDB - Amazon DynamoDB

A maneira recomendada para obter credenciais da AWS para suas aplicações móveis e da Web é usar o Amazon Cognito. O Amazon Cognito ajuda a evitar a codificação das suas credenciais da AWS em seus arquivos. Ele usa funções do AWS Identity and Access Management (IAM) para gerar credenciais temporárias para os usuários autenticados e não autenticados da sua aplicação.

Por exemplo, para configurar seus arquivos JavaScript para usar uma função não autenticada do Amazon Cognito para acessar o serviço da Web Amazon DynamoDB, faça o seguinte:

Para configurar credenciais a serem integradas ao Amazon Cognito
  1. Crie um pool de identidades do Amazon Cognito que permita identidades não autenticadas.

    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. Copie a seguinte política para um arquivo denominado myCognitoPolicy.json. Substitua o ID do grupo de identidades (us-west-2:12345678-1ab2-123a-1234-a12345ab12) pelo seu próprio IdentityPoolId obtido na etapa anterior.

    { "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. Crie uma função do IAM que assuma a política anterior. Dessa forma, o Amazon Cognito se torna uma entidade confiável capaz de assumir a função Cognito_DynamoPoolUnauth.

    aws iam create-role --role-name Cognito_DynamoPoolUnauth \ --assume-role-policy-document file://PathToFile/myCognitoPolicy.json --output json
  4. Conceda à função Cognito_DynamoPoolUnauth acesso total ao DynamoDB anexando uma política gerenciada (AmazonDynamoDBFullAccess).

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

    Como alternativa, você pode conceder acesso refinado ao DynamoDB. Para obter mais informações, consulte Usar condições de política do IAM para um controle de acesso refinado.

  5. Obtenha e copie o nome do recurso da Amazon (ARN) da função do IAM.

    aws iam get-role --role-name Cognito_DynamoPoolUnauth --output json
  6. Adicione a função Cognito_DynamoPoolUnauth ao pool de identidades DynamoPool. O formato a ser especificado é KeyName=string, onde KeyName é unauthenticated e a string é o ARN da função obtido na etapa anterior.

    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. Especifique as credenciais do Amazon Cognito em seus arquivos. Modifique IdentityPoolId e RoleArn de acordo.

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

Você agora pode executar seus programas JavaScript no serviço da Web DynamoDB usado credenciais do Amazon Cognito. Para ter mais informações, consulte Setting credentials in a web browser no Guia de conceitos básicos do AWS SDK for JavaScript.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.