JWTメカニズム - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - Advanced SQL Engineセキュリティ管理ガイド

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/ppz1593203596223.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1100
Product Category
Software
Teradata Vantage

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サポート プロパティを参照してください。