![[AIX, Linux, Windows]](ngalw.gif)
AIX®, Linux®, and Windows 에서 보안 검사가 수행되는 경우
보안 검사는 일반적으로 큐 관리자에 연결할 때, 오브젝트를 열거나 닫을 때 및 메시지를 넣거나 가져올 때 수행됩니다.
- 큐 관리자에 연결(MQCONN 또는 MQCONNX 호출)
- 이 때 애플리케이션이 특정 큐 관리자와 처음으로 연관됩니다. 큐 관리자는 운영 환경을 조사하여 애플리케이션과 연관된 사용자 ID를 검색합니다. 그런 다음 IBM® MQ 는 사용자 ID에 큐 관리자에 연결할 수 있는 권한이 부여되었는지 확인하고 나중에 확인할 수 있도록 사용자 ID를 유지합니다.
사용자는 IBM MQ에 사인온할 필요가 없습니다. IBM MQ 에서는 사용자가 기본 운영 체제에 사인온했으며 이에 의해 인증되었다고 가정합니다.
- 오브젝트 열기(MQOPEN 또는 MQPUT1 호출)
- IBM MQ 오브젝트는 오브젝트를 열고 오브젝트에 대한 명령을 실행하여 액세스합니다. 모든 자원 검사는 오브젝트에 실제로 액세스할 때가 아니라 오브젝트를 열 때 수행됩니다. 이는 MQOPEN 요청이 필요한 액세스 유형을 지정해야 함을 의미합니다.
예를 들어, 사용자가 오브젝트를 찾아보기만을 원하는지 또는 메시지를 큐에 넣기 등과 같은 업데이트를 수행하고 싶어하는지 여부입니다.
IBM MQ 는 MQOPEN 요청에서 이름 지정된 자원을 확인합니다. 알리어스 큐 또는 리모트 큐 오브젝트의 경우, 권한은 알리어스 큐나 리모트 큐가 해석하는 큐가 아니라 오브젝트 자체에 대해 사용한 권한입니다. 이는 사용자가 여기에 액세스할 권한이 필요하지 않음을 의미합니다. 큐 작성 권한을 권한이 있는 사용자로 제한하십시오. 그렇게 하지 않으면 사용자가 알리어스를 작성하는 것만으로 일반 액세스 제어를 무시할 수도 있습니다. 리모트 큐에서 큐와 큐 관리자 이름을 명시적으로 참조하는 경우, 리모트 큐 관리자와 연관된 트랜스미션 큐를 검사합니다.
동적 큐에 대한 권한은 구동된 모델 큐 권한을 기본으로 하므로 반드시 동일할 필요는 없습니다. 이에 대해서는 참고 1에 설명되어 있습니다.
액세스 검사를 위해 큐 관리자가 사용하는 사용자 ID는 큐 관리자에 연결된 응용프로그램의 운영 환경에서 확보한 사용자 ID입니다. 적절히 권한이 부여된 애플리케이션은 대체 사용자 ID를 지정하는 MQOPEN 호출을 발행할 수 있습니다. 그런 다음 대체 사용자 ID에 대해 액세스 제어 검사를 수행합니다. 이러한 조치로 애플리케이션과 연관된 사용자 ID가 변경되지 않으며 액세스 제어 검사에 사용된 사용자 ID가 변경됩니다.
- 메시지 넣기 및 가져오기(MQPUT 또는 MQGET 호출)
- 액세스 제어 검사가 수행되지 않습니다.
- 오브젝트 닫기(MQCLOSE)
- MQCLOSE가 동적 큐를 삭제하는 결과를 낳지 않는 한 액세스 제어 검사가 수행되지 않습니다. 이 경우 사용자 ID가 큐를 삭제할 권한이 있는지 검사합니다.
- 토픽 구독하기(MQSUB)
- 애플리케이션이 토픽을 구독할 때 이는 수행해야 할 조작의 유형을 지정합니다. 새 구독을 작성하거나, 기존 구독을 변경하거나, 이를 변경하지 않고 기존 구독을 재개하는 것입니다. 조작의 유형마다 큐 관리자는 애플리케이션에 연관된 사용자 ID에 해당 조작을 수행할 권한이 있는지 검사합니다.