복수 버스를 위한 액세스 제어
로컬 버스가 외부 서비스 통합 버스 및 IBM MQ와 안전하게 메시지를 교환할 수 있도록 보장하기 위해 서비스 통합 버스의 메시징 엔진이 역할 기반 권한을 사용합니다.
서비스 통합 권한은 역할 기반입니다. 로컬 버스의 대상에 대한 하나 이상의 액세스 역할에 사용자 저장소의 사용자 ID 그룹을 지정하여 액세스 권한을 가진 소유자를 제어하고 해당 버스 대상에서 조작을 수행할 수 있습니다. 메시징 엔진은 런타임 시 역할 지정을 사용하여 그룹 멤버가 대상에서 수행할 수 있는 조작을 판별합니다. 클라이언트 애플리케이션이 다른 버스와 메시지를 교환해야 하는 경우, 클라이언트 애플리케이션의 ID를 원격(외부) 버스의 송신자 및 수신자에게 지정해야 합니다. 클라이언트 애플리케이션이 로컬 버스 대상의 메시지를 외부 버스 대상에 전송할 때, 메시징 엔진은 클라이언트 애플리케이션 ID의 권한에 대해 2단계 검사를 수행합니다.
- 첫 번째 권한 검사 단계
- 클라이언트 애플리케이션이 로컬 대상의 메시지를 전송할 때, 메시징 엔진은 클라이언트 애플리케이션의 ID에 외부 버스 대상에 대한 송신자 역할의 권한이 있는지 검사합니다.
- 두 번째 권한 검사 단계
- 외부 버스 대상이 메시지를 수신할 때, 메시징 엔진은 메시지 ID(처음에 전송 클라이언트 애플리케이션의 ID로 설정됨)에 외부 버스 대상에 대한 송신자 역할의 권한이 있는지 검사합니다.
메시지는 외부 버스 정의 또는 외부 버스 대상 프록시 정의를 사용하여 외부 버스 대상으로 전송됩니다. 정의에는 송신자에게 외부 버스에 메시지를 전송하는 권한이 부여되어 있는지를 판별하는 권한이 포함되어 있습니다. 외부 대상 정의는 대상별로 대상에 권한을 부여할 수 있게 합니다. 특정 대상에 대해 외부 대상 정의가 존재하지 않으면, 메시징 엔진은 기본 외부 버스 정의를 사용합니다.
외부 버스 또는 외부 버스 대상에 대한 역할 지정이 클라이언트 애플리케이션에서 외부 버스에 메시지를 전송할 수 있는지 여부를 제어함을 이해하는 것이 중요합니다. 외부 버스가 메시지를 수신할 때 외부 버스에 있는 메시징 엔진은 외부 버스 역할 지정을 사용하여 메시지가 외부 버스 대상을 계속할 수 있는지 여부를 확인합니다.
두 번째 권한 검사 단계의 경우, 메시징 엔진은 메시지에 저장된 ID를 사용합니다. 이 ID는 처음에는 전송 클라이언트 애플리케이션의 ID로 설정되어 있지만 외부 버스 대상에서는 인바운드 사용자 ID 또는 아웃바운드 사용자 ID 특성에 의해 지정된 값으로 대체될 수 있습니다. 이 경우, 메시징 엔진은 원래 전송 클라이언트 애플리케이션의 ID가 아니라 인바운드 또는 아웃바운드 사용자 ID를 사용하여 외부 버스에서 권한 검사를 수행합니다.
- 전송 클라이언트 애플리케이션에는 해당 외부 버스 대상에 대한 송신자 역할의 권한이 있어야 합니다.
- 외부 버스 대상이 존재해야 합니다.
인바운드 및 이웃바운드 사용자 ID에 대한 검사는 또한 메시지가 복수 버스를 통해 라우트될 때와 메시지가 IBM MQ 네트워크로 전송될 때도 적용됩니다.
보안된 버스가 링크되는 경우 그들 사이의 링크가 보안되어야 합니다. SSL을 사용하여 버스 간 가상 링크를 따라 전송되는 데이터를 보호하려면 필수 전송 체인을 정의한 후 전송 체인 이름을 참조해야 합니다.