使用 Okta 插件和 Okta 身份提供者为 ODBC 配置 SSO - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 Okta 插件和 Okta 身份提供者为 ODBC 配置 SSO

本页说明了如何配置 Amazon Athena ODBC 驱动程序和 Okta 插件,以使用 Okta 身份提供者添加单点登录(SSO)功能。

先决条件

要完成本教程中的步骤,需要以下内容:

在 Okta 中创建应用程序集成

首先,使用 Okta 控制面板创建和配置 SAML 2.0 应用程序以单点登录 Athena。您可以在 Okta 中使用现有的 Redshift 应用程序来配置对 Athena 的访问权限。

在 Okta 中创建一个应用程序集成
  1. Okta.com 上登录账户的管理员页面。

  2. 在导航窗格中,选择 Applications(应用程序)、Applications(应用程序)。

  3. Applications(应用程序)页面上,选择 Browse App Catalog(浏览应用程序目录)。

  4. Browse App Integration Catalog(浏览应用程序集成目录)页面的 Use Case(使用场景)部分中,选择 All Integrations(所有集成)。

  5. 在搜索框中输入 Amazon Web Services Redshift,然后选择 Amazon Web Services Redshift SAML

  6. 选择 Add Integration(添加集成)。

    
                        选择 Add Integration(添加集成)。
  7. General Settings Required(必填常规设置)部分中,对于 Application label(应用程序标注),输入应用程序的名称。本教程使用的名称是 Athena-ODBC-Okta

    
                        输入 Oktak 应用程序的名称。
  8. 选择完成

  9. 在 Okta 应用程序页面(例如,Athena-ODBC-Okta)上,选择 Sign On(登录)。

    
                        选择 Sign On(登录)选项卡。
  10. Settings(设置)部分中,选择 Edit(编辑)。

    
                        选择编辑。
  11. Advanced Sign-on Settings(高级登录设置)部分中,配置以下值。

    • 对于 IdP ARN and Role ARN(IdP ARN 和角色 ARN),输入您的 Amazon IDP ARN 和角色 ARN,用逗号分隔。有关 IAM 角色格式的信息,请参阅《IAM 用户指南》中的为身份验证响应配置 SAML 断言

    • 对于 Session Duration(会话持续时间),输入一个介于 900 到 43200 秒之间的值。本教程使用的是默认值 3600(1 小时)。

      
                                输入高级登录设置。

    Athena 不使用 DbUser Format(DbUser 格式)、AutoCreate(自动创建)和 Allowed DBGroups(允许的数据库组)设置。您不需要配置这些设置。

  12. 选择保存

从 Okta 检索 ODBC 配置信息

您现在已经创建了 Okta 应用程序,可以检索应用程序的 ID 和 IdP 主机 URL。稍后在配置 ODBC 以连接到 Athena 时将需要这些信息。

从 Okta 检索 ODBC 配置信息
  1. 选择 Okta 应用程序的 General(常规)选项卡,然后向下滚动到 App Embed Link(应用程序嵌入式链接)部分。

    
                        Okta 应用程序的嵌入式链接 URL。

    Embed Link(嵌入式链接)URL 采用以下格式:

    https://trial-1234567.okta.com/home/amazon_aws_redshift/Abc1de2fghi3J45kL678/abc1defghij2klmNo3p4
  2. 从您的 Embed Link(嵌入式链接)URL 中提取并保存以下片段:

    • https:// 之后的第一个片段,直至(包含) okta.com(例如,trial-1234567.okta.com)。这是您的 IdP 主机。

    • URL 的最后两个片段,包括中间的正斜杠。这些片段是两个有 20 个字符的字符串,混合了数字和大小写字母(例如 Abc1de2fghi3J45kL678/abc1defghij2klmNo3p4)。这是您的应用程序 ID。

为 Okta 应用程序添加一个用户

您现在可以为您的 Okta 应用程序添加一个用户。

为 Okta 应用程序添加一个用户
  1. 在左侧导航窗格中,选择 Directory(目录),然后选择 People(人员)。

  2. 选择 Add person(添加人员)。

    
                        选择 Add person(添加人员)。
  3. Add Person(添加人员)对话框中,输入下列信息。

    • 对于 First name(名字)和 Last name(姓氏),输入值。本教程使用的是 test user

    • 输入 Username(用户名)和 Primary email(主电子邮件)的值。对于这两个参数,本教程使用的都是 test@amazon.com。您对密码的安全要求可能会有所不同。

      
                                输入用户凭证。
  4. 选择保存

现在您可以将创建的用户分配到您的应用程序。

要将此用户分配给您的应用程序:
  1. 在导航窗格中,选择 Applications(应用程序)、Applications(应用程序),然后选择应用程序的名称(例如,Athena-ODBC-Okta)。

  2. 选择 Assign(分配),然后选择 Assign to People(分配给人员)。

    
                        选择 Assign to People(分配给人员)。
  3. 为您的用户选择 Assign(分配)选项,然后选择 Done(完成)。

    
                        选择 Assign(分配),然后选择 Done(完成)。
  4. 在提示时选择 Save and Go Back(保存并返回)。此对话框会显示用户的状态为 Assigned(已分配)。

  5. 选择完成

  6. 选择 Sign On(登录)选项卡。

  7. 向下滚动到 SAML Signing Certificates(SAML 签名证书)部分。

  8. 选择操作

  9. 打开 View IdP metadata(查看 IdP 元数据)的上下文(右键单击),然后选择浏览器选项以保存文件。

  10. 使用 .xml 扩展名保存文件。

    
                        将 IdP 元数据保存到本地 XML 文件。

创建一个 Amazon SAML 身份提供者和角色

现在您可以在 Amazon 中将元数据 XML 文件上传到 IAM 控制台。您将使用此文件来创建一个 AmazonSAML 身份提供者和角色。使用 Amazon 服务管理员帐户来执行这些步骤。

在 Amazon 中创建一个 SAML 身份提供者和角色
  1. 登录Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/IAM/

  2. 在导航窗格中,选择 Identity providers(身份提供程序),然后选择 Add provider(添加提供商)。

    
                        选择 Add provider(添加提供程序)。
  3. Add an Identity provider(添加身份提供者)页面上,对于 Configure provider(配置提供者),输入以下信息。

    • 对于 Provider type(提供程序类型),选择 SAML

    • 对于 Provider name(提供者名称),为您的提供者输入一个名称(例如 AthenaODBCOkta)。

    • 对于 Metadata document(元数据文档),请使用 Select file(选择文件)选项上载您下载的身份提供程序 (IdP) 元数据 XML 文件。

      
                                输入身份提供程序的信息。
  4. 选择 Add provider(添加提供程序)。

创建一个用于访问 Athena 和 Amazon S3 的 IAM 角色

您现在可以创建一个用于访问 Athena 和 Amazon S3 的 IAM 角色。您需要将此角色分配给您的用户,从而可以为该用户提供对 Athena 的单点登录访问权限。

为您的用户创建一个 IAM 角色
  1. 在 IAM 控制台的导航窗格中,选择 Roles(角色),然后选择 Create role(创建角色)。

    
                            选择创建角色。
  2. Create role(创建角色)页面上,选择以下选项:

    • 对于 Select type of trusted entity(选择受信任实体的类型),选择 SAML 2.0 Federation

    • 对于 SAML 2.0–based provider(基于 SAML 2.0 的提供者),请选择您创建的 SAML 身份提供者(例如,AthenaODBCOkta)。

    • 选择 Allow programmatic and Amazon Web Services Management Console access(允许编程和访问)。

      
                                    选择 Create role(创建角色)页面上的选项。
  3. 选择下一步

  4. Add Permissions(添加权限)页面上,对于 Filter policies(筛选策略),输入 AthenaFull,然后按 ENTER 键。

  5. 选择名为 AmazonAthenaFullAccess 的托管式策略,然后选择 Next(下一步)。

    
                            选择名为 AmazonAthenaFullAccess 的托管式策略。
  6. Name, review, and create(命名、检查并创建)页面上,对于 Role name(角色名称),输入角色的名称(例如,Athena-ODBC-OktaRole),然后选择 Create role(创建角色)。

配置 Okta ODBC 到 Athena 的连接

您现在可以在 Windows 中使用 ODBC 数据源程序配置 Okta ODBC 到 Athena 的连接。

配置 Okta ODBC 到 Athena 的连接
  1. 在 Windows 中,启动 ODBC 数据源程序。

  2. ODBC 数据源管理器程序中,选择 Add(添加)。

    
                        选择 添加。
  3. 选择 Simba Athena ODBC 驱动程序,然后选择 Finish(完成)。

    
                        选择 Athena ODBC 驱动程序。
  4. SIMBA Athena ODBC 驱动程序 DSN 设置对话框中,输入描述的值。

    • 对于 Data Source Name(数据源名称),输入数据源的名称(例如,Athena ODBC 64)。

    • Description(说明)中,为数据来源输入说明。

    • 对于 Amazon Web Services 区域,输入您正在使用的 Amazon Web Services 区域(例如 us-west-1)。

    • S3 Output Location(S3 输出位置)中,输入要存储输出的 Amazon S3 路径。

      
                                输入数据来源名称设置的值。
  5. 选择 Authentication Options(身份验证选项)。

  6. Authentication Options(身份验证选项)对话框中,选择或输入以下值。

    • 对于 Authentication Type(身份验证类型),选择 Okta

    • 对于用户,请输入您的 Okta 用户名。

    • 对于密码,请输入您的 Okta 密码。

    • 对于 IdP Host(IdP 主机),输入您之前记录的值(例如,trial-1234567.okta.com)。

    • 对于 IdP Port(IdP 端口),输入 443

    • 对于 App ID(应用程序 ID),输入您之前记录的值(Okta 嵌入式链接的最后两个片段)。

    • 对于 Okta App Name(Okta 应用程序名称),输入 amazon_aws_redshift

      
                                输入身份验证选项。
  7. 选择确定

  8. 选择 Test(测试)以测试连接,或者选择 OK(确定)以完成。