{"id":541,"date":"2016-09-15T20:03:46","date_gmt":"2016-09-15T19:03:46","guid":{"rendered":"https:\/\/marketaylor.synology.me\/?p=541"},"modified":"2019-11-24T20:37:57","modified_gmt":"2019-11-24T20:37:57","slug":"ibm-mq-using-active-directory-for-authorisation-in-unix-queue-managers","status":"publish","type":"post","link":"https:\/\/marketaylor.synology.me\/?p=541","title":{"rendered":"IBM MQ &#8211; Using Active Directory for authorisation in Unix queue managers"},"content":{"rendered":"<p>Permissions for accessing MQ functions have traditionally relied on using operating system definitions for users and groups. That could mean you having a requirement to define those users and groups on each system individually, which is challenging enough in a static topology, but becomes even worse in a dynamic environment such as a cloud where systems may be being defined and deleted regularly. And so some central definition of the identities becomes essential.<br \/>\n<!--more--><br \/>\nFor Windows systems, the standard way of sharing identities is Active Directory (AD).<\/p>\n<p>For Unix systems, one way of sharing user and group information is through the configuration of services in the <a href=\"http:\/\/www.ibm.com\/developerworks\/library\/l-pam\/\">PAM<\/a> and <a href=\"http:\/\/man7.org\/linux\/man-pages\/man5\/nsswitch.conf.5.html\">nsswitch<\/a> interfaces. Perhaps the most common mechanism for sharing on those systems is to configure nsswitch to use of the NIS (or NIS+) services; implementations also exist for storing the information in LDAP among other stores. Using those nsswitch and PAM services means that MQ does not know how the users or groups are stored; it can treat them as if they were locally defined in <code class=\"\">\/etc\/passwd<\/code> or <code class=\"\">\/etc\/group<\/code>. All of the operating system services such as <em>getpwnam<\/em>() behave transparently, hiding the underlying source of the data.<\/p>\n<p>An alternative now exists in MQ, which can directly access LDAP servers instead of relying on OS services. A common store can be used not just within an operating system family, but across all the MQ Distributed platforms. MQ V8 added the ability to authenticate users against an LDAP directory. <a href=\"https:\/\/www.ibm.com\/developerworks\/community\/blogs\/messaging\/entry\/bite_size_blogging_mq_v8_setting_up_a_qmgr_to_use_ldap_authentication?lang=en\">Fixpack 8.0.0.2<\/a> on Unix and System i extended that to allow <strong>authorisations<\/strong> to be managed using LDAP-defined users and groups; the equivalent Windows support for LDAP authorisation arrived in V9. Using LDAP explicitly means that users do not actually need to be defined or available on the operating system where MQ is running. The OS userid that is running an application program has no direct relationship to the identity used for authorisation checks.<\/p>\n<p>This article shows how MQ can be configured to have LDAP refer to users and groups defined in a Windows Active Directory system, even though the queue manager is not running on Windows. In this exercise, the whole environment was running on AWS, using an Amazon-provided AD server, removing the need to configure such a server myself.<\/p>\n<p>MQ supports the use of any LDAP server, including AD and IBM Directory Server, but one thing I was particularly interested in testing here was the use of &#8220;standard&#8221; Windows accounts in AD, instead of simply using it as a generic LDAP server, where users and groups may be defined in a separate part of the directory tree.<\/p>\n<h2>The architecture<\/h2>\n<ol>\n<li>AWS Directory Service is used to run an Active Directory instance.<\/li>\n<li>A Windows 2012 server image which is used to administer the directory, including definitions of users and groups.<\/li>\n<li>A Linux image where MQ is installed and runs the queue manager. This was also where MQ applications were run for these tests. I used the packer JSON files and procedures shown in<a href=\"https:\/\/www.ibm.com\/developerworks\/community\/blogs\/messaging\/entry\/mq_aws_basic?lang=en\"> Arthur&#8217;s article<\/a> as the starting point for this image.<\/li>\n<\/ol>\n<h2>Configuring the directory service<\/h2>\n<p>All that was needed was to provide a domain name (&#8216;<strong>mq.hursley.ibm.com<\/strong>&#8216;) and a password for the administrator. You may want to set a VPC and some subnet information to control networking, but I left this to default. Once created, two IP addresses are available which are needed for access to the directory.<\/p>\n<h2>Configuring Windows<\/h2>\n<p>When I created the Windows 2012 instance, I did not initially join the domain. I left that until later. Once the instance is running, and you have logged on as the administrator, then you need to enable the feature that allows you to administer the directory.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-546\" src=\"https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/2012-Features.png\" alt=\"\" width=\"1198\" height=\"849\" srcset=\"https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/2012-Features.png 1198w, https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/2012-Features-300x213.png 300w, https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/2012-Features-768x544.png 768w, https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/2012-Features-1024x726.png 1024w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/p>\n<p>Next, the system must be configured to point at the DNS addresses created for the directory service:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-543\" src=\"https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/Networking.png\" alt=\"\" width=\"1319\" height=\"695\" srcset=\"https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/Networking.png 1319w, https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/Networking-300x158.png 300w, https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/Networking-768x405.png 768w, https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/Networking-1024x540.png 1024w, https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/Networking-1200x632.png 1200w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/p>\n<p>Finally, we can join the domain:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-544\" src=\"https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/Set-domain.png\" alt=\"\" width=\"1289\" height=\"829\" srcset=\"https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/Set-domain.png 1289w, https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/Set-domain-300x193.png 300w, https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/Set-domain-768x494.png 768w, https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/Set-domain-1024x659.png 1024w, https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/Set-domain-1200x772.png 1200w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/p>\n<h3>Administering AD from Windows<\/h3>\n<p>The &#8220;Administrative Tools&#8221; panel should now contain an item for &#8220;Active Directory Users and Computers&#8221;. That gives a UI for inspecting, defining and modifying users and groups. Much of MQ&#8217;s LDAP configuration relies on knowing details of the directory schema and where objects are located in the directory. This is most easily done by selecting the &#8220;Advanced Features&#8221; of the program as it turns on some additional items when you drill into directory entries.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-547\" src=\"https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/AD-Advanced.png\" alt=\"\" width=\"782\" height=\"351\" srcset=\"https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/AD-Advanced.png 782w, https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/AD-Advanced-300x135.png 300w, https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/AD-Advanced-768x345.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<p>In particular you can now use the Attribute Editor to see all of the attributes of an entry, including the full Distinguished Name and the field names associated with other data. As well as the DN, you need to identify a field in the entry that can be used as a unique short identifier for the user. Looking at the properties of this entry, it seems that <strong>employeeID<\/strong> might be a good candidate here. The short name is used in MQ to fill in the 12 character MQMD UserIdentifier field, and will also appear in the output of commands such as DISPLAY CONN, showing who is using a queue manager.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-545\" src=\"https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/User-properties.png\" alt=\"\" width=\"637\" height=\"841\" srcset=\"https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/User-properties.png 637w, https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/User-properties-227x300.png 227w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<h3>Users and groups<\/h3>\n<p>I created several users and groups to which I could then grant different levels of access.<\/p>\n<p>The first new user, <strong>mqmldap<\/strong>, is intended to be used by the queue manager for its connection to the directory. This user does no MQ work itself, and is purely there to be able to search the directory for identities. Once created, and a password has been set (you will need to know the password later, I used &#8220;<strong>MQpassw0rd<\/strong>&#8216;&#8221;), the user needs to be granted read authority on the directory. No further authorities are needed here.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-549\" src=\"https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/MQ-LDAPUSER.png\" alt=\"\" width=\"985\" height=\"771\" srcset=\"https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/MQ-LDAPUSER.png 985w, https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/MQ-LDAPUSER-300x235.png 300w, https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/MQ-LDAPUSER-768x601.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/p>\n<p>I also created an MQUser group and an MQAdmin group, along with a few test ids that were made members of one or both of these groups.<\/p>\n<h2>Configuring MQ<\/h2>\n<p>Once the directory is configured, with suitable identities, we can turn to the queue manager configuration. In this MQSC command, we are giving several sets of information:<\/p>\n<ul>\n<li>How to connect to the directory (CONNAME, LDAPUSER, LDAPPWD)<\/li>\n<li>How to find users and extract the shortname (BASEDNU, CLASSUSR, USRFIELD, SHORTUSR)<\/li>\n<li>How to find groups (BASEDNG, CLASSGRP, GRPFIELD)<\/li>\n<li>How to discover which groups a user belongs to (AUTHORMD, FINDGRP)<\/li>\n<\/ul>\n<p>It is not a mistake that the BASEDNG and BASEDNU in this definition have the same value &#8211; in AD, both users and groups can be found in the &#8220;Users&#8221; part of the tree. You may configure AD with more layers of folders between the root and the actual user or group record; that will work as long as MQ can still find unique values lower in the tree; only the highest level container needs to be supplied.<\/p>\n<pre>DEFINE AUTHINFO('AWSLDAP')\nAUTHTYPE(IDPWLDAP) +\nADOPTCTX(YES) +\nCONNAME('172.31.aaa.bbb,172.31.ccc.ddd') +\nCHCKCLNT(OPTIONAL) +\nCHCKLOCL(OPTIONAL) +\nCLASSGRP('GROUP') +\nCLASSUSR('USER') +\nBASEDNG('CN=Users,DC=mq,DC=hursley,DC=ibm,DC=com') +\nBASEDNU('CN=Users,DC=mq,DC=hursley,DC=ibm,DC=com') +\nFINDGRP('member') +\nLDAPUSER('CN=mqmldap,CN=users,DC=mq,DC=hursley,DC=ibm,DC=com') +\nLDAPPWD('MQpassw0rd') +\nSHORTUSR('employeeID') +\nGRPFIELD('sAMAccountName') +\nUSRFIELD('sAMAccountName') +\nAUTHORMD(SEARCHGRP) +\nREPLACE\n\nALTER QMGR CONNAUTH(AWSLDAP)\n\nREFRESH SECURITY\n<\/pre>\n<p>Using the attribute editor for the entities on Windows made it easy to find the elements that make up this MQ command. The <code class=\"\">DISPLAY QMSTATUS ALL<\/code> command should show that the queue manager has successfully connected to the LDAP server.<\/p>\n<h2>Setting and checking authority<\/h2>\n<p>We can now set authority for users and groups using the <strong>setmqaut<\/strong> or <code class=\"\">SET AUTHREC<\/code> commands. The full distinguished name for the group or user does not need to be used; instead the queue manager uses the information in the AUTHINFO object to search for and derive the DN. For example, I can use<\/p>\n<pre>setmqaut -t qmgr -m QMLDAP -p met +connect\n\nsetmqaut -t q  -n Q1 -m QMLDAP -g MQUser +put\n<\/pre>\n<p>to grant myself connect authority to this queue manager, and all members of a group put authority on a queue. If I then run dmpmqaut, I will see records referring to the complete Distinguished Name instead of the shortened &#8216;met&#8217;. More examples of the different syntax options for specifying users and groups can be found in the <a href=\"https:\/\/www.ibm.com\/developerworks\/community\/blogs\/messaging\/entry\/mq_aws_basic?lang=en\">Knowledge Center<\/a>. If you get an &#8220;invalid principal&#8221; error, then there will be more information in the queue manager error log.<\/p>\n<h2>MQ Administrators<\/h2>\n<p>When MQ is using LDAP for its authorisation model, OS users do not get administrative authority on the queue manager simply by virtue of being in the local mqm group. Only the user who starts the queue manager has that authority automatically. The <strong>mqm<\/strong> group membership is used only to control starting, stopping and deleting the queue manager. Instead, every operation such as defining a queue or altering a channel is processed by the OAM to see if someone has suitable authority. To simplify the task of having a group of MQ administrators, without needing to share an account, a script is provided in the product that will grant full permissions to a specific group. Running<\/p>\n<pre>\/opt\/mqm\/samp\/bin\/amqauthg.sh QMLDAP MQAdmin\n<\/pre>\n<p>executes all of the setmqaut commands needed to give members of the MQAdmin AD group full administrative control over MQ objects. As it is a script, you can easily change it, for example to create &#8220;read-only&#8221; administrators. The script does not grant &#8220;message&#8221; authorities to this group, so they cannot put or get messages. Again, that&#8217;s something you may choose to add.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-548\" src=\"https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/dmpmqaut.png\" alt=\"\" width=\"1392\" height=\"936\" srcset=\"https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/dmpmqaut.png 1392w, https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/dmpmqaut-300x202.png 300w, https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/dmpmqaut-768x516.png 768w, https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/dmpmqaut-1024x689.png 1024w, https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/dmpmqaut-1200x807.png 1200w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/p>\n<h2>Running MQ programs<\/h2>\n<p>The userid on the operating system can now be irrelevant. If my applications use the userid\/password feature during the MQCONN, it is that provided userid &#8211; resolved to a DN &#8211; that will be used for all authorisation, and for filling in the MQMD context. (If the application does not provide a userid\/password, and it is not enforced by the AUTHINFO rule, then the OS userid is mapped to the DN as if it were the SHORTUSR, so it is not required that applications be updated, but it is recommended.) The common sample programs allow userids to be given to demonstrate the process. For example:<\/p>\n<pre>export MQSAMP_USER_ID=met\n\/opt\/mqm\/samp\/bin\/amqsput Q1 QMLDAP\nSample AMQSPUT0 start\nEnter password: passw0rd\n...\n<\/pre>\n<p>This also of course works with client connections, such as with <strong>amqsputc<\/strong>.<\/p>\n<h2>Limitations<\/h2>\n<p>There are two main limitations with this configuration<\/p>\n<ol>\n<li>Amazon does not support SSL\/TLS communication to the directory server. That means that you need to ensure the network configuration is suitably secure, and cannot be snooped on. From an MQ configuration perspective, this means that the AUTHINFO object&#8217;s SECCOMM attribute must be set to NO. Of course, if you are running the AD service yourself, then TLS would be recommended.<\/li>\n<li>Active Directory does not support complex authentication configurations when using the LDAP bind APIs. MQ is not calling Windows APIs, just the standard LDAP APIs. So that rules out configurations such as authenticating through cross-forest trust relationships.<\/li>\n<\/ol>\n<p>And remember that all explicit use of LDAP for MQ authentication and authorisation, regardless of which directory implementation is being used, must have a way to return a unique short name for the user. Depending on your directory schema there may or may not be a convenient field already in existence.<\/p>\n<h2>Summary<\/h2>\n<p>In this article I&#8217;ve shown how you can use a Windows AD configuration to provide user and group directly to a non-Windows queue manager. This can simplify provisioning of operating systems and queue managers, with no .need to create new OS identities.<\/p>\n<p class=\"last-modified\" style=\"border:1px solid;padding: 10px;\">This post was last updated on November 24th, 2019 at 08:37 pm<\/p>","protected":false},"excerpt":{"rendered":"<p>Permissions for accessing MQ functions have traditionally relied on using operating system definitions for users and groups. That could mean you having a requirement to define those users and groups on each system individually, which is challenging enough in a static topology, but becomes even worse in a dynamic environment such as a cloud where &hellip; <a href=\"https:\/\/marketaylor.synology.me\/?p=541\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;IBM MQ &#8211; Using Active Directory for authorisation in Unix queue managers&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[5],"tags":[78,76,77,35,79,20,80],"class_list":["post-541","post","type-post","status-publish","format-standard","hentry","category-mq","tag-active-directory","tag-authentication","tag-authorisation","tag-ibmmq","tag-ldap","tag-mqseries","tag-pam"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>IBM MQ - Using Active Directory for authorisation in Unix queue managers - Mark Taylor&#039;s Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/marketaylor.synology.me\/?p=541\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"IBM MQ - Using Active Directory for authorisation in Unix queue managers - Mark Taylor&#039;s Blog\" \/>\n<meta property=\"og:description\" content=\"Permissions for accessing MQ functions have traditionally relied on using operating system definitions for users and groups. That could mean you having a requirement to define those users and groups on each system individually, which is challenging enough in a static topology, but becomes even worse in a dynamic environment such as a cloud where &hellip; Continue reading &quot;IBM MQ &#8211; Using Active Directory for authorisation in Unix queue managers&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/marketaylor.synology.me\/?p=541\" \/>\n<meta property=\"og:site_name\" content=\"Mark Taylor&#039;s Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-09-15T19:03:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-11-24T20:37:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/2012-Features.png\" \/>\n<meta name=\"author\" content=\"Mark\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@marketaylor\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mark\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/?p=541#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/?p=541\"},\"author\":{\"name\":\"Mark\",\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/#\\\/schema\\\/person\\\/2d6f4113ff54187023e20c20186bbb3c\"},\"headline\":\"IBM MQ &#8211; Using Active Directory for authorisation in Unix queue managers\",\"datePublished\":\"2016-09-15T19:03:46+00:00\",\"dateModified\":\"2019-11-24T20:37:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/?p=541\"},\"wordCount\":1778,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/?p=541#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/marketaylor.synology.me\\\/wp-content\\\/uploads\\\/Pictures\\\/2019\\\/11\\\/2012-Features.png\",\"keywords\":[\"active directory\",\"authentication\",\"authorisation\",\"ibmmq\",\"ldap\",\"mqseries\",\"pam\"],\"articleSection\":[\"IBM MQ\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/marketaylor.synology.me\\\/?p=541#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/?p=541\",\"url\":\"https:\\\/\\\/marketaylor.synology.me\\\/?p=541\",\"name\":\"IBM MQ - Using Active Directory for authorisation in Unix queue managers - Mark Taylor&#039;s Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/?p=541#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/?p=541#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/marketaylor.synology.me\\\/wp-content\\\/uploads\\\/Pictures\\\/2019\\\/11\\\/2012-Features.png\",\"datePublished\":\"2016-09-15T19:03:46+00:00\",\"dateModified\":\"2019-11-24T20:37:57+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/#\\\/schema\\\/person\\\/2d6f4113ff54187023e20c20186bbb3c\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/?p=541#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/marketaylor.synology.me\\\/?p=541\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/?p=541#primaryimage\",\"url\":\"https:\\\/\\\/marketaylor.synology.me\\\/wp-content\\\/uploads\\\/Pictures\\\/2019\\\/11\\\/2012-Features.png\",\"contentUrl\":\"https:\\\/\\\/marketaylor.synology.me\\\/wp-content\\\/uploads\\\/Pictures\\\/2019\\\/11\\\/2012-Features.png\",\"width\":1198,\"height\":849},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/?p=541#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/marketaylor.synology.me\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"IBM MQ &#8211; Using Active Directory for authorisation in Unix queue managers\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/#website\",\"url\":\"https:\\\/\\\/marketaylor.synology.me\\\/\",\"name\":\"Mark Taylor&#039;s Blog\",\"description\":\"Messaging, Music and Moving Around\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/marketaylor.synology.me\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/#\\\/schema\\\/person\\\/2d6f4113ff54187023e20c20186bbb3c\",\"name\":\"Mark\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9a5ae091c43730194cba7cabb5d65c1dc3f48d05caaddec6ff2319a1ce66376f?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9a5ae091c43730194cba7cabb5d65c1dc3f48d05caaddec6ff2319a1ce66376f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9a5ae091c43730194cba7cabb5d65c1dc3f48d05caaddec6ff2319a1ce66376f?s=96&d=mm&r=g\",\"caption\":\"Mark\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/marketaylor\"],\"url\":\"https:\\\/\\\/marketaylor.synology.me\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"IBM MQ - Using Active Directory for authorisation in Unix queue managers - Mark Taylor&#039;s Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/marketaylor.synology.me\/?p=541","og_locale":"en_GB","og_type":"article","og_title":"IBM MQ - Using Active Directory for authorisation in Unix queue managers - Mark Taylor&#039;s Blog","og_description":"Permissions for accessing MQ functions have traditionally relied on using operating system definitions for users and groups. That could mean you having a requirement to define those users and groups on each system individually, which is challenging enough in a static topology, but becomes even worse in a dynamic environment such as a cloud where &hellip; Continue reading \"IBM MQ &#8211; Using Active Directory for authorisation in Unix queue managers\"","og_url":"https:\/\/marketaylor.synology.me\/?p=541","og_site_name":"Mark Taylor&#039;s Blog","article_published_time":"2016-09-15T19:03:46+00:00","article_modified_time":"2019-11-24T20:37:57+00:00","og_image":[{"url":"https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/2012-Features.png","type":"","width":"","height":""}],"author":"Mark","twitter_card":"summary_large_image","twitter_creator":"@marketaylor","twitter_misc":{"Written by":"Mark","Estimated reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/marketaylor.synology.me\/?p=541#article","isPartOf":{"@id":"https:\/\/marketaylor.synology.me\/?p=541"},"author":{"name":"Mark","@id":"https:\/\/marketaylor.synology.me\/#\/schema\/person\/2d6f4113ff54187023e20c20186bbb3c"},"headline":"IBM MQ &#8211; Using Active Directory for authorisation in Unix queue managers","datePublished":"2016-09-15T19:03:46+00:00","dateModified":"2019-11-24T20:37:57+00:00","mainEntityOfPage":{"@id":"https:\/\/marketaylor.synology.me\/?p=541"},"wordCount":1778,"commentCount":0,"image":{"@id":"https:\/\/marketaylor.synology.me\/?p=541#primaryimage"},"thumbnailUrl":"https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/2012-Features.png","keywords":["active directory","authentication","authorisation","ibmmq","ldap","mqseries","pam"],"articleSection":["IBM MQ"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/marketaylor.synology.me\/?p=541#respond"]}]},{"@type":"WebPage","@id":"https:\/\/marketaylor.synology.me\/?p=541","url":"https:\/\/marketaylor.synology.me\/?p=541","name":"IBM MQ - Using Active Directory for authorisation in Unix queue managers - Mark Taylor&#039;s Blog","isPartOf":{"@id":"https:\/\/marketaylor.synology.me\/#website"},"primaryImageOfPage":{"@id":"https:\/\/marketaylor.synology.me\/?p=541#primaryimage"},"image":{"@id":"https:\/\/marketaylor.synology.me\/?p=541#primaryimage"},"thumbnailUrl":"https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/2012-Features.png","datePublished":"2016-09-15T19:03:46+00:00","dateModified":"2019-11-24T20:37:57+00:00","author":{"@id":"https:\/\/marketaylor.synology.me\/#\/schema\/person\/2d6f4113ff54187023e20c20186bbb3c"},"breadcrumb":{"@id":"https:\/\/marketaylor.synology.me\/?p=541#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/marketaylor.synology.me\/?p=541"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/marketaylor.synology.me\/?p=541#primaryimage","url":"https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/2012-Features.png","contentUrl":"https:\/\/marketaylor.synology.me\/wp-content\/uploads\/Pictures\/2019\/11\/2012-Features.png","width":1198,"height":849},{"@type":"BreadcrumbList","@id":"https:\/\/marketaylor.synology.me\/?p=541#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/marketaylor.synology.me\/"},{"@type":"ListItem","position":2,"name":"IBM MQ &#8211; Using Active Directory for authorisation in Unix queue managers"}]},{"@type":"WebSite","@id":"https:\/\/marketaylor.synology.me\/#website","url":"https:\/\/marketaylor.synology.me\/","name":"Mark Taylor&#039;s Blog","description":"Messaging, Music and Moving Around","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/marketaylor.synology.me\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/marketaylor.synology.me\/#\/schema\/person\/2d6f4113ff54187023e20c20186bbb3c","name":"Mark","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/9a5ae091c43730194cba7cabb5d65c1dc3f48d05caaddec6ff2319a1ce66376f?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/9a5ae091c43730194cba7cabb5d65c1dc3f48d05caaddec6ff2319a1ce66376f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9a5ae091c43730194cba7cabb5d65c1dc3f48d05caaddec6ff2319a1ce66376f?s=96&d=mm&r=g","caption":"Mark"},"sameAs":["https:\/\/x.com\/marketaylor"],"url":"https:\/\/marketaylor.synology.me\/?author=1"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/marketaylor.synology.me\/index.php?rest_route=\/wp\/v2\/posts\/541","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/marketaylor.synology.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/marketaylor.synology.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/marketaylor.synology.me\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/marketaylor.synology.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=541"}],"version-history":[{"count":2,"href":"https:\/\/marketaylor.synology.me\/index.php?rest_route=\/wp\/v2\/posts\/541\/revisions"}],"predecessor-version":[{"id":550,"href":"https:\/\/marketaylor.synology.me\/index.php?rest_route=\/wp\/v2\/posts\/541\/revisions\/550"}],"wp:attachment":[{"href":"https:\/\/marketaylor.synology.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=541"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/marketaylor.synology.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=541"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/marketaylor.synology.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=541"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}