PrivateCredentialPermission — 개인 자격 증명 보호 권한
PrivateCredentialPermission — 개인 자격 증명 보호 권한
PrivateCredentialPermission은 특정 Subject에 속하는 개인(비공개) 자격 증명(credential)에 대한 접근을 보호하는 데 사용되는 클래스예요. Subject는 Set of Principals로 표현돼요.
본문
public final class PrivateCredentialPermission extends Permission
이 권한의 target name은 Credential 클래스 이름과 Set of Principals를 지정해요. 이 권한의 유효한 actions 값은 오직 "read"뿐이에요. target name은 다음 문법을 따라야 해요.
CredentialClass {PrincipalClass "PrincipalName"}*
예를 들어 다음 권한은 com.sun.Principal이 이름 "duke"인 Subject가 소유한 com.sun.PrivateCredential에 대한 접근을 부여해요. 아래 포함된 예시들은 단순함을 위해 grant 문에 Codebase, SignedBy, Principal 정보를 담지 않았지만, 실제 정책 구성에서는 적절할 때 그 정보를 지정해야 해요.
grant {
permission javax.security.auth.PrivateCredentialPermission
"com.sun.PrivateCredential com.sun.Principal \"duke\"", "read";
};
CredentialClass가 "*"이면 지정된 Subject에 속하는 모든 개인 자격 증명에 대한 접근이 부여돼요. "PrincipalName"이 "*"이면 지정된 Principal을 가진 Subject가 소유한 지정된 Credential에 대한 접근이 부여돼요 (실제 이름은 중요하지 않아요). 아래는 a.b.Principal을 가진 Subject가 소유한 a.b.Credential에 대한 접근을 부여해요.
grant {
permission javax.security.auth.PrivateCredentialPermission
"a.b.Credential a.b.Principal \"*\"", "read";
};
PrincipalClass와 "PrincipalName"이 모두 "*"이면 어떤 Subject든 소유한 지정된 Credential에 대한 접근이 부여돼요. 게다가 PrincipalClass/PrincipalName 쌍은 반복될 수 있어요. 예를 들어 아래는 최소 두 개의 Principal(a.b.Principal 이름 "duke"와 c.d.Principal 이름 "dukette")이 연관된 Subject가 소유한 개인 자격 증명 a.b.Credential에 대한 접근을 부여해요.
이 권한은 java.security.Permission을 상속받아서 접근 제어 프레임워크 안에서 동작해요. JAAS에서 Subject의 개인 자격 증명 집합에 접근·수정할 때 필요한 권한이에요.