AWS Quicksight - Nhúng Trang tổng quan

Bạn cũng có thể nhúng trang tổng quan Quicksight của mình vào các ứng dụng / trang web bên ngoài hoặc có thể kiểm soát quyền truy cập của người dùng bằng dịch vụ AWS Cognito. Để thực hiện kiểm soát người dùng, bạn có thể tạo nhóm người dùng và nhóm nhận dạng trong Cognito và chỉ định các chính sách bảng điều khiển Nhúng cho nhóm nhận dạng.

AWS Cognito là một dịch vụ IAM cho phép quản trị viên tạo và quản lý người dùng tạm thời để cung cấp quyền truy cập vào các ứng dụng. Với việc sử dụng nhóm nhận dạng, bạn có thể quản lý quyền trên các nhóm người dùng này.

Hãy để chúng tôi xem cách chúng tôi có thể tạo URL trang tổng quan an toàn và thực hiện kiểm soát của người dùng -

Bước 1 - Tạo nhóm người dùng và người dùng

Tạo nhóm người dùng trong AWS Cognito và tạo người dùng. Đi đếnAmazon Cognito → Manage User Pools → Create a User Pool.

Bước 2 - Tạo nhóm nhận dạng

Khi nhóm người dùng được tạo, bước tiếp theo là tạo nhóm nhận dạng. Đi đếnhttps://console.aws.amazon.com/cognito/home?region=us-east-1

Nhấp vào “Tạo nhóm nhận dạng mới”.

Nhập tên thích hợp của nhóm nhận dạng. Chuyển đến phần Nhà cung cấp xác thực và chọn tùy chọn "Ẩn danh".

Bước 3 - Tạo vai trò ẩn danh

Nhập ID nhóm người dùng (ID nhóm người dùng của bạn) và ID ứng dụng khách (chuyển đến Ứng dụng khách trong nhóm người dùng và sao chép id).

Tiếp theo là nhấp vào 'Tạo nhóm' và nhấp vào 'Cho phép' để tạo các vai trò của nhóm nhận dạng trong IAM. Nó sẽ tạo ra 2 vai trò Ẩn danh.

Bước 4 - Chỉ định chính sách tùy chỉnh

Bước tiếp theo là chỉ định chính sách tùy chỉnh cho các vai trò nhận dạng được tạo ở bước trên -

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

Bạn có thể chuyển Tên tài nguyên Amazon (ARN) của bảng điều khiển trong quicksight: GetDashboardEmbedUrl ” thay vì“ * ”để hạn chế người dùng chỉ truy cập vào một bảng điều khiển.

Bước 5 - Đăng nhập vào ứng dụng Cognito

Bước tiếp theo là đăng nhập vào ứng dụng Cognito bằng thông tin đăng nhập của người dùng trong nhóm người dùng. Khi người dùng đăng nhập vào ứng dụng, Cognito tạo ra 3 mã thông báo -

  • IDToken
  • AccessToken
  • Làm mới mã thông báo

Để tạo người dùng IAM tạm thời, thông tin đăng nhập như được hiển thị bên dưới:

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
   }
});

Để tạo thông tin xác thực IAM tạm thời, bạn cần gọi phương thức vai trò sts.assume với các tham số dưới đây:

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);
   })
}

Bước 6 - Đăng ký người dùng trong Quicksight

Bước tiếp theo là đăng ký người dùng trong Quicksight bằng cách sử dụng “quicksight.registerUser” cho thông tin đăng nhập được tạo ở bước 3 với các thông số dưới đây:

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”);
   }
})

Bước 7 - Cập nhật tệp cấu hình AWS

Tiếp theo là cập nhật cấu hình AWS cho người dùng được tạo ở bước 5.

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

Bước 8 - Tạo URL nhúng cho bảng điều khiển Quicksight

Với thông tin đăng nhập được tạo ở bước 5, hãy gọi quicksight.getDashboardEmbedUrl với các tham số bên dưới để tạo URL.

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);
   }
});

Bạn phải gọi “QuickSightEmbedding.embedDashboard” từ ứng dụng của mình bằng cách sử dụng URL được tạo ở trên.

Giống như Amazon Quicksight, bảng điều khiển nhúng cũng hỗ trợ các tính năng sau:

  • Tùy chọn chi tiết
  • Hành động tùy chỉnh (liên kết đến một tab mới)
  • Bộ lọc trên màn hình
  • Tải xuống CSV
  • Sắp xếp theo hình ảnh
  • Chọn tham gia báo cáo qua email
  • Đặt lại trang tổng quan về tùy chọn mặc định
  • Hoàn tác / làm lại các hành động trên trang tổng quan