Liberty에서 MongoDB 연결에 대해 애플리케이션 관리 방식 또는
컨테이너 관리 보안을 구성할 수 있습니다.
이 태스크 정보
애플리케이션 관리 보안이나 컨테이너 관리 보안을 사용하여
MongoDB 애플리케이션의 보안을 설정할 수 있습니다.
두 보안 유형 모두에서, MongoDB 연결을 보호하도록 명시된 인증을 가지고 MongoDB 서버를 실행해야 합니다.
프로시저
- MongoDB에 대해 애플리케이션 관리 보안을 구성하십시오.
mongo 구성 요소가 사용자 및 비밀번호 속성을 지정하지 않는 경우
본 제품은 애플리케이션이 애플리케이션 관리 보안을 사용하거나 보안을 사용하지 않는 것으로 가정합니다.
애플리케이션 관리 보안을 사용하려면 애플리케이션은 다음과 같이 MongoDB API를 사용하여 인증해야 합니다.
<mongo id="mongo1" libraryRef="MongoLib" />
<mongoDB jndiName="mongo/testdb" mongoRef="mongo1" databaseName="db-test-1"/>
{ ...
// Java snippet
@Resource(name = "mongo/testdb")
protected DB db;
private void auth() {
if (!db.isAuthenticated())
db.authenticate("user", "password".toCharArray());
}
- MongoDB에 대해 컨테이너 관리 보안을 구성하십시오.
컨테이너 관리 보안을 사용하려면 mongo 구성 요소가 사용자와 비밀번호를 지정해야 합니다.
각 mongo 구성에 대해 한 명의 사용자만 허용됩니다. 모든 MongoDB 인스턴스는
지정된 사용자와 비밀번호를 사용합니다. 예를 들어, 다음 예제에서 mongo1을 참조하는 모든 MongoDB 인스턴스는
mongoUserName과 pw를 사용합니다.
<mongo id="mongo1" libraryRef="MongoLib" user="mongoUserName" password="pw"/>
<mongoDB jndiName="mongo/testdb" mongoRef="mongo1" databaseName="db-test-1"/>
<mongoDB jndiName="mongo/testdb2" mongoRef="mongo1" databaseName="db-test-2"/>
컨테이터 관리 보안을 사용하는 애플리케이션은 com.mongodb.DB.authenticate(user,
pass)를 호출하면 안 됩니다.
다음에 수행할 작업
MongoDB 서버가 실행 중인지 확인한 다음 사용자 애플리케이션에서
MongoDB 보안을 테스트하십시오.