임차인마다 Java 보안 관리자에 다중 정책 구성 파일을로드하려고합니다. java secuirty tutorial가 지정했기 때문에 정책 파일에 여러 개의 정책 파일을로드 할 수는 있지만, 내 멀티 테넌트 보안 모델에서 런 타임 중에 어떤 정책 파일을 어떤 사용자에게로드해야 하는지를 지정할 수있는 방법은 무엇입니까? 기본 보안 모델.Java의 다중 점유자 보안 관리자
답변
약간 무서운 것 같습니다. 가능하다면 각 임차인마다 다른 VM을 사용합니다. 그렇게 할 수 없다면 Policy.setPolicy를 사용하고 싶을 것입니다. 기본적으로 여러 정책을 감싸는 래퍼 인 Policy의 사용자 지정 구현이 필요합니다. 아마도 현재 스레드에 적용되는 사용자 컨텍스트를 확인한 다음 적합한 래핑 된 Policy 구현에 위임하기 위해 일부 ThreadLocal 변수를 참조해야합니다. 정책 파일을 읽으려면 Sun security provider을 직접 참조해야 할 것입니다. 기본적으로 리플렉션을 거부하는 것을 잊지 마십시오. 그렇지 않으면 정책 논리가 우회하지 않을 수 있습니다.
제안을 주셔서 감사합니다. "기본적으로 반영을 거부하는 것을 잊지 마십시오. 또는 정책 논리가 우회하는 것을 쉽게 피할 수 있습니다."이 시점에서 더 자세히 설명 할 수 있습니까? – CharmGale
코드가 특정 작업을 수행 할 수 없도록 보안 관리자를 사용하고 있습니다. 그러나 리플렉션을 사용하면 보안 관리자가 사용하는 가정을 위반하는 것을 포함하여 거의 모든 작업을 수행 할 수 있습니다. 리플렉션 호출이 private 변수를 직접 수정하고 public 메서드의 액세스 검사를 돌아 다니는 경우를 상상해보십시오. "기본적으로"라고 말했을 때 나는 반사를 비활성화함으로써 시작을 의미했습니다. 그런 다음 필요에 따라 특정 사용을 허용하십시오 (화이트리스트). –
정말, 스레드를 찾는 데 의존하지 마십시오. 애플릿은 ThreadGroup을 사용하지만 많은 해커 및 비공개 인터페이스가 있습니다./가능하다면 입주자마다 절차를 확실히 거쳐야합니다. –
this blog post을보십시오. Jens Nordahl은 신뢰할 수없는 플러그인을 샌드 박스에 저장하는 방법을 설명합니다.
ps. 이 게시물을 부탁 드려 죄송 합니다만, Google에서 최고입니다.
- 1. 다중 사용자 암호 관리자 보안 전략
- 2. 다중 도메인을 지원하는 다중 점유자 응용 프로그램을 테스트하는 방법
- 3. 자바 보안 관리자
- 4. Java의 다중 암호화
- 5. Java의 다중 클라이언트 소켓?
- 6. JPA 다중 트랜잭션 관리자
- 7. 유니온 플랫폼 : 관리자 암호 보안
- 8. eXist 구성 - LDAP 보안 관리자
- 9. Eclipse에서 Tomcat 보안 관리자 구성
- 10. NHibernate + Castle Windsor (단일 응용 프로그램, 다중 DB)를 사용하는 다중 점유자
- 11. Perl과 Java의 다중 상속이 동일합니까?
- 12. Java의 다중 차원을위한 Adaboost 구현
- 13. HTTP 게시물과 Java의 다중 스레드
- 14. Java의 다중 플랫폼 2D 그래픽
- 15. Java의 JTree에 다중 차원 배열
- 16. lambdaj와 Java의 다중 정렬 조건
- 17. Java의 다중 스레드 벤치 마크
- 18. SSIS의 다중 파일 연결 관리자
- 19. Java의 짧은 URL 보안 번호 암호화?
- 20. Java의 보안 API AuthSub (Google 캘린더 API)
- 21. Java의 보안 URL에서 XML을 비 정렬 화하십시오.
- 22. WCF 및 다중 보안 모델
- 23. MVC 다중 사용자 인증/보안
- 24. TFS 2012 다중 보안 그룹
- 25. 기본 관리자 (스프링 3, 스프링 보안)
- 26. 사용자로부터 PHP 파일 관리자 보안 설정
- 27. 사용자 지정 보안 관리자 (IInternetSecurityManager) 만들기
- 28. Java의 다중 스레드 오브젝트 → 오브젝트 캐시 맵?
- 29. 클래스 계층 구조 설계 - Java의 다중 상속
- 30. Java의 다중 catch에서 예외 변수의 유형은 무엇입니까?
왜 보안 관리자를 별도로 갖고 싶습니까? 별도의 코드 소스를 다르게 처리하는 보안 관리자가 다르게 충분하지 않습니까? –
아니요, 단일 보안 관리자가 필요합니다. 이미 구현 된 보안 관리자를 실제로 확장하는 다중 점유자 보안 관리자. 다른 코드 소스를 다르게 처리하는 것으로 충분할 것이라고 말한 것처럼 말입니다. 하지만 내가 만나는 문제는 각 임차인마다 다르게 사용하는 방법에 대한 논리를 지정할 수 없다는 것입니다. (다른 임차인을 위해 보안 관리자에로드 할 사람을 지정하십시오.) – CharmGale
codeBase를 기반으로 권한을 지정할 수 있습니다. 그러나 별도의 프로세스와 OS 보안을 사용할 수 있다면 강력히 권합니다. –