DB2 데이터베이스에 신뢰 컨텍스트 사용
애플리케이션에서 신뢰 컨텍스트를 사용 가능하게 함으로써 애플리케이션 서버와 DB2® 데이터베이스 서버의 상호 관계를 향상시킬 수 있습니다. 신뢰 연결을 사용하면 애플리케이션을 통해 DB2 데이터베이스에 연결하는 클라이언트의 ID 레코드를 보존할 수 있습니다. 즉, 신뢰 연결은 해당 사용자의 ID에 따라 액세스 권한을 부여함으로써 보다 안전한 환경을 제공할 수 있습니다.
시작하기 전에
- Linux, UNIX 및 Windows 버전 9.5 이상에 DB2 데이터베이스를 실행하거나 z/OS®에 DB2 데이터베이스 버전 9.1 이상을 실행하는 데이터베이스 서버를 사용합니다. 자세한 지원 정보는 Application Server에 지원되는 소프트웨어 목록을 참조하십시오.
- 애플리케이션 서버에 신뢰 컨텍스트를 구성하기 위해 데이터베이스에 연결하지 않아도 됩니다.
- DB2 데이터베이스에 신뢰 컨텍스트를 사용할 수 있습니다.
- 글로벌 보안을 사용할 수 있습니다. 보안 구성에 대한 자세한 정보는 보안 설정, 사용 가능 및 마이그레이션 주제를 참조하십시오.
이 태스크 정보
신뢰 연결을 사용하여 다음을 수행할 수 있습니다.
- 호출자 ID로 DB2 데이터베이스에 액세스하여 모든 사용자에게 새 연결을 작성하지 않아도 됩니다.
- 애플리케이션 서버가 데이터베이스와 상호 작용할 때 사용자의 ID를 보존할 수 있습니다.
- 모든 특권을 단일 사용자에게 부여하지 않아 데이터베이스 보안을 강화할 수 있습니다.
- ID 전파를 이용하기 위해 resetConnection() 메소드를 사용하는 기존 모델과 비교하여 성능을 향상시킬 수 있습니다.
참고: 비신뢰 연결을 신뢰 연결로 사용할 수 없습니다. 연결 풀에 비신뢰 연결만 포함되고 신뢰 연결이 요청되는 경우
신뢰 연결의 데이터베이스로 새 요청이 전송됩니다.
프로시저
애플리케이션에 신뢰 컨텍스트를 사용 가능하게 하십시오.
- 새 애플리케이션을 설치할 때 신뢰 컨텍스트를 사용 가능하게 합니다.
- 설치 마법사에서 단계 7: 자원으로 자원 참조 맵핑에 도달할 때까지 애플리케이션에 대한 일반 설치를 수행하십시오.
- 단계 7: 자원으로 자원 참조 맵핑의 인증 방법 지정 섹션에서 신뢰 연결 사용(일대일 맵핑)을 선택하십시오.
- 목록에서 DB2 데이터 소스에 이미 정의된
별명과 일치하는 인증 별명을 선택하십시오. 적합한 별명을 정의하지 않은
경우 설치를 계속하고 애플리케이션이 설치된 후 신뢰
컨텍스트를 사용 가능하게 하십시오. 참고: 사용할 수 있는 클라이언트 ID가 없는 경우 사용할 기본 사용자(UNAUTHENTICATED)를 지정할 수 있지만, 해당 기본 ID(UNAUTHENTICATED)는 DB2 데이터베이스에도 있어야 합니다. com.ibm.mapping.unauthenticatedUser가 널 또는 빈 문자열로 설정되면, 애플리케이션 서버는 기본 사용자(UNAUTHENTICATED)를 사용합니다. 자세한 정보는 신뢰 연결의 보안 특성 설정에 대한 정보를 참조하십시오.
- 신뢰 컨텍스트가 사용 가능한 데이터 소스를 테이블에서 선택하십시오.
- 적용을 클릭하십시오.
- 사용자 정의 로그인 구성의 특성을 편집하십시오. 신뢰 연결의
보안 특성 설정 주제를 참조하십시오.참고: 작업할 신뢰 연결에 대한 모든 인증 값을 없음으로 설정했는지 확인하십시오. 예를 들어, DB2 연결에 신뢰 연결을 사용한 경우에는 연결 테스트 단추가 작동하지 않고 다음과 같이 해당 조작이 실패하게 됩니다.
server1 서버의 jdbcTestDB 데이터 소스에 대한 연결 테스트 조작에 실패했습니다. at node wasvm04Node02 with the following exception: java.sql.SQLException: [jcc][t4][10205][11234][3.59.81] 널 사용자 ID는 지원되지 않습니다. ERRORCODE=-4461, SQLSTATE=42815 DSRA0010E: SQL 상태 = 42815, 오류 코드 = -4,461. 세부사항은 JVM 로그를 참조하십시오.
- 설치 마법사를 완료하십시오.
- 이미 설치된 애플리케이션에서 신뢰 컨텍스트를 사용 가능하게 합니다.참고: DB2 데이터 소스의 propagateClientIdentityUsingTrustedContext 사용자 정의 특성을 제거하십시오(있는 경우). propagateClientIdentityUsingTrustedContext가 사용 가능한 경우 애플리케이션 서버는 런타임 시 다음 경고를 발행합니다.
애플리케이션 서버는 런타임 시 요청이 신뢰 컨텍스트를 사용하는지 여부를 판별하고 애플리케이션 서버는 이러한 정보를 기반으로 신뢰 컨텍스트를 사용 가능하게 합니다. 그러므로 애플리케이션 서버에 있는 동일 데이터 소스가 신뢰 및 신뢰되지 않는 액세스 둘 모두에 사용될 수 있습니다.IDENTITY_PROPAGATION_PROP_WARNING=DSRA7029W: The propagateClientIdentityUsingTrustedContext custom property for the Datasource is no longer used, value will be ignored.
- Websphere 엔터프라이즈 애플리케이션 > application_name을 클릭하십시오.
- 자원 표제에서 자원 참조를 클릭하십시오.
- 인증 방법 지정 섹션에서 신뢰 연결 사용(일대일 맵핑)을 선택하십시오.
- 목록에서 DB2 데이터 소스에 이미 정의된
별명과 일치하는 인증 별명을 선택하십시오. 적합한 별명을 정의하지
않은 경우 다음과 같이 새 별명을 정의하십시오.
- JDBC > 데이터 소스 > data_source_name을 클릭하십시오.
- 관련 항목 표제에서 JAAS - J2C 인증 데이터를 클릭하십시오.
- 새로 작성을 클릭하십시오.
- 일반 특성에서 별명의 특성을 정의하십시오.
- 확인을 클릭하십시오.
참고: 사용할 수 있는 클라이언트 ID가 없는 경우 사용할 기본 사용자(UNAUTHENTICATED)를 지정할 수 있지만, 해당 기본 ID(UNAUTHENTICATED)는 DB2 데이터베이스에도 있어야 합니다. com.ibm.mapping.unauthenticatedUser가 널 또는 빈 문자열로 설정되면, 애플리케이션 서버는 기본 사용자(UNAUTHENTICATED)를 사용합니다. 자세한 정보는 신뢰 연결의 보안 특성 설정에 대한 정보를 참조하십시오. - 신뢰 컨텍스트가 사용 가능한 데이터 소스를 테이블에서 선택하십시오.
- 적용을 클릭하십시오.
- 사용자 정의 로그인 구성의 특성을 편집하십시오. 신뢰 연결의 보안 특성 설정 주제를 참조하십시오.
다음에 수행할 작업
- TrustedConnectionMapping 로그인 구성 및 데이터베이스 서버가 신뢰 컨텍스트를 지원하지 않으면 애플리케이션 서버가 경고를 발행합니다. 그런 다음, 애플리케이션 서버는 정상적인 비신뢰 연결을 리턴합니다. 데이터베이스 서버에 DB2 데이터베이스를 사용하고 해당 서버가 신뢰 연결을 지원하지 않으면 DB2 데이터베이스 서버에서 예외가 발생합니다.
- TrustedConnectionMapping 로그인 구성을 사용하고 ThreadIdentity가 지정되면,
애플리케이션 서버에서 다음 예외가 발생합니다.
IDENTITY_PROPAGATION_CONFLICT2_ERROR=DSRA7028E: ThreadIdentity 특성이 사용 가능한 경우 TrustedConnectionMapping 로그인 구성을 사용할 수 없습니다.
- TrustedConnectionMapping 로그인 구성을 사용하고 재인증이 지정되면, 애플리케이션 서버에서
다음 예외가 발생합니다.
IDENTITY_PROPAGATION_CONFLICT1_ERROR=DSRA7025E: TrustedConnectionMapping 로그인 구성을 사용할 경우 데이터 소스의 재인증 특성을 사용 가능하게 할 수 없습니다.