사용자, 그룹 및 액세스 권한 관리

CRX 저장소에 대한 액세스 활성화에는 다음 몇 가지 항목이 포함됩니다.

기본 요소는 다음과 같습니다.

사용자 계정 CRX는 사용자 계정에 저장된 세부 사항에 따라 사용자(해당 사용자 또는 다른 응용 프로그램)를 식별 및 확인하여 액세스를 인증합니다.

CRX에서 모든 사용자 계정은 작업 공간의 노드입니다. CRX 사용자 계정에는 다음 속성이 있습니다.

  • CRX의 한 사용자를 나타냅니다.

  • 사용자 이름과 암호가 들어 있습니다.

  • 해당 작업 공간에 적용됩니다.

  • 하위 사용자를 포함할 수 없습니다. 계층적 액세스 권한의 경우 그룹을 사용해야 합니다.

  • 사용자 계정에 대한 액세스 권한을 지정할 수 있습니다.

    하지만 관리를 간소화하려면 그룹 계정에 액세스 권한을 할당하는 것이 좋습니다(대부분의 경우). 각 개인 사용자에 대한 액세스 권한을 할당하는 것은 매우 까다로워져 관리하기가 매우 어렵습니다. 단, 단 한 개 또는 두 개의 인스턴스만 존재하는 경우 예외적인 시스템 사용자가 예외입니다.

그룹 계정 그룹 계정은 사용자 및/또는 기타 그룹의 컬렉션입니다. 그룹에 할당된 액세스 권한이 자동으로 해당 그룹의 모든 사용자에게 적용되기 때문에 관리를 간소화하는 데 사용됩니다. 사용자는 그룹에 속할 필요는 없지만 여러 그룹에 속하기도 합니다.

CRX에서 그룹의 속성은 다음과 같습니다.

  • 이는 공통 액세스 권한이 있는 사용자 그룹을 나타냅니다. 작성자 또는 개발자를 예로 들 수 있습니다.

  • 해당 작업 공간에 적용됩니다.

  • 회원이 있을 수 있습니다. 개인 사용자 또는 다른 그룹이 될 수 있습니다.

  • 멤버 관계를 사용하여 계층 그룹화를 수행할 수 있습니다. 저장소의 다른 그룹 바로 아래에 그룹을 배치할 수 없습니다.

  • 모든 그룹 구성원에 대한 액세스 권한을 정의할 수 있습니다.

액세스 권한 CRX는 액세스 권한을 사용하여 저장소의 특정 영역에 대한 액세스를 제어합니다.

이 작업은 저장소의 리소스(노드 또는 경로)에 대한 액세스를 허용하거나 거부하는 권한을 지정하여 수행됩니다. 다양한 권한을 할당할 수 있으므로 현재 요청에 적용할 수 있는 조합을 결정하도록 평가되어야 합니다.

CRX에서는 사용자 및 그룹 계정 모두에 대한 액세스 권한을 구성할 수 있습니다. 그런 다음 두 가지 모두에 적용된다.

액세스 권한 평가 방법

NOTE

CRX는 JSR-283에 의해 정의된 대로 액세스 제어를 구현합니다.

CRX 저장소의 표준 설치는 리소스 기반 액세스 제어 목록을 사용하도록 구성되어 있습니다. 이는 JSR-283 액세스 컨트롤의 구현과 Jackrabbit에 있는 구현 중 하나입니다.

주제 및 주도자

CRX는 액세스 권한을 평가할 때 두 가지 주요 개념을 사용합니다.

  • 주체가 액세스 권한을 가진 엔터티입니다. 주도자는 다음과 같습니다.

    • 사용자 계정.

    • 그룹 계정

      사용자 계정이 하나 이상에 속한 경우 해당 그룹 주도자와 그룹화됩니다.

  • 요청 소스를 나타내는 데 제목 이 사용됩니다.

    해당 요청에 적용할 수 있는 액세스 권한을 통합하는 데 사용됩니다. 다음 제품에서 가져옵니다.

    • 사용자 주체

      사용자 계정에 직접 할당하는 권한.

    • 해당 사용자와 연결된 모든 그룹 주체

      사용자가 속한 그룹에 할당된 모든 권한
      그런 다음 요청된 리소스에 대한 액세스를 허용하거나 거부하는 데 결과가 사용됩니다.

제목에 대한 액세스 권한 목록 컴파일

CRX에서 제목은 다음 항목에 따라 다릅니다.

  • 사용자 주체
  • 해당 사용자와 연관된 모든 그룹 주도자

제목에 적용되는 액세스 권한 목록은 다음 항목에서 작성합니다.

  • 사용자 계정에 직접 할당하는 권한
  • 사용자가 속한 그룹에 할당된 모든 권한

chlimage_1-307

NOTE
  • CRX는 목록을 컴파일할 때 사용자 계층을 고려하지 않습니다.
  • CRX는 그룹을 다른 그룹의 구성원으로 포함할 때만 그룹 계층을 사용합니다. 그룹 권한에 대한 자동 상속은 없습니다.
  • 그룹을 지정하는 순서는 액세스 권한에 영향을 주지 않습니다.

요청 및 액세스 권한 해결

CRX가 요청을 처리할 때 주제의 액세스 요청을 저장소 노드의 액세스 제어 목록과 비교합니다.

따라서 Linda가 다음 저장소 구조의 /features 노드를 업데이트하도록 요청하는 경우:

chlimage_1-308

우선 순위

CRX의 액세스 권한은 다음과 같이 평가됩니다.

  • 사용자 주도자는 다음에 관계없이 항상 그룹 주도자보다 우선합니다.

    • 액세스 제어 목록의 해당 순서
    • 노드 계층에서의 해당 위치
  • 주어진 주체에 대해 주어진 노드에 대해 (최대) 1 거부 및 1이 있습니다. 구현은 항상 중복 항목을 삭제하고 허용 및 거부 항목 모두에 동일한 권한이 표시되지 않도록 합니다.

NOTE

이 평가 프로세스는 표준 CRX 설치의 리소스 기반 액세스 제어에 적합합니다.

사용자가 그룹의 멤버인 두 가지 예 aUser 를 예로 들겠습니다 aGroup.

   + parentNode
     + acl
       + ace: aUser - deny - write
     + childNode
       + acl
         + ace: aGroup - allow - write
       + grandChildNode

위의 경우:

  • aUser 에 대한 쓰기 권한이 부여되지 않습니다 grandChildNode.
   + parentNode
     + acl
       + ace: aUser - deny - write
     + childNode
       + acl
         + ace: aGroup - allow - write
         + ace: aUser - deny - write
       + grandChildNode

이 경우:

  • aUser 에 대한 쓰기 권한이 부여되지 않습니다 grandChildNode.

  • 두 번째 ACE aUser 는 중복됩니다.

여러 그룹 주도자의 액세스 권한은 계층 내부 및 단일 액세스 제어 목록 내에서 순서에 따라 평가됩니다.

우수 사례

다음 표에는 몇 가지 권장 사항 및 우수 사례가 나와 있습니다.

추천... 이유...
그룹 사용

사용자별로 액세스 권한을 할당하지 마십시오. 여기에는 몇 가지 이유가 있습니다.

  • 그룹보다 사용자가 많으므로 그룹은 구조를 단순화합니다.
  • 그룹 도움말은 모든 계정에 대한 개요를 제공합니다.
  • 그룹은 상속이 간단합니다.
  • 사용자 입력 그룹은 장기적입니다.
긍정적

항상 Allow 문을 사용하여 그룹 주체의 액세스 권한을 지정합니다(가능한 경우). Deny 문을 사용하지 마십시오.

그룹 주도자는 단일 액세스 제어 목록 내에서 계층 및 순서 내에서 순서대로 평가됩니다.

간편한 관리

새 설치를 구성할 때 상당한 시간과 비용을 들여 비용을 다시 책정할 수 있을 것으로 생각했습니다.

명확한 구조를 적용하면 지속적인 유지 관리 및 관리가 간소화되므로 현 동료 및/또는 미래의 후임자는 현재 구현되고 있는 작업을 쉽게 이해할 수 있습니다.

테스트 테스트 설치를 사용하여 다양한 사용자와 그룹 간의 관계를 파악하고 이에 대해 연습할 수 있습니다.
기본 사용자/그룹 보안 문제를 방지하기 위해 설치 후 항상 기본 사용자 및 그룹을 즉시 업데이트합니다.

사용자 관리

표준 대화 상자는 사용자 관리에 사용됩니다.

적절한 작업공간에 로그인해야 하는 경우, 두 작업 모두에서 대화 상자에 액세스할 수 있습니다.

  • CRX의 콘솔에 있는 사용자 관리 링크
  • CRX Explorer 의 보안 메뉴

chlimage_1-309

속성

  • UserID CRX에 액세스할 때 사용되는 계정의 짧은 이름입니다.

  • 주체 이름​계정의 전체 텍스트 이름입니다.

  • 암호​이 계정으로 CRX에 액세스할 때 필요합니다.

  • ntlmhash​각 새 계정에 자동으로 할당되고 암호가 변경되면 업데이트됩니다.

  • 이름, 유형 및 값을 정의하여 새 속성을 추가할 수 있습니다. 각 새 속성에 대해 저장(녹색 눈금 기호)을 클릭합니다.

그룹 멤버십 계정이 속한 모든 그룹이 표시됩니다. 상속됨 열은 다른 그룹의 멤버십으로 인해 상속된 멤버십을 나타냅니다.

GroupID(사용 가능한 경우)를 클릭하면 해당 그룹에 대한 그룹 관리가 열립니다.

가장자 가장 기능을 사용하면 사용자가 다른 사용자를 대신하여 작업할 수 있습니다.

즉, 사용자 계정은 자신의 계정으로 작동할 수 있는 다른 계정(사용자 또는 그룹)을 지정할 수 있습니다. 즉, user-B가 user-A를 가장할 수 있는 경우 user-B는 사용자-A의 전체 계정 세부 사항(ID, 이름 및 액세스 권한 포함)을 사용하여 조치를 취할 수 있습니다.

이렇게 하면 가장하는 계정을 사용하는 것처럼 가장된 계정이 작업을 완료할 수 있습니다. 예를 들어, 부재 중 또는 과도한 로드 단기 공유.

계정 중 하나를 다른 것으로 가장하면 보기가 매우 어렵습니다. 로그 파일에는 이벤트에서 가장이 발생했다는 사실에 대한 정보가 없습니다. 따라서 user-B가 user-A를 가장하는 경우 모든 이벤트는 user-A가 개인적으로 수행한 것처럼 보입니다.

사용자 계정 만들기

  1. [ 사용자 관리] 대화 상자를 엽니다.

  2. 사용자 만들기를 클릭합니다.

  3. 그런 다음 속성을 입력할 수 있습니다.

    • 계정 이름으로 사용되는 사용자 ID.
    • 로그인할 때 암호가 필요합니다.
    • 주체 이름 . 전체 텍스트 이름을 제공합니다.
    • 중간 경로트리 구조를 형성하는 데 사용할 수 있습니다.
  4. 저장(녹색 눈금 기호)을 클릭합니다.

  5. 대화 상자가 확장되어 다음을 수행할 수 있습니다.

    1. Configure Properties.
    2. 그룹 멤버십을 참조하십시오.
    3. 사칭자 정의.
NOTE

둘 다 많은 수의 신규 사용자를 설치에 등록하면 성능이 손실될 수 있습니다.

  • 사용자
  • 그룹 많은 구성원

사용자 계정 업데이트

  1. [ 사용자 관리 ] 대화 상자에서 모든 계정의 목록 보기가 열립니다.

  2. 트리 구조를 탐색합니다.

  3. 편집을 위해 열려면 필요한 계정을 클릭합니다.

  4. 변경 작업을 수행한 다음 해당 항목에 대해 저장(녹색 눈금 기호)을 클릭합니다.

  5. 닫기를 클릭하여 완료하거나 목록… .을 클릭하여 모든 사용자 계정 목록으로 돌아갑니다.

사용자 계정 제거

  1. [ 사용자 관리 ] 대화 상자에서 모든 계정의 목록 보기가 열립니다.

  2. 트리 구조를 탐색합니다.

  3. 필요한 계정을 선택하고 사용자 제거를 클릭합니다. 계정이 즉시 삭제됩니다.

NOTE

저장소에서 이 주체에 대한 노드가 제거됩니다.

액세스 권한 항목은 제거되지 않습니다. 이는 역사적 무결성을 보장합니다.

속성 정의

신규 또는 기존 계정 에 대한 속성을 정의할 수 있습니다.

  1. 해당 계정에 대해 사용자 관리 대화 상자를 엽니다.
  2. 속성 이름을 정의합니다.
  3. Select the Type from the drop-down list.
  4. 값을 정의합니다.
  5. 새 속성에 대해 저장(녹색 클릭 기호)을 클릭합니다.

기존 속성은 휴지통 심볼과 함께 삭제할 수 있습니다.

암호를 제외하고 속성을 편집할 수 없으므로 삭제하고 다시 만들어야 합니다.

암호 변경

암호 암호 변경 링크를 클릭하여 변경할 수 있는 특수 속성입니다.

CRX 탐색기의 보안 메뉴에서 암호를 사용자 계정으로 변경할 수도 있습니다.

가장자 정의

새 계정 또는 기존 계정에 대해 가장자를 정의할 수 있습니다.

  1. 해당 계정에 대해 사용자 관리 대화 상자를 엽니다.

  2. 해당 계정을 가장할 수 있는 계정을 지정합니다.

    찾아보기…를 사용하여 기존 계정을 선택할 수 있습니다.

  3. 새 속성에 대해 저장(녹색 눈금 기호)을 클릭합니다.

그룹 관리

그룹 관리에 표준 대화 상자가 사용됩니다.

적절한 작업공간에 로그인해야 하는 경우, 두 작업 모두에서 대화 상자에 액세스할 수 있습니다.

  • CRX의 콘솔에 있는 그룹 관리 링크
  • CRX Explorer 의 보안 메뉴

chlimage_1-47

속성

  • 그룹 계정​의 짧은 이름입니다.

  • 주체 이름​그룹 계정의 전체 텍스트 이름입니다.

  • 이름, 유형 및 값을 정의하여 새 속성을 추가할 수 있습니다. 각 새 속성에 대해 저장(녹색 눈금 기호)을 클릭합니다.

  • 구성원​이 그룹의 구성원으로 사용자나 다른 그룹을 추가할 수 있습니다.

그룹 구성원 현재 그룹 계정이 속하는 모든 그룹을 표시합니다. 상속됨 열은 다른 그룹의 멤버십으로 인해 상속된 멤버십을 나타냅니다.

GroupID를 클릭하면 해당 그룹에 대한 대화 상자가 열립니다.

구성원 현재 그룹의 구성원인 모든 계정(사용자 및/또는 그룹)을 나열합니다.

[ 상속됨 ] 열은 다른 그룹의 멤버십으로 인해 상속된 멤버십을 나타냅니다.

NOTE

소유자, 편집기 또는 뷰어 역할이 자산 폴더의 사용자에게 할당되면 새 그룹이 만들어집니다. 그룹 이름은 역할이 정의된 각 폴더 mac-default-<foldername> 의 형식입니다.

그룹 계정 만들기

  1. 그룹 관리 대화 상자를 엽니다.

  2. 그룹 만들기를 클릭합니다.

  3. 그런 다음 속성을 입력할 수 있습니다.

    • 주체 이름 . 전체 텍스트 이름을 제공합니다.
    • 중간 경로트리 구조를 형성하는 데 사용할 수 있습니다.
  4. 저장(녹색 눈금 기호)을 클릭합니다.

  5. 대화 상자가 확장되어 다음을 수행할 수 있습니다.

    1. Configure Properties.
    2. 그룹 멤버십을 참조하십시오.
    3. 구성원 관리.

그룹 계정 업데이트

  1. 그룹 관리 대화 상자에서 모든 계정의 목록 보기가 열립니다.

  2. 트리 구조를 탐색합니다.

  3. 편집을 위해 열려면 필요한 계정을 클릭합니다.

  4. 변경 작업을 수행한 다음 해당 항목에 대해 저장(녹색 눈금 기호)을 클릭합니다.

  5. 닫기를 클릭하여 완료하거나 목록… .을 클릭하여 모든 그룹 계정 목록으로 돌아갑니다.

그룹 계정 제거

  1. 그룹 관리 대화 상자에서 모든 계정의 목록 보기가 열립니다.

  2. 트리 구조를 탐색합니다.

  3. 필요한 계정을 선택하고 그룹 제거를 클릭합니다. 계정이 즉시 삭제됩니다.

NOTE

저장소에서 이 주체에 대한 노드가 제거됩니다.

액세스 권한 항목은 제거되지 않습니다. 이는 역사적 무결성을 보장합니다.

속성 정의

새 계정 또는 기존 계정에 대한 속성을 정의할 수 있습니다.

  1. 해당 계정에 대해 그룹 관리 대화 상자를 엽니다.
  2. 속성 이름을 정의합니다.
  3. Select the Type from the drop-down list.
  4. 값을 정의합니다.
  5. 새 속성에 대해 저장(녹색 눈금 기호)을 클릭합니다.

기존 속성은 휴지통 심볼과 함께 삭제할 수 있습니다.

구성원

현재 그룹에 구성원을 추가할 수 있습니다.

  1. 해당 계정에 대해 그룹 관리 대화 상자를 엽니다.

  2. 다음 중 하나를 선택합니다.

    • 필요한 구성원(사용자 또는 그룹 계정)의 이름을 입력합니다.
    • 또는 찾아보기… .를 사용하여 추가할 주체(사용자 또는 그룹 계정)를 검색하고 선택합니다.
  3. 새 속성에 대해 저장(녹색 눈금 기호)을 클릭합니다.

또는 휴지통 기호가 있는 기존 멤버를 삭제합니다.

액세스 권한 관리

CRXDE Lite의 액세스 제어 탭에서 액세스 제어 정책을 정의하고 관련 권한을 할당할 수 있습니다.

예를 들어 현재 경로의 경우 왼쪽 창에서 필요한 리소스를 선택하고 오른쪽 하단 창의 액세스 제어 탭을 선택합니다.

crx_accescontrol_tab

정책은 다음과 같이 분류됩니다.

  • 적용 가능한 액세스 제어 정책​이 정책을 적용할 수 있습니다.

    로컬 정책을 만드는 데 사용할 수 있는 정책입니다. 적용 가능한 정책을 선택하고 추가하면 로컬 정책이 됩니다.

  • 로컬 액세스 제어 정책​이 적용되는 액세스 제어 정책입니다. 그런 다음 업데이트, 주문 또는 제거할 수 있습니다.

    로컬 정책은 부모로부터 상속받은 정책을 덮어씁니다.

  • 효과적인 액세스 제어 정책​이 모든 액세스 요청에 대해 현재 적용되는 액세스 제어 정책입니다. 여기에는 로컬 정책과 상위에서 상속되는 정책 모두에서 파생된 집계 정책이 표시됩니다.

정책 선택

다음 항목에 대한 정책을 선택할 수 있습니다.

  • 현재 경로​위의 예에서 저장소 내의 리소스를 선택합니다. 이 "현재 경로"에 대한 정책이 표시됩니다.

  • 저장소​는 저장소 수준 액세스 제어를 선택합니다. 예를 들어
    jcr:namespaceManagement 권한. 저장소에 대해서만 관련성이 있으며 노드가 아닙니다.

  • 주체​저장소에 등록된 주체입니다.

    주체 이름을 입력하거나 필드 오른쪽의 아이콘을 클릭하여 주체 선택 대화 상자를 열 수 있습니다.

    이렇게 하면 사용자 또는 그룹을 검색할 수 있습니다. 결과 목록에서 필요한 주체를 선택한 다음 확인을 클릭하여 값을 이전 대화 상자로 돌아갑니다.

crx_accescontrol_selectprincipal

NOTE

관리를 간소화하려면 개별 사용자 계정이 아닌 그룹 계정에 액세스 권한을 할당하는 것이 좋습니다.

여러 사용자 계정이 아닌 몇 개의 그룹을 관리하는 것이 더 쉽습니다.

권한

액세스 제어 항목을 추가할 때 다음 권한을 선택할 수 있습니다(자세한 내용은 보안 API 참조).

권한 이름 ...의 권한을 제어하는 것.
jcr:read 노드를 검색하고 해당 속성과 값을 읽습니다.
rep:write jcr:write 및 jcr:nodeTypeManagement의 jcr:rabbit 전용 집계 권한입니다.
jcr:all 이 권한은 미리 정의된 모든 권한을 포함하는 집계 권한입니다.
고급
crx:replicate 노드의 복제를 수행합니다.
jcr:addChildNodes 노드의 하위 노드를 만듭니다.
jcr:lifecycleManagement 노드에서 라이프사이클 작업을 수행합니다.
jcr:lockManagement 노드 잠금 및 잠금 해제; 잠금 새로 고침
jcr:modifyAccessControl 노드의 액세스 제어 정책을 수정합니다.
jcr:modifyProperties 노드의 속성을 생성, 수정 및 제거합니다.
jcr:namespaceManagement 네임스페이스 정의를 등록, 등록 취소 및 수정합니다.
jcr:nodeTypeDefinitionManagement 노드 유형 정의를 저장소로 가져옵니다.
jcr:nodeTypeManagement 혼합 노드 유형을 추가 및 제거하고 노드의 기본 노드 유형을 변경합니다. 또한 새 노드의 mixin 또는 기본 유형이 명시적으로 지정된 Node.addNode 및 XML 가져오기 메서드에 대한 모든 호출도 포함됩니다.
jcr:readAccessControl 노드의 액세스 제어 정책을 읽습니다.
jcr:removeChildNodes 노드의 하위 노드를 제거합니다.
jcr:removeNode 노드를 제거합니다.
jcr:retentionManagement 노드에서 보존 관리 작업을 수행합니다.
jcr:versionManagement 노드에서 버전 관리 작업을 수행합니다.
jcr:workspaceManagement JCR API를 통한 작업 영역 생성 및 삭제
jcr:write 다음을 포함하는 집계 권한입니다.
- jcr:modifyProperties
- jcr:addChildNodes
- jcr:removeNode
- jcr:removeChildNodes
rep:privilegeManagement 새 권한을 등록합니다.

새 권한 등록

새 권한을 등록할 수도 있습니다.

  1. 도구 모음에서 도구, 권한 순으로 선택하여 현재 등록된 권한을 표시합니다.

    ac_privileges

  2. 권한 등록 아이콘(+)을 사용하여 대화 상자를 열고 새 권한을 정의합니다.

    ac_priviilegeregister

  3. 확인​을 클릭하여 저장합니다. 이제 권한을 선택할 수 있습니다.

액세스 제어 항목 추가

  1. 리소스를 선택하고 액세스 제어 탭을 엽니다.

  2. 로컬 액세스 제어 정책​을 추가하려면 적용 가능한 액세스 제어 정책 목록 오른쪽에 있는 + 아이콘을 클릭합니다.

    crx_accescontrol_applicable

  3. 새 항목이 로컬 액세스 제어 정책 아래에 나타납니다.

    crx_accescontrol_newlocal

  4. 아이콘을 + 클릭하여 새 항목을 추가합니다.

    crx_accescontrol_addentry

    NOTE

    현재 빈 문자열을 지정하려면 해결 방법이 필요합니다.

    이를 위해서는 ""를 사용해야 합니다.

  5. 액세스 제어 정책을 정의하고 확인을 클릭하여 저장합니다 . 새 정책은 다음과 같습니다.

    • 로컬 액세스 제어 정책 아래 나열됨
    • 변경 사항은 효과적인 액세스 제어 정책에 반영됩니다.

CRX에서 선택 항목의 유효성을 검사합니다. 해당 주체에 대해 주어진 노드에 대해 (최대) 1 거부 및 1이 있습니다. 구현은 항상 중복 항목을 삭제하고 허용 및 거부 항목 모두에 동일한 권한이 표시되지 않도록 합니다.

Ordering Local Access Control Policies

목록의 순서는 정책이 적용되는 순서를 나타냅니다.

  1. 로컬 액세스 제어 정책 표에서 필요한 항목을 선택하고 표의 새 위치로 드래그합니다.

    crx_accescontrol_reorder

  2. 변경 사항은 로컬 및 효과적인 액세스 제어 정책에 모두​표시됩니다.

액세스 제어 정책 제거

  1. 로컬 액세스 제어 정책 표에서 항목 오른쪽에 있는 빨간색 아이콘(-)을 클릭합니다.

  2. 로컬 및 유효 액세스 제어 정책 표 모두에서 항목이 제거됩니다.

액세스 제어 정책 테스트

  1. CRXDE Lite 도구 모음에서 도구, 액세스 제어 테스트…를 선택합니다..

  2. 오른쪽 상단 창에 새 대화 상자가 열립니다. 테스트할 경로 및/또는 보안 사용자를 선택합니다.

  3. 테스트를 클릭하여 선택 결과를 확인합니다.

    crx_accescontrol_test

이 페이지에서는