PrivateCredentialPermission — 개인 자격 증명 보호 권한

PrivateCredentialPermission — 개인 자격 증명 보호 권한

PrivateCredentialPermission은 특정 Subject에 속하는 개인(비공개) 자격 증명(credential)에 대한 접근을 보호하는 데 사용되는 클래스예요. SubjectSet of Principals로 표현돼요.

출처: Java API Reference

본문

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의 개인 자격 증명 집합에 접근·수정할 때 필요한 권한이에요.

더 알아보기 (Learn more)