2013-07-23 4 views
1

Active MQ를 처음 사용합니다. Active MQ (또는 Apollo)에서 다음과 같은 것이 가능한지 궁금합니다.ActiveMQ 주제 및 보안 (또는 Apollo)

기본적으로 특정 사이트를 사용하거나 사용하지 않도록 설정하는 메시지가 생성됩니다. ActiveMQ에 메시지 (사용/사용 안 함)가 전송되면 메시지의 라우팅 키에 따라 해당 메시지의 여러 사용자가있을 수 있습니다. 예를 들어 메시지가 사이트 A를 사용하도록 설정하는 경우 라우팅 키는 site.A.enable이됩니다. 대기업 사이트 A 대기열을 모니터링하는 사이트 A는이 메시지뿐만 아니라 모든 활성화/비활성화 메시지를 모니터하는 시스템 전체 프로세서를 얻습니다.

이제 액티브 MQ에서 주제를 사용하여이 작업을 수행 할 수 있다고 생각합니다. SiteA는 site.A.*의 모든 주제를 구독하고 시스템 프로세스는 site.*.enablesite.*.disable의 모든 주제를 구독합니다. ActiveMQ에서 그렇게하는 것이 가장 좋은 방법입니까?

는 또한 사이트 A가 site.B.* 또는 site.C.* 주제에 가입 할 수 있는지 확인하려면. 그들은 site.A.* 에게서만 메시지를받을 수 있습니다. 그리고 시스템 프로세스는 모든 site.*.* 주제에 액세스 할 수 있습니다. 나는 또한 이것이 보안 플러그를 통해 이루어질 수 있다고 생각한다. 난 그냥 설정 파일을 업데이 트하고 각 사이트 주제에 대한 읽기/쓰기/관리 액세스를 지정하고 연결하는 사이트를 식별하는 사용자/패스 또는 LDAP에 연결합니다. 맞습니까? 사이트가 외부 사이트 인 경우 작동합니까?

나는 최소한의 구성/설치를 새 사이트를 추가 할 수 있어야합니다. siteX가 온라인 상태가되면 게시자 코드는 첫 번째 메시지가 게시 될 때 동적으로 생성되는 site.X.*이라는 주제를 제외하고 다른 모든 메시지와 마찬가지로 메시지를 게시합니다. 그리고 소비자들은 site.X에서 동적으로 소비되기 시작할 수 있습니다.

여기가 내 문제입니다. 사이트 X가 site.X 항목에만 "동적으로"액세스 할 수있는 보안을 어떻게 추가합니까? 필자는 설정 파일을 편집하고 새 사이트의 보안 항목을 추가해야한다고 생각합니다. 그리고 나서 새로운 설정을 선택하기 위해 서버를 중지하거나 시작해야합니다. 서버의 설정을 편집 할 수는 있지만 새 사이트를 추가 할 때마다 중지/시작을 할 수 있다고는 생각하지 않습니다.

더 좋은 방법이 있나요?

감사합니다.

답변

1

개요는 꽤 합리적인 것입니다. 각 사이트에 대해 새 ActiveMQ 사용자를 생성하고 권한 부여 플러그인을 사용하여 해당 사용자에게 쓰기 및 관리 권한을 site.<whatever>에 부여해야합니다. 인증 및 권한 세부 사항이 모두 activemq.xml에있는 간단한 보안 플러그인을 사용하는 경우 각 사이트 추가 후 ActiveMQ를 다시 시작해야합니다.

이 작업을 자동으로 수행하려는 경우 (실제로 동적으로 수행 할 수는 없음) LDAP 버전의 인증 및 권한 부여 플러그인을 사용하고 LDAP에 적절한 자격 증명 및 권한을 작성하는 스크립트가 있어야합니다 사이트가 설치 될 때. 처음에는 사이트에 자격 증명을 추가하기 위해 이미 스크립트 단계가 필요하다고 생각합니다. 따라서 큰 문제는 아닙니다. ActiveMQ가 재시작하지 않고 변경 사항을 선택해야한다고 확신하지만이 방법을 직접 시도하지는 않았으므로이를 테스트해야합니다.

+0

감사합니다. LDAP가 작동했습니다. 모든 작업을 함께 처리하려면 며칠이 걸렸습니다 (jaasAuthenticationPlugin과 cachedLDAPAuthorizationMap이 모두 필요합니다. 사양에는 명확하지 않습니다). – Dan

+0

굉장한 피드백에 감사드립니다!cachedLDAPAuthorizationMap을 인식하지 못했습니다. –

+0

@ Dan, 그동안 알고 있었지만 apollo.xml과 login.config를 게시 하시겠습니까? 임씨는 너와 아주 비슷한 것을하려고 애쓰며 설정에 문제가있다. 감사 – scphantm