액세스 제어는 다음을 제공합니다.
볼륨 액세스 제어 - 볼륨을 하나의 클라이언트 응용 프로그램에 지정할 수 있습니다. 다른 클라이언트는 클라이언트의 볼륨에 액세스할 수 있습니다.
명령 액세스 제어 - 관리자가 특정 ACSLS 명령을 특정 클라이언트에 지정할 수 있습니다.
볼륨 액세스 제어 및 명령 액세스 제어는 모두 ACSAPI를 통해 요청을 제출하는 클라이언트 응용 프로그램의 사용자에게 적용됩니다.
액세스 제어는 cmd_proc
또는 ACSLS GUI를 사용해서 라이브러리 요청을 제출하는 관리 사용자로 액세스를 제한하지 않습니다.
이 기능이 사용으로 설정된 경우, 특정 사용자가 소유하는 볼륨은 해당 사용자 또는 신뢰할 수 있는 다른 사용자만 액세스할 수 있습니다.
ACSLS에서 볼륨 액세스 제어를 처음 구성할 때는 다음 단계를 수행합니다.
ACSLS에서 volume access
제어를 사용으로 설정합니다.
클라이언트 응용 프로그램을 사용자 이름과 연관시킵니다.
사용자 볼륨에 액세스할 수 있는 다른 사용자를 정의합니다.
볼륨 소유권을 설정합니다.
ACSLS에서 volume access
제어를 사용으로 설정하려면 다음을 수행합니다.
구성 유틸리티 acsss_config
를 실행합니다.
기본 메뉴가 표시됩니다.
옵션 4 - Set Access Control Variables를 선택합니다.
각 변수는 한 번에 하나씩 나열되며 해당 현재 설정이 표시됩니다.
Enter를 눌러서 현재 또는 기본 설정을 수락합니다.
유틸리티에 Access control is active for volumes
메시지가 표시되면 [TRUE]
를 선택하고 Enter를 누릅니다.
유틸리티에 Default access for volumes [ACCESS/NOACCESS]
... 메시지가 표시되면 다음 중 하나를 선택합니다.
특정 사용자에 대한 액세스를 금지하고 다른 모든 사용자에 대한 액세스를 허용하려면 [ACCESS]
를 선택합니다.
이렇게 하려면 특정 사용자가 users.ALL.disallow
파일 또는 특정 users.COMMAND.disallow 파일에 나열되어 있어야 합니다. 사용자 볼륨에 액세스하도록 허용된 다른 사용자 정의를 참조하십시오.
특정 사용자에 대한 액세스를 허용하고 모든 사용자에 대한 액세스를 금지하려면 [NOACCESS
]를 선택합니다.
이렇게 하려면 특정 사용자가 users.ALL.allow 파일 또는 특정 users.COMMAND.allow
파일에 나열되어 있어야 합니다. 사용자 볼륨에 액세스하도록 허용된 다른 사용자 정의를 참조하십시오.
볼륨 액세스가 거부되는 인스턴스를 기록하려면 해당 프롬프트에 대한 응답으로 [TRUE]를 선택합니다.
볼륨 액세스를 사용 또는 사용 안함으로 설정할 때마다 해당 변경사항을 적용하려면 ACSLS를 다시 시작해야 합니다.
Associating a client identity with a user name
클라이언트 응용 프로그램이 모두 ACSLS 요청 패킷에 사용자 ID를 전달하는 것은 아닙니다. 사용자 이름으로 클라이언트를 식별할 수 없는 경우에는 사용자 ID를 지정할 수 있습니다.
access_control
구성 디렉토리로 이동합니다.
$ACS_HOME/data/external/access_control.
internet.addresses 이름으로 파일을 만들거나 internet.addresses.SAMPLE
파일을 복사합니다.
이 파일에서 각 클라이언트에 대해 레코드를 만듭니다. 각 레코드에는 최소 두 개의 필드(클라이언트 IP 주소와 해당 사용자 이름)가 포함됩니다. 설명을 위해 추가 필드를 포함시킬 수 있습니다.
다음 예제에 표시된 것처럼 공백 또는 탭으로 필드를 구분합니다.
192.0.2.1 ulyssis payroll department
클라이언트-사용자 연관은 클라이언트 응용 프로그램 수만큼 만들 수 있습니다.
클라이언트 응용 프로그램이 ACSLS 요청에 사용자 이름을 전달하는 경우에는 internet.addresses 파일이 지정된 IP 주소로 사용자 이름을 인증하고, 두 필드가 모두 요청 패킷의 값과 일치하지 않는 경우에는 액세스를 거부합니다. 공통 플랫폼에서 여러 클라이언트가 호스트되는 경우에는 동일한 IP 주소가 이 파일에 여러 번 포함될 수 있으며, 해당 IP 주소에 올바르게 적용되는 한 이 주소를 여러 사용자 이름과 연관시킬 수 있습니다.
클라이언트 응용 프로그램이 요청에 사용자 이름을 전달하지 않는 경우에는 internet.addresses
파일이 해당 클라이언트에 대해 사용자 이름을 설정합니다. 이 경우에는 사용자 이름 하나만 클라이언트 주소와 연관시킬 수 있습니다.
internet.addresses
파일에 대한 모든 업데이트를 저장합니다.
acsss_config
를 실행합니다.
옵션 6 - "Rebuild Access Control Information"을 선택합니다.
ACSLS는 변경사항을 동적으로 인식합니다.
TCP/IP를 사용하지 않는 SNA 및 OSLAN 클라이언트는 access_control
디렉토리에 있는 lu62.names
또는 adi.names
파일을 참조하십시오.
특정 사용자 소유의 볼륨에 다른 사용자가 액세스하도록 권한을 부여하려면 다음을 수행합니다.
access_control
디렉토리에서 users.ALL.allow
또는 users.ALL.disallow
를 만듭니다.
users.
SAMPLE.allow
또는 users.
SAMPLE.disallow
템플리트를 복사할 수 있습니다.
각 소유자에 대해 파일에 레코드를 추가하여 왼쪽 여백에 소유자의 사용자 ID를 배치합니다.
각 소유자와 동일한 라인에 영향을 받는 사용자를 지정합니다.
다음 예제에 표시된 것처럼 공백 또는 탭으로 사용자 이름을 구분합니다.
owner_john user-Allie user-andre
u
sers.allow
및 users.disallow
파일에 나열된 사용자 이름은 대소문자 구분없이 고유해야 합니다. 사용자 이름에 사용된 문자의 대소문자는 무시됩니다.
소유자와 동일한 라인에 나열되지 않은 사용자에게는 소유자 볼륨에 대한 기본(ACCESS
또는 NOACCESS
) 관계가 부여됩니다.
주:
동일한 명령 또는 ALL에 대해 동일한owner_ID
및 user_ID
쌍을 users.COMMAND.allow 및 users.COMMAND.disallow 파일 모두에 지정할 수 없습니다. 또한 중복된 owner_ID
및 user_ID
쌍을 동일한 users.COMMAND.allow 및 users.COMMAND.disallow 파일에 지정할 수 없습니다. 여기에는 동일한 라인의 동일 user_ID
반복이 포함됩니다.
한 소유자에 대해 허용되는 사용자가 한 라인에 들어가는 것보다 많으면 허용된 사용자 목록을 후속 라인에 계속 지정할 수 있습니다. 각 라인은 소유자 ID로 시작해야 합니다.
선택적으로 사용자가 정의한 볼륨 액세스 정책에 대해 예외사항을 설정할 수 있습니다.
일반적으로 사용자에게는 액세스 제어 하에 있는 볼륨에 대해 전체 액세스 권한이 허용되거나 액세스 권한이 전혀 허용되지 않습니다. 하지만 다른 사용자의 볼륨에 대해 특정 제한된 액세스 권한을 사용자에게 허용할 수 있습니다.
예를 들어, 특정 사용자가 소유하는 볼륨에 대해 모든 사용자가 해당 볼륨을 마운트하거나 마운트 해제할 수 없더라도 질의할 수 있도록 허용하는 정책을 설정할 수 있습니다. 예외사항은 액세스 제어로 영향을 받는 모든 명령에 적용할 수 있습니다.
특정 명령에 대해 볼륨 액세스 정책 예외사항을 구성하려면 다음을 수행합니다.
users.COMMAND.allow
또는 users.COMMAND.disallow
파일을 만들어야 합니다. 여기서 COMMAND는 권한을 부여하거나 제한하려는 특정 명령으로 대체합니다.
users.COMMAND.allow
및 users.COMMAND.disallow
파일은 아래에 나열된 것처럼 지정된 이름과 정확히 동일한 명령 구성 요소 이름을 포함해야 하며, 명령 이름을 대문자로 표시해야 합니다. 명령의 다른 변형 형태에 대한 액세스 제어(예: QUERY_VOLUME
)는 지원되지 않습니다.
DISMOUNT EJECT LOCK MOUNT (1) MOUNT_READONLY (2) QUERY REGISTER SET_CLEAN SET_SCRATCH UNLOCK
주:
MOUNT (1) - MOUNT
정책은 mount scratch에도 적용됩니다. mount readonly에는 정책이 적용되지 않습니다.
MOUNT_READOLNY
(2) - mount readonly에 대한 정책은 mount와 별도로 정의됩니다.
위에서 비중복 소유자 ID 및 허용되는 사용자 ID 쌍과 후속 라인으로 이어지는 허용되는 사용자 연속 목록에 대한 고려 사항은 허용되지 않는 사용자 목록에도 적용됩니다.
각 소유자에 대해 소유자 이름을 왼쪽 여백에 배치하고 정책이 적용되는 사용자를 그 뒤에 표시합니다.
정의한 정책에 대한 모든 업데이트를 저장합니다.
acsss_config
를 실행합니다.
옵션 6 - "Rebuild Access Control Information"을 선택합니다.
ACSLS는 변경사항을 동적으로 인식합니다.
볼륨 액세스 제어는 명시적 소유권이 있는 볼륨에만 적용됩니다. 라이브러리에서 소유자가 없는 볼륨은 모든 사용자가 액세스할 수 있습니다. 볼륨 소유권을 명시적으로 설정하려면 cmd_proc 인터페이스를 사용합니다.
ACSSA>set owner "daffy" volume V00100-V00199 Set: owner set for volumes V00100-V00199 Set: Set completed, Success.
빈 문자열을 사용해서 비슷한 방식으로 소유권을 제거할 수 있습니다.
ACSSA> set owner "" volume V00100-V00199 Set: owner set for volumes V00100-V00199
이 작업은 해당 범위의 모든 볼륨에서 소유권을 지웁니다. 자세한 내용은 set owner을 참조하십시오.
볼륨 소유권은 watch_vols 유틸리티에서 자동으로 설정할 수 있습니다. 자세한 내용은 watch_vols를 참조하십시오.
또한 소유권 자동 설정 및 제거 정책은 ACSLS에서 정의할 수 있습니다. 예를 들어, 마운트된 스크래치 볼륨이 볼륨을 마운트한 사용자 소유가 되는 정책을 설정할 수 있습니다. 그런 다음에는 볼륨이 해당 사용자의 소유가 됩니다. 동일 정책을 조금 더 발전시키면 볼륨이 스크래치 상태로 돌아왔을 때마다 소유권을 제거할 수 있습니다. 넣은 모든 볼륨이 기본 사용자에게 지정되거나, 넣기를 요청한 사용자에게 지정되도록 또는 볼륨이 이전에 소유된 경우, 이전 소유자에게 지정되도록 정책을 작성할 수 있습니다. 이 기능에는 상당한 유연성이 제공됩니다.
소유권 정책은 access_control 디렉토리에 있는 ownership.assignments
파일에 정의됩니다. 이 파일에서 각 enter or automatic enter, set scratch
또는 mount scratch
작업으로 소유권을 자동으로 지정 또는 지정 해제하도록 정책을 설정할 수 있습니다. ownership.assignments
파일을 사용하면 기본 소유자를 정의할 수 있습니다. 볼륨에 이러한 작업이 수행될 때마다 해당 소유권을 다음 항목에 지정할 수 있습니다.
Owner_default
(기본 소유자)
동일 소유자(이전 소유자)
요청자(현재 요청을 실행한 사용자)
소유 해제(볼륨에서 소유권 철회)
주:
소유권 정책 정의 지침은ownership.assignments
파일에 자세히 설명되어 있습니다. 이 파일에는 볼륨 소유권 설정을 위해 사용할 수 있는 전체 명령 목록이 포함되어 있습니다.정의한 정책에 대한 모든 업데이트를 저장합니다.
acsss_config
를 실행합니다.
옵션 6 - Rebuild Access Control Information을 선택합니다.
ACSLS는 변경사항을 동적으로 인식합니다.
볼륨 액세스 제어에서는 다음 명령이 지원됩니다.
dismount* display eject enter lock set_clean set_scratch mount query_mount query_scratch query_volume unlock
force 옵션은 StorageTek ACSLS가 볼륨 ID를 무시하고 무조건 볼륨을 마운트 해제하도록 지시하기 때문에 dismount force
에는 액세스 제어가 적용되지 않습니다.
다음 표에서는 volume access control
이 사용으로 설정되었을 때 적용되는 컨텍스트를 요약해서 보여줍니다.
볼륨에 대한 기본 액세스가 ACCESS인 경우 | 액세스 허용 |
액세스 거부 |
---|---|---|
액세스가 |
X |
|
지정된 볼륨이 소유 해제되어 있음 |
X |
|
사용자가 볼륨 소유자임 |
X |
|
사용자가 |
X |
|
사용자가 |
X |
명령 액세스 제어를 사용하면 ACSLS 관리자가 특정 명령 클래스를 네트워크에 있는 특정 응용 프로그램 또는 특정 사용자로 제한할 수 있습니다. 제어된 액세스는 ACSAPI를 통해 제출된 사용자 명령에만 적용되며 cmd_proc를 사용해서 명령을 제출하는 로컬 사용자에게 적용되지 않습니다.
command access control에 대한 ACSLS 구성 프로세스에는 세 가지 단계가 포함됩니다.
ACSLS에서 명령 액세스 제어를 처음 구성할 때는 다음 단계를 수행합니다.
ACSLS에서 명령 액세스 제어를 사용으로 설정합니다.
클라이언트 ID를 사용자 이름과 연관시킵니다.
사용자에게 제공되는 명령을 정의합니다.
ACSLS에서 명령 액세스 제어를 사용으로 설정하려면 다음을 수행합니다.
구성 유틸리티 acsss_config
를 실행합니다.
기본 메뉴가 표시됩니다.
옵션 4 - Set Access Control Variables를 선택합니다.
각 변수는 한 번에 하나씩 나열되며 해당 현재 설정이 표시됩니다.
Enter를 눌러서 현재 또는 기본 설정을 수락합니다.
유틸리티에 Access control is active for commands
메시지가 표시되면 TRUE를 선택하고 Enter를 누릅니다.
"Default access for commands" 메시지가 표시되면 다음을 수행합니다.
모든 명령에 대해 모든 사용자 액세스를 허용하려면 ACCESS
를 선택합니다.
특정 사용자가 명령을 실행하지 않도록 차단하려면 이러한 사용자가 command.
ALL.disallow
파일 또는 특정 command.XXX.disallow 파일에 나열되어 있어야 합니다.
XXX는 액세스 제어 대상이 되는 명령입니다.
명령에 대한 사용자 액세스를 거부하려면 [NOACCESS
]를 선택합니다.
특정 사용자가 명령을 실행하도록 허용하려면 이러한 사용자가 command.
ALL.allow
파일 또는 특정 command.
XXX.allow
파일에 나열되어 있어야 합니다.
주:
명령 액세스가 거부되는 인스턴스를 기록하려면 해당 프롬프트에 대한 응답으로 "TRUE"를 입력합니다.주:
명령 액세스를 사용 또는 사용 안함으로 설정할 때마다 변경사항을 적용하려면 ACSLS를 다시 시작해야 합니다.이 프로세스는 명령 액세스 제어를 사용으로 설정할 때 선택한 기본 동작에 따라 달라집니다. $ACS_HOME/data/external/access_control
디렉토리에 정책 파일을 만들어야 합니다.
위에서 정의한 기본 동작이 [NOACCESS]인 경우 모든 ACSLS 명령에 대한 액세스 권한을 갖는 각 클라이언트의 사용자 ID가 포함된 command.ALL.allow
파일을 만들어야 합니다. 각 사용자 ID는 파일에서 별도의 라인에 나열됩니다.
특정 사용자에게 특정 명령만 권한을 부여하려면 사용자가 실행하도록 허용된 각 명령에 대해 command.
XXX
.allow
파일을 만들어야 합니다. 예를 들어, 특정 사용자가 라이브러리에 볼륨을 넣을 수 있도록 권한을 부여하려면 command.ENTER.allow
라는 이름으로 파일을 만들고 이 파일의 개별 라인에 적격한 각 'enter' 사용자의 ID를 나열합니다.
위에서 정의한 기본 동작이 [ACCESS]인 경우 모든 ACSLS 명령에 대한 액세스 권한을 갖지 않는 각 클라이언트의 사용자 ID가 포함된 command.ALL disallow
파일을 만들어야 합니다. 각 사용자 ID는 파일에서 별도의 라인에 나열됩니다.
주:
동일한 명령 또는 ALL에 대해 동일한 user_ID를command
.XXX
.allow
및 command
.XXX
.disallow
command.XXX
파일 모두에 지정할 수 없습니다.command
.XXX
.allow
및 command
.XXX
.disallow
파일은 아래에 나열된 것처럼 지정된 이름과 정확히 동일한 명령 구성 요소 이름을 포함해야 하며 명령 이름을 대문자로 표시해야 합니다. 명령의 다른 변형 형태에 대한 액세스 제어(예: QUERY_VOLUME
)는 지원되지 않습니다.
AUDIT CANCEL CHECK_REGISTRATION CLEAR_LOCK DEFINE_POOL DELETE_POOL DISMOUNTDISMOUNT_FORCE DISPLAY EJECT ENTER (1) IDLE LOCK MOUNT (2) QUERY QUERY_LOCK REGISTER SET_CAP SET_CLEAN SET_OWNER SET_SCRATCH START UNLOCK UNREGISTER VARY
주:
ENTER (1) - 가상 넣기 및 수동 넣기에 정책이 적용되며 자동 넣기에는 적용되지 않습니다. MOUNT (2) -mount scratch
및 mount readonly
에도 정책이 적용됩니다.다음 표는 명령 액세스를 허용할 경우를 확인하기 위한 빠른 참조로 활용할 수 있습니다.
명령에 대한 기본 액세스가 NOACCESS인 경우 | 액세스 허용 |
액세스 거부 |
---|---|---|
요청이 |
X |
|
user_ID가 |
X |
|
user_ID가 |
X |
|
- - 기타 모든 조건 - - |
X |
명령에 대한 기본 액세스가 ACCESS인 경우 | 액세스 허용 |
액세스 거부 |
---|---|---|
요청이 |
X |
|
user_ID가 |
X |
|
user_ID가 |
X |
|
- - 기타 모든 조건 - - |
X |
정의한 정책에 대한 모든 업데이트를 저장합니다.
acsss_config
를 실행합니다.
옵션 6 - "Rebuild Access Control Information"을 선택합니다.
ACSLS는 변경사항을 동적으로 인식합니다.
사용자에게 액세스가 거부되었기 때문에 실패한 모든 트랜잭션을 기록하도록 정책을 설정할 수 있습니다. 이 메시지에는 사용자 이름 및 시도된 명령이 표시됩니다.
액세스 제어 로깅을 사용으로 설정하려면 다음을 수행합니다.
acsss_config
를 실행하고 옵션 4 - "Set Access Control Variables"를 선택합니다.
"Messages will be logged when access to commands or volumes is denied." 프롬프트에서 [FALSE]를 [TRUE]로 변경합니다.
옵션 6 - "Rebuild access control information"을 선택합니다.
명령 요청이 거부될 때마다 ACSLS가 변경사항을 인식하고 로깅을 시작합니다.