[AIX, Linux, Windows]

AIX®, Linux®, and Windows 에서 보안 검사가 수행되는 경우

보안 검사는 일반적으로 큐 관리자에 연결할 때, 오브젝트를 열거나 닫을 때 및 메시지를 넣거나 가져올 때 수행됩니다.

일반 애플리케이션에 대한 보안 검사는 다음과 같습니다.
큐 관리자에 연결(MQCONN 또는 MQCONNX 호출)
이 때 애플리케이션이 특정 큐 관리자와 처음으로 연관됩니다. 큐 관리자는 운영 환경을 조사하여 애플리케이션과 연관된 사용자 ID를 검색합니다. 그런 다음 IBM® MQ 는 사용자 ID에 큐 관리자에 연결할 수 있는 권한이 부여되었는지 확인하고 나중에 확인할 수 있도록 사용자 ID를 유지합니다.

사용자는 IBM MQ에 사인온할 필요가 없습니다. IBM MQ 에서는 사용자가 기본 운영 체제에 사인온했으며 이에 의해 인증되었다고 가정합니다.

오브젝트 열기(MQOPEN 또는 MQPUT1 호출)
IBM MQ 오브젝트는 오브젝트를 열고 오브젝트에 대한 명령을 실행하여 액세스합니다. 모든 자원 검사는 오브젝트에 실제로 액세스할 때가 아니라 오브젝트를 열 때 수행됩니다. 이는 MQOPEN 요청이 필요한 액세스 유형을 지정해야 함을 의미합니다. 예를 들어, 사용자가 오브젝트를 찾아보기만을 원하는지 또는 메시지를 큐에 넣기 등과 같은 업데이트를 수행하고 싶어하는지 여부입니다.

IBM MQMQOPEN 요청에서 이름 지정된 자원을 확인합니다. 알리어스 큐 또는 리모트 큐 오브젝트의 경우, 권한은 알리어스 큐나 리모트 큐가 해석하는 큐가 아니라 오브젝트 자체에 대해 사용한 권한입니다. 이는 사용자가 여기에 액세스할 권한이 필요하지 않음을 의미합니다. 큐 작성 권한을 권한이 있는 사용자로 제한하십시오. 그렇게 하지 않으면 사용자가 알리어스를 작성하는 것만으로 일반 액세스 제어를 무시할 수도 있습니다. 리모트 큐에서 큐와 큐 관리자 이름을 명시적으로 참조하는 경우, 리모트 큐 관리자와 연관된 트랜스미션 큐를 검사합니다.

동적 큐에 대한 권한은 구동된 모델 큐 권한을 기본으로 하므로 반드시 동일할 필요는 없습니다. 이에 대해서는 참고 1에 설명되어 있습니다.

액세스 검사를 위해 큐 관리자가 사용하는 사용자 ID는 큐 관리자에 연결된 응용프로그램의 운영 환경에서 확보한 사용자 ID입니다. 적절히 권한이 부여된 애플리케이션은 대체 사용자 ID를 지정하는 MQOPEN 호출을 발행할 수 있습니다. 그런 다음 대체 사용자 ID에 대해 액세스 제어 검사를 수행합니다. 이러한 조치로 애플리케이션과 연관된 사용자 ID가 변경되지 않으며 액세스 제어 검사에 사용된 사용자 ID가 변경됩니다.

메시지 넣기 및 가져오기(MQPUT 또는 MQGET 호출)
액세스 제어 검사가 수행되지 않습니다.
오브젝트 닫기(MQCLOSE)
MQCLOSE가 동적 큐를 삭제하는 결과를 낳지 않는 한 액세스 제어 검사가 수행되지 않습니다. 이 경우 사용자 ID가 큐를 삭제할 권한이 있는지 검사합니다.
토픽 구독하기(MQSUB)
애플리케이션이 토픽을 구독할 때 이는 수행해야 할 조작의 유형을 지정합니다. 새 구독을 작성하거나, 기존 구독을 변경하거나, 이를 변경하지 않고 기존 구독을 재개하는 것입니다. 조작의 유형마다 큐 관리자는 애플리케이션에 연관된 사용자 ID에 해당 조작을 수행할 권한이 있는지 검사합니다.
애플리케이션이 토픽을 구독할 때 구독한 애플리케이션이 있는 토픽 트리 이상의 위치에서 발견된 토픽 오브젝트에 대해 권한 검사가 수행됩니다. 권한 검사에는 두 개 이상의 토픽 오브젝트에 대한 검사가 포함될 수 있습니다.
큐 관리자가 권한 검사를 위해 사용하는 사용자 ID는 애플리케이션이 큐 관리자에 연결할 때 운영 체제로부터 얻은 사용자 ID입니다.
큐 관리자는 관리 큐가 아니라 구독자 큐에서 권한 검사를 수행합니다.