Để quản lý các chính sách IAM cho tài khoản Quicksight, bạn có thể sử dụng thông tin xác thực người dùng gốc hoặc IAM. Bạn nên sử dụng thông tin xác thực IAM để quản lý quyền truy cập tài nguyên và các chính sách thay vì người dùng root.
Các chính sách sau đây là bắt buộc để đăng ký và sử dụng Amazon Quicksight –
Phiên bản tiêu chuẩn
- ds: AuthorizeApplication
- ds: CheckAlias
- ds: CreateAlias
- ds: CreateIdentityPoolDirectory
- ds: DeleteDirectory
- ds: DescribeDirectories
- ds: DescribeTrusts
- ds: UnauthorizeApplication
- iam: CreatePolicy
- iam: CreateRole
- iam: ListAccountAliases
- quicksight: CreateUser
- quicksight: CreateAdmin
- nhanh chóng: Đăng ký
Phiên bản doanh nghiệp
Ngoài các chính sách đã đề cập ở trên, các quyền dưới đây được yêu cầu trong phiên bản doanh nghiệp –
- quicksight: GetGroupMapping
- quicksight: SearchDirectoryGroups
- quicksight: SetGroupMapping
Bạn cũng có thể cho phép người dùng quản lý quyền đối với tài nguyên AWS trong Quicksight . Các chính sách IAM tuân theo phải được chỉ định trong cả hai phiên bản –
- iam: AttachRolePolicy
- iam: CreatePolicy
- iam: CreatePolicyVersion
- iam: CreateRole
- iam: DeletePolicyVersion
- iam: DeleteRole
- iam: DetachRolePolicy
- GetPolicy
- iam: GetPolicyVersion
- iam: GetRole
- ListAttachedRolePolicies
- iam: ListEntitiesForPolicy
- iam: ListPolicyVersions
- iam: ListRoles
- s3: ListAllMyBuckets
Để ngăn quản trị viên AWS hủy đăng ký Quicksight, bạn có thể từ chối tất cả người dùng “quicksight: Hủy đăng ký”
Chính sách IAM cho nhúng trang tổng quan
Để nhúng URL trang tổng quan AWS Quciksight vào trang web, bạn cần chỉ định các chính sách IAM sau cho người dùng:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "quicksight:RegisterUser",
"Resource": "*",
"Effect": "Allow"
},
{
"Action": "quicksight:GetDashboardEmbedUrl",
"Resource": "arn:aws:quicksight:us-east-1:
868211930999:dashboard/
f2cb6cf2-477c-45f9-a1b3-639239eb95d8 ",
"Effect": "Allow"
}
]
}
Bạn có thể quản lý và kiểm tra các vai trò và chính sách này bằng cách sử dụng trình mô phỏng chính sách IAM trong Quicksight. Dưới đây là liên kết để truy cập trình mô phỏng Chính sách IAM –https://policysim.aws.amazon.com/home/index.jsp?#
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 quyề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 tới Amazon Cognito → Quản lý Nhóm người dùng → Tạo Nhóm người dùng
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 danh tính. Truy cập https://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
- Truy cập thẻ
- 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 các 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