명시 MBean 보안 정책 정의
특정 MBean에 대한 MBean 보안 정책을 명시적으로 정의할 수 있습니다. 이 예제를 사용하여 MBean 보안 정책을 정의하십시오.
시작하기 전에
이 태스크 정보
다음 태스크를 수행하여 명시 보안 정책을 정의하십시오.
프로시저
- MBean sample.xml 설명자 파일로 정의한 MBean이 있는 것으로 가정하십시오.
- MBean에 대한 명시적인 보안 정책을 sampleSecurity.xml 파일에 지정하십시오. 네이밍 규칙은 MBean 보안 설명자 파일의 이름으로서 MBean 설명자 파일 이름에 "Security"를 추가하는 것입니다.
- MBean 로더가 찾을 수 있도록 MBean 보안 설명자 파일과 동일한 디렉토리에 보안 정책 설명자 파일을 배치하십시오. 이 디렉토리는 보안 정책 설명자 파일의 일반 위치입니다. MBean 보안 설명자 파일이 없는 경우 기본 MBean 보안 정책을 사용합니다.
- MBean 정책 로더가 MBean 보안 정책과 MBean을 연관시킬 수 있도록 sampleSecurity.xml 파일의 자원 요소 자원-이름 필드에 MBean 이름 sample을 지정하십시오. MBean 보안 설명자 정의는 J2EE(Java 2 Platform, Enterprise Edition) 전개 설명자가 정의하는 보안 정책과 매우 유사합니다.
결과
예
다음 예제는 sampleSecurity.xml 파일의 MBean 보안 설명자 파일 형식을 설명합니다.
행 2는 MBean 보안 설명자 스키마를 RolePermissionDescriptor.dtd 파일로 정의하도록 지정합니다. 이 파일은 WebSphere® Application Server의 문서 유형 정의(DTD)입니다.
행 3과 같이 각 MBean 설명자 파일에는 단일 역할-사용 권한 요소가 포함됩니다. 관리 보안 역할 계층 구조는 행 9와 행 37 사이의 보안-역할 요소에 정의됩니다. 관리 보안 역할에는 상속 관계가 있습니다.
14 - 21행과 같이, 운영자 보안 역할은 모니터 보안 역할을 나타냅니다. 이는 운영자 역할의 사용자가 모니터 역할의 모든 사용 권한을 갖고 있음을 의미합니다. 행 30 - 38에 정의된 대로, 관리자 보안 역할은 구성자 및 운영자 보안 역할을 모두 의미합니다. 모든 MBean 보안 설명자 파일은 일반적으로 역할 관계 정의가 같으므로 이 섹션을 잘라 MBean 보안 설명자 파일에 붙여넣을 수 있습니다.
보안-역할 요소 다음에 하나 이상의 메소드-사용 권한 요소가 정의됩니다. 각 메소드-사용 권한 요소는 하나 이상의 메소드에 대한 필수 역할을 정의합니다. 여러 메소드의 이름이 같은 경우 메소드 이름이 충돌하지 않도록 메소드 매개변수를 지정하십시오.
1. <?xml version="1.0" encoding="UTF-8"?>
2. <!DOCTYPE role-permission SYSTEM "RolePermissionDescriptor.dtd" >
3. <role-permission>
4. <resource>
5. <resource-name>sample</resource-name>
6. <class-name>com.ibm.ws.security.descriptor.sample</class-name>
7. <description>This is a sample for testing role permission descriptor.</description>
8. </resource>
9. <security-role>
10. <role>
11. <role-name>monitor</role-name>
12. </role>
13. </security-role>
14. <security-role>
15. <role>
16. <role-name>operator</role-name>
17. <imply>
18. <role-name>monitor</role-name>
19. </imply>
20. </role>
21. </security-role>
22. <security-role>
23. <role>
24. <role-name>configurator</role-name>
25. <imply>
26. <role-name>monitor</role-name>
27. </imply>
28. /role>
29. </security-role>
30. <security-role>
31. <role>
32. <role-name>administrator</role-name>
33. <imply>
34. <role-name>operator</role-name>
35. <role-name>configurator</role-name>
36. </imply>
37. </role>
38. </security-role>
39. <method-permission>
40. <description>Sample method permission table</description>
41. <role-name>operator</role-name>
42. <method>
43. <description>Sample operation</description>
44. <resource-name>sample</resource-name>
45. <method-name>stop</method-name>
46. </method>
47. </method-permission>
48. <method-permission>
49. <description>Sample method permission table</description>
50. <role-name>operator</role-name>
51. <method>
52. <description>Sample operation</description>
53. <resource-name>sample</resource-name>
54. <method-name>start</method-name>
55. <method-params>
56. <method-param>java.lang.String</method-param>
57. <method-param>java.lang.String</method-param>
58. </method-params>
59. </method>
60. </method-permission>
61. <method-permission>
62. <description>Sample method permission table</description>
63. <role-name>operator</role-name>
64. <method>
65. <description>Sample operation</description>
66. <resource-name>sample</resource-name>
67. <method-name>monitor</method-name>
68. <method-params>
69. </method-params>
70. </method>
71. </method-permission>
72. <method-permission>
73. <description>Sample method permission table</description>
74. <role-name>configurator</role-name>
75. <method>
76. <description>Sample operation</description>
77. <resource-name>sample</resource-name>
78. <method-name>setValue</method-name>
79. <method-params>
80. <method-param>java.lang.Boolean</method-param>
81. </method-params>
82. </method>
83. </method-permission>
84. <method-permission>
85. <description>Sample method permission table</description>
86. <role-name>monitor</role-name>
87. <method>
88. <description>Sample operation</description>
89. <resource-name>sample</resource-name>
90. <method-name>getValue</method-name>
91. </method>
92. </method-permission>
93. </role-permission>