{"id":357,"date":"2016-03-15T15:08:01","date_gmt":"2016-03-15T15:08:01","guid":{"rendered":"http:\/\/blogs.kent.ac.uk\/unseenit\/?page_id=357"},"modified":"2018-10-16T16:32:35","modified_gmt":"2018-10-16T15:32:35","slug":"authnz-requirements","status":"publish","type":"page","link":"https:\/\/blogs.kent.ac.uk\/unseenit\/authnz-requirements\/","title":{"rendered":"AuthNZ requirements"},"content":{"rendered":"<p>When procuring or creating a new service, consideration must be given to how users will prove who they are\u00a0(authentication &#8211; AuthN) themselves to it and how the services decides on a given user&#8217;s level of access (authorisation &#8211; AuthZ).<\/p>\n<p>At Kent we try to keep the authentication process as consistent as possible both for users&#8217; benefit and our own security benefit (training users to only provide credentials to trusted web pages goes a long way to reducing the likelihood of being phished!) and the authorisation process as transparent as possible by using existing institutional data to drive systematic decision making.<\/p>\n<p>To that end, we&#8217;ve come up with some requirements for assessing new services&#8217; viability in this area which are broken down into various levels of acceptability.<\/p>\n<p><em>The language used in these requirements\u00a0should be read in line with <a href=\"http:\/\/www.faqs.org\/rfcs\/rfc2119.html\" target=\"_blank\" rel=\"noopener\">RFC2119<\/a>.<\/em><\/p>\n<h3 id=\"gold\">Gold<\/h3>\n<ol type=\"1\">\n<li>The University&#8217;s preferred method of providing Authentication and Authorisation to new services is by means of Federated Single Sign On using SAML2 (authentication) with access control (authorisation) controlled by attributes asserted during log on.<\/li>\n<li>Maximum session length <strong>must<\/strong> be controllable on the Service.<\/li>\n<li>SAML2 based Single Log Out <strong>must<\/strong> be supported allowing another Service to trigger a logoff event and for this service to trigger an IDP logoff.<\/li>\n<li>Where appropriate, authorisation <strong>may<\/strong> be controlled out-of-band by another (scheduled) process based on up to date institutional data rather than from the SAML2 assertion.<\/li>\n<li>The service <strong>must not<\/strong> require the use of <em>unsolicited<\/em> or <em>IdP initiated<\/em> single-sign-on<\/li>\n<\/ol>\n<h3 id=\"silver\">Silver<\/h3>\n<ol type=\"1\">\n<li>Some services support Federated Single Sign On via SAML2 but require the authorisation or role based access to be managed within the application. Where this in place, safeguards <strong>should<\/strong> be applied to limit general access (via front door checks such as filtering based on an Account Type attribute).<\/li>\n<li>Consideration <strong>must<\/strong> be given to the timely removal of specific access when a person changes role (for example a batch import process).<\/li>\n<li>SAML2 based Single Log Out <strong>must<\/strong> be supported allowing another Service to trigger a logoff event and for this service to trigger an IDP logoff.<\/li>\n<li>The service <strong>should not<\/strong> require the use of <em>unsolicited<\/em> or <em>IdP initiated<\/em> single-sign-on<\/li>\n<\/ol>\n<h3 id=\"bronze\">Bronze<\/h3>\n<ol type=\"1\">\n<li>If the service does not support Federated Single Sign On via SAML2 then we can offer a Single Source of Sign On service via Active Directory or LDAP based authentication and authorisation for services to be hosted within the Kent network or via point-to-point VPN. This <strong>must<\/strong> be supported over an encrypted protocol such as LDAPS or Kerberos.<\/li>\n<li>Authorisation <strong>should<\/strong> be based on up to date institutional data such as Active Directory Group or LDAP attribute filter. Where this is not possible and authorisation data is stored locally within the service, consideration <strong>must<\/strong> be given to the automated management of this data.<\/li>\n<\/ol>\n<h3 id=\"disconnected\">Disconnected<\/h3>\n<ol type=\"1\">\n<li>Some services are technically limited such that they do not acknowledge any external sources of authentication or authorisation data and require users to be registered within the system and have local service passwords.<\/li>\n<li>These systems <strong>should<\/strong>:\n<ul>\n<li>allow a password policy at least as strong as the standard University policy;<\/li>\n<li>allow user data to be batch imported to reduce the management overhead of maintaining the system.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>A combination of the above levels may be appropriate where multiple access methods are required such as when dealing with both Interactive Users and Service API Calls.<\/p>\n<p>These requirements are also included in Information Services&#8217; standard set of <a href=\"https:\/\/sharepoint.kent.ac.uk\/is\/serviceman\/service-requirements\/\" target=\"_blank\" rel=\"noopener\">non-functional requirements<\/a>\u00a0(Kent IT Account required) which are used when formally procuring new services.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When procuring or creating a new service, consideration must be given to how users will prove who they are\u00a0(authentication &#8211; AuthN) themselves to it and &hellip; <a href=\"https:\/\/blogs.kent.ac.uk\/unseenit\/authnz-requirements\/\">Read&nbsp;more<\/a><\/p>\n","protected":false},"author":13,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/blogs.kent.ac.uk\/unseenit\/wp-json\/wp\/v2\/pages\/357"}],"collection":[{"href":"https:\/\/blogs.kent.ac.uk\/unseenit\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blogs.kent.ac.uk\/unseenit\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.kent.ac.uk\/unseenit\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.kent.ac.uk\/unseenit\/wp-json\/wp\/v2\/comments?post=357"}],"version-history":[{"count":10,"href":"https:\/\/blogs.kent.ac.uk\/unseenit\/wp-json\/wp\/v2\/pages\/357\/revisions"}],"predecessor-version":[{"id":456,"href":"https:\/\/blogs.kent.ac.uk\/unseenit\/wp-json\/wp\/v2\/pages\/357\/revisions\/456"}],"wp:attachment":[{"href":"https:\/\/blogs.kent.ac.uk\/unseenit\/wp-json\/wp\/v2\/media?parent=357"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}