Is there an id/number that connects each user to their corresponding resources in AWS?












1















For example if a user signs in with AWS Cognito User Pools and their name, email etc is stored in Cognito and then once in the app with the API they create a user profile that stores a whole bunch of info using Appsync and DynamoDB - what connects this user's cognito info to their corresponding profile info in DynamoDB?










share|improve this question



























    1















    For example if a user signs in with AWS Cognito User Pools and their name, email etc is stored in Cognito and then once in the app with the API they create a user profile that stores a whole bunch of info using Appsync and DynamoDB - what connects this user's cognito info to their corresponding profile info in DynamoDB?










    share|improve this question

























      1












      1








      1








      For example if a user signs in with AWS Cognito User Pools and their name, email etc is stored in Cognito and then once in the app with the API they create a user profile that stores a whole bunch of info using Appsync and DynamoDB - what connects this user's cognito info to their corresponding profile info in DynamoDB?










      share|improve this question














      For example if a user signs in with AWS Cognito User Pools and their name, email etc is stored in Cognito and then once in the app with the API they create a user profile that stores a whole bunch of info using Appsync and DynamoDB - what connects this user's cognito info to their corresponding profile info in DynamoDB?







      amazon-web-services amazon-dynamodb amazon-cognito






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 15 '18 at 19:44









      Tamsyn JenniferTamsyn Jennifer

      8712




      8712
























          1 Answer
          1






          active

          oldest

          votes


















          1














          IAM is the service that controls identities and authorisation on the AWS platform. IAM manages access to AWS services for your developers, scripts and applications etc. IAM defines unique IDs for users.



          I think the more relevant thing you are asking about is how a user authenticated by Cognito can be tied to data in DynamoDB. The short answer is to use the Cognito sub (subject). More info here




          The sub claim is a unique identifier (UUID) for the authenticated
          user. It is not the same as the username which may not be unique.




          The sub is not natively understood by DynamoDB, you will need to store the sub in your items.



          The sub for a Cognito user never changes and is always unique.






          share|improve this answer
























          • Thank you for your answer. Would you say it’s common practice then to store the sub as user item in DynamoDB?

            – Tamsyn Jennifer
            Nov 16 '18 at 9:02











          • Yes for sure. That's what I do. As an aside, using the sub as a table partition key is essentially the only way of implementing fine grained security in DynamoDB.

            – Stu
            Nov 16 '18 at 9:10











          • Ok thank you Stu!

            – Tamsyn Jennifer
            Nov 16 '18 at 9:12











          • No worries, good luck!

            – Stu
            Nov 16 '18 at 9:16











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53326862%2fis-there-an-id-number-that-connects-each-user-to-their-corresponding-resources-i%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          1














          IAM is the service that controls identities and authorisation on the AWS platform. IAM manages access to AWS services for your developers, scripts and applications etc. IAM defines unique IDs for users.



          I think the more relevant thing you are asking about is how a user authenticated by Cognito can be tied to data in DynamoDB. The short answer is to use the Cognito sub (subject). More info here




          The sub claim is a unique identifier (UUID) for the authenticated
          user. It is not the same as the username which may not be unique.




          The sub is not natively understood by DynamoDB, you will need to store the sub in your items.



          The sub for a Cognito user never changes and is always unique.






          share|improve this answer
























          • Thank you for your answer. Would you say it’s common practice then to store the sub as user item in DynamoDB?

            – Tamsyn Jennifer
            Nov 16 '18 at 9:02











          • Yes for sure. That's what I do. As an aside, using the sub as a table partition key is essentially the only way of implementing fine grained security in DynamoDB.

            – Stu
            Nov 16 '18 at 9:10











          • Ok thank you Stu!

            – Tamsyn Jennifer
            Nov 16 '18 at 9:12











          • No worries, good luck!

            – Stu
            Nov 16 '18 at 9:16
















          1














          IAM is the service that controls identities and authorisation on the AWS platform. IAM manages access to AWS services for your developers, scripts and applications etc. IAM defines unique IDs for users.



          I think the more relevant thing you are asking about is how a user authenticated by Cognito can be tied to data in DynamoDB. The short answer is to use the Cognito sub (subject). More info here




          The sub claim is a unique identifier (UUID) for the authenticated
          user. It is not the same as the username which may not be unique.




          The sub is not natively understood by DynamoDB, you will need to store the sub in your items.



          The sub for a Cognito user never changes and is always unique.






          share|improve this answer
























          • Thank you for your answer. Would you say it’s common practice then to store the sub as user item in DynamoDB?

            – Tamsyn Jennifer
            Nov 16 '18 at 9:02











          • Yes for sure. That's what I do. As an aside, using the sub as a table partition key is essentially the only way of implementing fine grained security in DynamoDB.

            – Stu
            Nov 16 '18 at 9:10











          • Ok thank you Stu!

            – Tamsyn Jennifer
            Nov 16 '18 at 9:12











          • No worries, good luck!

            – Stu
            Nov 16 '18 at 9:16














          1












          1








          1







          IAM is the service that controls identities and authorisation on the AWS platform. IAM manages access to AWS services for your developers, scripts and applications etc. IAM defines unique IDs for users.



          I think the more relevant thing you are asking about is how a user authenticated by Cognito can be tied to data in DynamoDB. The short answer is to use the Cognito sub (subject). More info here




          The sub claim is a unique identifier (UUID) for the authenticated
          user. It is not the same as the username which may not be unique.




          The sub is not natively understood by DynamoDB, you will need to store the sub in your items.



          The sub for a Cognito user never changes and is always unique.






          share|improve this answer













          IAM is the service that controls identities and authorisation on the AWS platform. IAM manages access to AWS services for your developers, scripts and applications etc. IAM defines unique IDs for users.



          I think the more relevant thing you are asking about is how a user authenticated by Cognito can be tied to data in DynamoDB. The short answer is to use the Cognito sub (subject). More info here




          The sub claim is a unique identifier (UUID) for the authenticated
          user. It is not the same as the username which may not be unique.




          The sub is not natively understood by DynamoDB, you will need to store the sub in your items.



          The sub for a Cognito user never changes and is always unique.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 16 '18 at 8:58









          StuStu

          4,38731345




          4,38731345













          • Thank you for your answer. Would you say it’s common practice then to store the sub as user item in DynamoDB?

            – Tamsyn Jennifer
            Nov 16 '18 at 9:02











          • Yes for sure. That's what I do. As an aside, using the sub as a table partition key is essentially the only way of implementing fine grained security in DynamoDB.

            – Stu
            Nov 16 '18 at 9:10











          • Ok thank you Stu!

            – Tamsyn Jennifer
            Nov 16 '18 at 9:12











          • No worries, good luck!

            – Stu
            Nov 16 '18 at 9:16



















          • Thank you for your answer. Would you say it’s common practice then to store the sub as user item in DynamoDB?

            – Tamsyn Jennifer
            Nov 16 '18 at 9:02











          • Yes for sure. That's what I do. As an aside, using the sub as a table partition key is essentially the only way of implementing fine grained security in DynamoDB.

            – Stu
            Nov 16 '18 at 9:10











          • Ok thank you Stu!

            – Tamsyn Jennifer
            Nov 16 '18 at 9:12











          • No worries, good luck!

            – Stu
            Nov 16 '18 at 9:16

















          Thank you for your answer. Would you say it’s common practice then to store the sub as user item in DynamoDB?

          – Tamsyn Jennifer
          Nov 16 '18 at 9:02





          Thank you for your answer. Would you say it’s common practice then to store the sub as user item in DynamoDB?

          – Tamsyn Jennifer
          Nov 16 '18 at 9:02













          Yes for sure. That's what I do. As an aside, using the sub as a table partition key is essentially the only way of implementing fine grained security in DynamoDB.

          – Stu
          Nov 16 '18 at 9:10





          Yes for sure. That's what I do. As an aside, using the sub as a table partition key is essentially the only way of implementing fine grained security in DynamoDB.

          – Stu
          Nov 16 '18 at 9:10













          Ok thank you Stu!

          – Tamsyn Jennifer
          Nov 16 '18 at 9:12





          Ok thank you Stu!

          – Tamsyn Jennifer
          Nov 16 '18 at 9:12













          No worries, good luck!

          – Stu
          Nov 16 '18 at 9:16





          No worries, good luck!

          – Stu
          Nov 16 '18 at 9:16




















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53326862%2fis-there-an-id-number-that-connects-each-user-to-their-corresponding-resources-i%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Xamarin.iOS Cant Deploy on Iphone

          Glorious Revolution

          Dulmage-Mendelsohn matrix decomposition in Python