AttachPermission

AttachPermission (연결 권한)

SecurityManager가 설정되어 있을 때, 코드가 VirtualMachine.attach를 호출해 대상 가상 머신에 연결을 시도하면 검사되는 권한입니다. AttachProvider가 생성될 때도 함께 검사되죠.

출처: Java API Reference

본문

AttachPermission 객체는 이름(또는 "대상 이름")을 담지만 액션 목록은 갖지 않습니다. 즉 이름이 붙은 권한을 갖거나 갖지 않거나, 두 가지 상태만 존재해요. 이 권한의 대상 이름(target name)은 두 가지입니다.

  • attachVirtualMachine — 다른 자바 가상 머신에 연결하고 그 VM에 에이전트를 로드할 수 있게 합니다. 대상 VM을 제어할 수 있으므로, 공격자가 그 VM을 악용해 이상 동작을 유발할 위험이 있어요.
  • createAttachProviderAttachProvider 인스턴스를 생성할 수 있게 합니다. 다른 자바 가상 머신에 연결하는 데 쓰일 수 있는 AttachProvider를 만들 위험이 있습니다.
public final class AttachPermission extends BasicPermission

프로그래머가 AttachPermission 객체를 직접 만드는 일은 흔하지 않습니다. 보통 보안 정책 파일을 읽는 보안 정책 코드가 이 객체를 대신 생성해 줘요.

public AttachPermission(String name)
public AttachPermission(String name, String actions)

name은 반드시 "attachVirtualMachine" 또는 "createAttachProvider" 중 하나여야 합니다. null을 넘기면 NullPointerException, 유효하지 않은 이름이면 IllegalArgumentException이 발생해요. 두 번째 생성자의 actions는 사용되지 않으며 null이거나 빈 문자열이어야 합니다.

더 알아보기 (Learn more)

Java 공식 API