एडब्ल्यूएस क्विकसाइट - एंबेडिंग डैशबोर्ड

आप अपने Quicksight डैशबोर्ड को बाहरी अनुप्रयोगों / वेब पृष्ठों में भी एम्बेड कर सकते हैं या AWS Cognito सेवा का उपयोग करके उपयोगकर्ता की पहुंच को नियंत्रित कर सकते हैं। उपयोगकर्ता नियंत्रण करने के लिए, आप Cognito में उपयोगकर्ता पूल और पहचान पूल बना सकते हैं और पहचान डैशबोर्ड को एम्बेड डैशबोर्ड नीतियाँ असाइन कर सकते हैं।

AWS Cognito एक IAM सेवा है जो प्रशासकों को अनुप्रयोगों तक पहुंच प्रदान करने के लिए अस्थायी उपयोगकर्ताओं को बनाने और प्रबंधित करने की अनुमति देती है। पहचान पूल के उपयोग के साथ, आप इन उपयोगकर्ता पूल पर अनुमति प्रबंधित कर सकते हैं।

आइए देखें कि हम सुरक्षित डैशबोर्ड URL कैसे बना सकते हैं और उपयोगकर्ता नियंत्रण कर सकते हैं -

चरण 1 - उपयोगकर्ता पूल और उपयोगकर्ता बनाना

AWS Cognito में यूजर पूल बनाएं और उपयोगकर्ता बनाएं। के लिए जाओAmazon Cognito → Manage User Pools → Create a User Pool

चरण 2 - एक पहचान पूल बनाना

जब उपयोगकर्ता पूल बनाया जाता है, तो अगला कदम एक पहचान पूल बनाना होता है। के लिए जाओhttps://console.aws.amazon.com/cognito/home?region=us-east-1

"नई पहचान पूल बनाएँ" पर क्लिक करें।

एक पहचान पूल का उपयुक्त नाम दर्ज करें। ऑथेंटिकेशन प्रोवाइडर्स सेक्शन में जाएं और “Cognito” विकल्प चुनें।

चरण 3 - संज्ञानात्मक भूमिकाएँ बनाना

उपयोगकर्ता पूल आईडी (आपका उपयोगकर्ता पूल आईडी) और ऐप क्लाइंट आईडी दर्ज करें (उपयोगकर्ता पूल में ऐप ग्राहक जाएं और आईडी कॉपी करें)।

इसके बाद 'क्रिएट पूल' पर क्लिक करें और आईएएम में पहचान पूल की भूमिका बनाने के लिए 'अनुमति दें' पर क्लिक करें। यह 2 कॉग्निटो भूमिकाएं बनाएगा।

चरण 4 - कस्टम नीति असाइन करना

अगला कदम उपरोक्त कदम में बनाई गई पहचान भूमिकाओं के लिए कस्टम नीति निर्दिष्ट करना है -

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Action": "quicksight:RegisterUser",
         "Resource": "*",
         "Effect": "Allow"
      },
      {
         "Action": "quicksight:GetDashboardEmbedUrl",
         "Resource": "*",
         "Effect": "Allow"
      },
      {
         "Action": "sts:AssumeRole",
         "Resource": "*",
         "Effect": "Allow"
      }
   ]
}

आप डैशबोर्ड अमेज़ॅन रिसोर्स नेम (ARN) को क्विकसाइट: GetDashboardEmbedUrl "के बजाय" * "के बजाय केवल एक डैशबोर्ड तक पहुंचने के लिए उपयोगकर्ता को प्रतिबंधित कर सकते हैं।

चरण 5 - कॉग्निटो एप्लिकेशन में लॉग इन करें

अगला कदम उपयोगकर्ता पूल में उपयोगकर्ता क्रेडेंशियल्स के साथ कॉग्निटो एप्लिकेशन को लॉगिन करना है। जब उपयोगकर्ता आवेदन में लॉग इन करता है, तो Cognito 3 टोकन बनाता है -

  • IDToken
  • AccessToken
  • टोकन वापस करें

एक अस्थायी IAM उपयोगकर्ता बनाने के लिए, क्रेडेंशियल्स नीचे दिखाए गए हैं -

AWS.config.region = 'us-east-1';
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
   IdentityPoolId:"Identity pool ID", Logins: {
      'cognito-idp.us-east-1.amazonaws.com/UserPoolID': AccessToken
   }
});

अस्थायी IAM क्रेडेंशियल बनाने के लिए, आपको नीचे दिए गए मापदंडों के साथ stassassume भूमिका विधि को कॉल करने की आवश्यकता है -

var params = {
   RoleArn: "Cognito Identity role arn", RoleSessionName: "Session name"
};
sts.assumeRole(params, function (err, data) {
   if (err) console.log( err, err.stack); 
   // an error occurred
   else {
      console.log(data);
   })
}

चरण 6 - उपयोगकर्ता को क्विकसाइट में पंजीकृत करना

अगला चरण उपयोगकर्ता को क्विकसाइट में "quicksight.registerUser" का उपयोग करके पंजीकृत करने के लिए है, नीचे दिए गए मापदंडों के साथ चरण 3 में उत्पन्न क्रेडेंशियल्स के लिए -

var params = {
   AwsAccountId: “account id”,
   Email: 'email',
   IdentityType: 'IAM' ,
   Namespace: 'default',
   UserRole: ADMIN | AUTHOR | READER | RESTRICTED_AUTHOR | RESTRICTED_READER,
   IamArn: 'Cognito Identity role arn',
   SessionName: 'session name given in the assume role creation',
};
quicksight.registerUser(params, function (err, data1) {
   if (err) console.log("err register user”); 
   // an error occurred
   else {
      // console.log("Register User1”);
   }
})

चरण 7 - AWS विन्यास फाइल को अद्यतन करना

अगला चरण 5 में उत्पन्न उपयोगकर्ता के लिए AWS कॉन्फ़िगरेशन को अपडेट करना है।

AWS.config.update({
   accessKeyId: AccessToken,
   secretAccessKey: SecretAccessKey ,
   sessionToken: SessionToken,
   "region": Region
});

चरण 8 - Quicksight डैशबोर्ड के लिए एम्बेड URL उत्पन्न करना

चरण 5 में बनाए गए क्रेडेंशियल के साथ, URL उत्पन्न करने के लिए quicksight.getDashboardEmbedUrl को नीचे के मापदंडों के साथ कॉल करें।

var params = {
   AwsAccountId: "Enter AWS account ID",
   DashboardId: "Enter dashboard Id",
   IdentityType: "IAM",
   ResetDisabled: true,
   SessionLifetimeInMinutes: between 15 to 600 minutes,
   UndoRedoDisabled: True | False
}
quicksight.getDashboardEmbedUrl(params,function (err, data) {
   if (!err) {
      console.log(data);
   } else {
      console.log(err);
   }
});

आपको उपरोक्त जेनरेट किए गए URL का उपयोग करके अपने एप्लिकेशन से "QuickSightEmbedding.embedDashboard" पर कॉल करना होगा।

अमेज़ॅन क्विकसाइट की तरह, एम्बेडेड डैशबोर्ड भी निम्नलिखित सुविधाओं का समर्थन करता है -

  • ड्रिल-डाउन विकल्प
  • कस्टम क्रियाएं (नए टैब का लिंक)
  • ऑन-स्क्रीन फ़िल्टर
  • CSV में डाउनलोड करें
  • दृश्यों पर छंटनी
  • ईमेल रिपोर्ट ऑप्ट-इन
  • डैशबोर्ड को डिफॉल्ट विकल्प पर रीसेट करें
  • डैशबोर्ड पर पूर्ववत करें / फिर से करें