嵌入式分析教程

与 Amazon QuickSight 配合使用

模块 2:设置 S3 和 Cognito 用户池

在此模块中,我们将设置 S3 存储桶以及 CloudFront 分配和 Cognito 用户池。

简介

在此模块中,我们将设置 S3 存储桶以及 CloudFront 分配和 Cognito 用户池。此基础设施有助于我们安全托管 Web 门户。

您将学到的内容

  • 创建 S3 存储桶 – 保存静态 html 和 png 文件
  • 创建 CloudFront 分配 – 分配存储在 S3 中的静态页面
  • 创建 Cognito 用户池 – 用于用户身份验证

 完成时间

20 分钟

 使用的服务

实施

  • 创建 S3 存储桶

    我们将使用 S3 存储桶来保存网页的静态内容

    我们将使用 S3 存储桶来保存网页的静态内容。
    创建 S3 存储桶。使用 qseAwsAccountId 作为存储桶名称。选中此框以阻止所有公共访问,然后单击“Create Bucket”(创建存储桶)按钮。

    22
  • 创建 CloudFront 分配

    下面创建 CloudFront 分配,分配静态页面。
    步骤如下所示。

    1.启动 CLoudFront,单击 Create Distribution(创建分配),然后选择选项以创建 Web 分配。

    26-1
    27-1

    2.在“Create Distribution”(创建分配)页面中设置以下选项。(替换 AwsAccountId)
    源域名:从下拉列表中选择在上一步创建的 S3 存储桶。
    qseAwsAccountId.s3.amazonaws.com
    (如果使用 us-east-1 区域)
    qseAwsAccountId.s3-region.amazonaws.com(对于所有其他区域,例如:qseAwsAccountId.s3-us-east-2.amazonaws.com)
    Origin Id(源 ID):qseAwsAccountIdOaiId
    Restrict Bucket Access(限制存储桶访问权限):Yes(是)
    Origin Access Identity(来源访问标识):Create new Identity(创建新标识)
    Grant Read Permission on Bucket(授予对存储桶的读取权限):Yes, Update Bucket Policy(是,更新存储桶策略)
    Viewer Protocol Policy(查看器协议策略):Redirect HTTP to HTTPS(将 HTTP 重定向至 HTTPS)
    Object Caching(对象缓存):自定义
    All TTLs(所有 TTL):15
    (这样做是为了便于以后编辑 html 内容时进行测试。在其他环境中应将其设置为更高的值。)
    查询字符串转发和缓存:转发所有内容,基于所有内容进行缓存

    28
    29
    30-2

    3.将所有其他选项保留为默认,向下滚动并单击“Create Distribution”(创建分配)按钮。

    31-3

    4.单击左侧面板中的 Distributions(分配)以刷新页面。

    32-4

    5.复制域名并在记事本中将其另存为 CloudFront 域名

    33-5
  • 创建 Cognito 用户池

    现在,我们将在其中创建 Cognito 用户池和演示用户。
    步骤如下所示。

    请注意,您必须唯一标识为其生成嵌入式控制面板的每个用户。
    这是性能保证、行级别安全性和遵守许可条款所必需的。
    如果需要提供对嵌入式控制面板的公共/未经验证/匿名访问,
    请联系 quicksight-pm@amazon.com/quicksightsales@amazon.com 获取详细信息,我们将提供有关如何设置的指导。

    1.启动 Cognito,选择 Manage User Pools(管理用户池)选项。

    37-1

    2.单击 Create a User pool(创建用户池)按钮。

    38-2

    3.使用 QSE-Cognito 作为用户池名称,单击 Step through settings(分步设置)。

    39-3

    4.在 Attributes(属性)屏幕上,取消选中“Enable case insensitivity”(启用不区分大小写)选项。

    40-4

    5.向下滚动并单击 Next Step(下一步)按钮。

    41-5

    6.将注册选项更改为 Only allow administrators to create users(仅允许管理员创建用户),然后单击 Next step(下一步)按钮

    42-6

    7.在后续屏幕上连续单击 Next step(下一步),直到到达 App clients(应用程序客户端)屏幕。
    单击 Add app client
    (添加应用程序客户端)

    43-7

    8.将名称设置为 QSCognitoAppClient,启用所有 Auth flows(身份验证流),然后单击 Create app client(创建应用程序客户端)按钮。

    44-8

    9.单击 Next step(下一步)按钮。

    45-9

    10.在“Triggers”(触发器)屏幕上,单击 Next step(下一步),在“Review”(查看)屏幕上向下滚动,然后单击 Create pool(创建池)。

    46-10

    11.在记事本中将 Pool Id(池 ID)另存为 Cognito UserPool ID
    单击左侧面板中的 App Client Settings(应用程序客户端设置)。

    47-11

    12.在记事本中将 ID(标头中)另存为 Cognito 应用程序客户端 ID,然后设置以下选项。(请查看记事本获取 CloudFront 域名)
    选中 Select all(全选)
    回调 URL:https://CloudFront Domain Name/qsembed.html
    允许的 OAuth 流:Implicit Grant(隐式授予)
    允许的 OAuth 范围:openid, profile(openid,配置文件)
    单击 Save changes
    (保存更改)

    48-12

    13.从左侧面板中单击 Domain Name(域名)。

    49-13

    14.使用 qseAwsAccountId 作为域名,检查可用性保存更改(如果可用)。

    50-14

    15.从左侧面板中单击 User and groups(用户和组),单击Create user(创建用户)按钮。

    51-15

    16.输入以下详细信息以创建用户。
    用户名:DemoUser
    临时密码:TestPass-1
    发送邀请:电子邮件
    电子邮件:您的电子邮件地址
    将电子邮件标记为已验证:已选中
    单击 Create user
    (创建用户)

    52-16
    53

结论

您已成功完成模块 2 的学习! 接下来,我们将在模块 3 中创建 IAM 策略。

此模块有帮助吗?