本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
您可以使用 … OAuth 用于将您的 QuickSight 账户与 Starburst 关联的客户端凭证。QuickSight APIs OAuth是一种标准授权协议,通常用于具有高级安全要求的应用程序。当你使用以下方式连接到 Starburst OAuth 客户端凭据,您可以使用 QuickSight APIs 和在 QuickSight 用户界面中创建包含 Starburst 数据的数据集。有关配置的更多信息 OAuth 在 Starburst 中,请参阅 OAuth 2.0 身份验证
QuickSight 支持 client credentials
OAuth 拨款类型。OAuth 客户端凭证用于获取用于 machine-to-machine通信的访问令牌。此方法适用于客户端需要在没有用户参与的情况下访问服务器上托管的资源的场景。
在的客户端凭证流中 OAuth 2.0 中,有几种客户端身份验证机制可用于通过授权服务器对客户端应用程序进行身份验证。 QuickSight 支持基于客户端凭证 OAuth 对于 Starburst,用于以下两种机制:
-
令牌(基于客户机密钥) OAuth):基于密钥的客户端身份验证机制与客户端凭据一起使用来授予流量,以便通过授权服务器进行身份验证。此身份验证方案要求使用
client_id
和client_secret
OAuth 要存储在 Secrets Manager 中的客户端应用程序。 -
X509(基于 JWT 的客户端私钥) OAuth): 基于 X509 证书密钥的解决方案为其提供了额外的安全层 OAuth 带有用于身份验证的客户端证书而不是客户端密钥的机制。此方法主要由私有客户端使用,他们使用此方法向授权服务器进行身份验证,并且两个服务之间具有很强的信任度。
QuickSight 已验证 OAuth 与以下身份提供商的连接:
-
OKTA
-
PingFederate
存储 OAuth Secrets Manager 中的凭证
OAuth 客户端凭证仅用于 machine-to-machine用例,不是为交互式而设计的。要在 QuickSight 和 Starburst 之间创建数据源连接,请在 Secrets Manager 中创建一个包含你的凭据的新密钥 OAuth 客户端应用程序。使用新密钥创建的机密 ARN 可用于创建包含 Starburst 数据的数据集。 QuickSight有关在中使用 Secrets Manager 密钥的更多信息 QuickSight,请参阅在 Amazon 中使用 AWS Secrets Manager 密钥代替数据库凭证 QuickSight。
你需要在 Secrets Manager 中存储的凭证由 OAuth 你使用的机制。基于 X509 需要以下键/值对 OAuth 秘密:
-
username
: 连接到 Starburst 时要使用的 Starburst 账户用户名 -
client_id
: 那个 OAuth 客户端 ID -
client_private_key
: 那个 OAuth 客户私钥 -
client_public_key
: 那个 OAuth 客户端证书公钥及其加密算法(例如,{"alg": "RS256", "kid", "cert_kid"}
)
基于令牌需要以下键/值对 OAuth 秘密:
-
username
: 连接到 Starburst 时要使用的 Starburst 账户用户名 -
client_id
: 那个 OAuth 客户端 ID -
client_secret
: the OAuth client secret
创建 Starburst OAuth 与... 的连接 QuickSight APIs
在 Secrets Manager 中创建了一个包含你的 Starburst 的密钥之后 OAuth 凭据并将你的 QuickSight 账户关联到 Secrets Manager 后 QuickSight APIs ,你可以使用和 SDK 在 QuickSight 和 Starburst 之间建立数据源连接。以下示例使用令牌创建 Starburst 数据源连接 OAuth 客户凭证。
{
"AwsAccountId": "AWSACCOUNTID
",
"DataSourceId": "DATASOURCEID
",
"Name": "NAME
",
"Type": "STARBURST",
"DataSourceParameters": {
"StarburstParameters": {
"Host": "STARBURST_HOST_NAME
",
"Port": "STARBURST_PORT
",
"Catalog": "STARBURST_CATALOG
",
"ProductType": "STARBURST_PRODUCT_TYPE
",
"AuthenticationType": "TOKEN",
"DatabaseAccessControlRole": "starburst-db-access-role-name
",
"OAuthParameters": {
"TokenProviderUrl": "oauth-access-token-endpoint
",
"OAuthScope": "oauth-scope",
"IdentityProviderResourceUri" : "resource-uri
",
"IdentityProviderVpcConnectionProperties" : {
"VpcConnectionArn": "IdP-VPC-connection-ARN
"
}
}
},
"VpcConnectionProperties": {
"VpcConnectionArn": "VPC-connection-ARN-for-Starburst
"
},
"Credentials": {
"SecretArn": "oauth-client-secret-ARN
"
}
}
有关 CreateDatasource API 操作的更多信息,请参阅CreateDataSource。
在 QuickSight 和 Starburst 之间建立连接并使用 QuickSight APIs 或 SDK 创建数据源后,新的数据源就会显示在中 QuickSight。 QuickSight 作者可以使用此数据源来创建包含 Starburst 数据的数据集。表格是根据在 CreateDataSource
API 调用中传递的DatabaseAccessControlRole
参数中使用的角色显示的。如果在创建数据源连接时未定义此参数,则使用默认的 Starburst 角色。
在您 QuickSight 和 Starburst 帐户之间成功创建数据源连接后,就可以开始创建包含 Starburst QuickSight 数据的数据集了。