JSON Webトークン(JWT)認証メカニズムにより、ユーザーがTeradata UDAユーザー サービスに対して正常に認証されると、Teradata VantageへのSingle Sign-on (SSO)が有効になります。UDAユーザー サービスはAppCenterやTeradata® クエリー サービス (RESTサービス)などの各種のUDAアプリケーションおよびサービスに対してユーザーを認証します。アプリケーションまたはサービスの1つに対して認証されたユーザーは、JWTを使って、Single Sign-onを実行してTeradata Vantageとのセッションを確立することができます。
TPAリセットを実行しなくても、一部のJWTサポート プロパティを変更できます。例えば、MechanismEnabledおよびJWTで始まる任意のメカニズム プロパティを変更できます。TPAをリセットせずに、<IdentityProvider>要素と<UserNameMapping>要素を追加、削除、変更することもできます。run_tdgssconfigは、TPAリセットの実行が必要なタイミングを示します。
JWTライブラリ構成: TdgssLibraryConfigFile.xml
<!-- JWT: JSON Web Token --> <Mechanism Name="JWT" ObjectId="1.3.6.1.4.1.28698.4.302.1.4" LibraryName="gssp2jwt" Prefix="JWT" InterfaceType="custom"> <MechanismProperties AuthenticationSupported="yes" AuthorizationSupported="no" SingleSignOnSupported="yes" NegotiationSupported="no" DefaultNegotiatingMechanism="no" DefaultMechanism="no" MechanismEnabled="yes" MechanismRank="30" MechanismIgnoresQop="no" GenerateCredentialFromLogon="yes" DelegateCredentials="no" MutualAuthentication="no" ReplayDetection="yes" OutOfSequenceDetection="yes" ConfidentialityDesired="yes" IntegrityDesired="yes" AnonymousAuthentication="no" DesiredContextTime="" DesiredCredentialTime="" CredentialUsage="0" DHKeyP2048="8AB3F86E8D374B782F31DAD5F27D6AFDA30150C11A20CF6346712AE2D2C6B70A5B79D45D4C0C232A065B207B121B2C33E147B5983C38A1087F272703B0B839CBA6F71C5D0EB51EC890934EACF2C7DD2A1DF6F55E89B145A0359D35EF8FB6C561E157B13FF927A35E69963648614902B1034EF71197F545DEF3236244EADAE0689E624CF1245953630AE042BD797C4025E37C51D9F6CBDA0B2278FA7D5CA2D9CA930BE2968330C811A4BA4D0845333C0D62E3EE742154F6B62F2951CD8C73C43B5AA1C7819DEF1D7C9314411E465F8E4796666594AADE0AEB3F1256E5719E7AE54DD34FFDA949634E4A293C5BC60AF258BB9FE558086E83B3DD3D7491966DEE93"8FA7D5CA2D9CA930BE2968330C811A4BA4D0845333C0D62E3EE742154F6B62F2951CD8C73C43B5AA1C7819DEF1D7C9314411E465F8E4796666594AADE0AEB3F1256E5719E7AE54DD34FFDA949634E4A293C5BC60AF258BB9FE558086E83B3DD3D7491966DEE93" DHKeyG2048="00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005" JWTDecryptionKeyFile="" JWTVerificationKeyFile="" JWTSkewTime="300" JWTKeyDirectory="" JWTDynamicKey="no" JWTTokenExchange="no" JWTClientTlsCACertDir="" JWTKeyCacheRefreshTime="1440" JWTClientUseTls="yes" JWTRestAPITimeLimit="10" JWTRestAPIMaxTimeAllowed="20" /> <!-- Low, Medium and High QOP values are all set to "Default" unless the Low, Medium and High values are explicitly set in TdgssUserConfigFile.xml --> <!-- DEFAULT QOP --> <MechQop Value="Default"> AES-K128_AEADGCM_PKCS5Padding_SHA2_DH-K2048 AES-K192_AEADGCM_PKCS5Padding_SHA2_DH-K2048 AES-K256_AEADGCM_PKCS5Padding_SHA2_DH-K2048 AES-K128_GCM_PKCS5Padding_SHA2_DH-K2048 AES-K192_GCM_PKCS5Padding_SHA2_DH-K2048 AES-K256_GCM_PKCS5Padding_SHA2_DH-K2048 AES-K128_CBC_PKCS5Padding_SHA1_DH-K2048 AES-K192_CBC_PKCS5Padding_SHA1_DH-K2048 AES-K256_CBC_PKCS5Padding_SHA1_DH-K2048 </MechQop> </Mechanism>
例: ユーザー構成ファイルのJWT
以下は、JWTメカニズムを示すTdgssUserConfigFile.xmlの一部です。
<!-- JWT --> <!-- To modify JWT mechanism configuration, uncomment this section and edit --> <Mechanism Name="JWT"> <MechanismProperties MechanismEnabled="yes" DefaultMechanism="no" JWTDynamicKey="yes" JWTTokenExchange="yes" JWTClientTlsCACertDir="/etc/ssl/certs" /> <TokenExchanger Ref="Ping1" ClientId="account" ClientSecret="Y2I2OGZkZTctM2FjMC00OWQwLWIzMGUtODJjMGIxNTY2NzAy" ClientSecretProtected="yes" /> <IdentityProvider Id="Keycloa21" Url="https://keycloak1/auth/realms/uda" Type="keycloak" ValidateByTokenExchange="yes" /> <IdentityProvider Id="ping1" Url="https://auth.pingone.asia/0cea60dc-0279-4b55-98a1-eca07904733a/as" Type="PingFederate" ValidateByTokenExchange="no" /> <UserNameMapping Claim="given_name" Match="(\w+)" DatabaseName="${1}" /> <UserNameMapping Claim="sub" Match="(\w+).*.com" DatabaseName="${1}" /> <UserNameMapping Claim="preferred_username" Match="(\w+)@(\w+).com" DatabaseName="${1}" /> </Mechanism> (end of commented out section)-->
関連情報
JWTについての詳細は、https://tools.ietf.org/html/rfc7519を参照してください。
JWTの構成についての詳細は、Single Sign-onの構成を参照してください。
JWTのプロパティについての詳細は、JWTサポート プロパティを参照してください。