Unit 2 - zOS Connect EE Security
Unit 2 - zOS Connect EE Security
Unit 2 - zOS Connect EE Security
Mitch Johnson
mitchj@us.ibm.com
Washington System Center
z/OS Connect EE
Contents
Introduction
More information
© 2017, 2020 IBM Corporation
1
2/11/2020
z/OS Connect EE
General considerations for securing REST APIs
Know who is invoking the API (Authentication)
Ensure that the data has not been altered in transit (Data Integrity) and ensure
confidentiality of data in transit (Encryption)
3
© 2017, 2020 IBM Corporation
z/OS Connect EE
Common challenges
4
© 2017, 2020 IBM Corporation
2
2/11/2020
z/OS Connect EE
© 2017, 2020
20 IBM Corporation
z/OS Connect EE
1 1 1 1 0 1
Bit
0 0 0
Base-2
Value [4] [2] [1] [4] [2] [1] [4] [2] [1]
4 + 2 + 1 = 4 + 0 + 1 = 0 + 0 + 0 =
The owner of the IDs that are part of the IDs that are not the owner and
file or directory group for the file or not part of the group; that is,
directory other
chmod –R u+rwx zceesrv3 chmod –R g+rwx zceesrv3 chmod –R o+rx zceesrv3
6 chmod –R o-w zceesrv3
© 2017, 2020 IBM Corporation
3
2/11/2020
z/OS Connect EE
Access for Owner, Group, Other uses UID and GID in the SAF OMVS segment, not the actual SAF identity or group
z/OS Connect EE
Server ID has
This allows portions of the configuration to be held in
Liberty
Read access to files outside the main server.xml file
Server all files through
group Two primary uses:
server.xml 1. Hold sensitive configuration information in file that is
READ to select people, but not the read group
File 2. Allow a user to update their portion of the server
<include>
Owner: LIBSERV configuration, but not other parts of it
<include> Group: LIBGRP
For the second use-case it is important to insure the user
can not override configuration in the main XML. Use the
"onConflict" tag in the <include> element:
<include location="myIncludeFile.xml" onConflict="IGNORE"/>
File
XML Owner: LIBADM Read only by those This tells Liberty to ignore XML elements in include file
Group: LIBADMG permitted to SU to
the owning ID that are also found in the main server.xml
It does not prevent them from injecting configuration elements not found in the
main server.xml. If there is a concern about that, don't use include processing.
File
XML Owner: CICSADM Server can read,
Group: CICSADMG and user can
update this file
Yes, nesting of includes is possible
8
8
© 2017, 2020 IBM Corporation
4
2/11/2020
z/OS Connect EE
Server.xml
db2.xml (owned by a DBA)
Server.xml
server.xml
<featureManager> (owned by ID ADMIN1) <featureManager>
<server description="Db2 REST">
<feature>ssl-1.0</feature>
<featureManager>
<featureManager>
<feature>ssl-1.0</feature>
<featureManager> <zosconnect_zosConnectServiceRestClientConnection
<ssl id=”mySSLConfig" keyStoreRef=”myKeys"
<ssl id=”mySSLConfig" keyStoreRef=”myKeys" trustStoreRef=”mytrustStore" trustStoreRef=”mytrustStore" clientAuthenticationSupported="true" />
<feature>appSecurity-1.0</feature>
clientAuthenticationSupported="true" /> id="Db2Conn" host="wg31.washington.ibm.com" port="2446"
<featureManager> basicAuthRef="dsn2Auth" />
<zosconnect_zosConnectServiceRestClientBasicAuth id="dsn2Auth"
<include location="${server.config.dir}/zc3lab/db2.xml applName=DSN2APPL”/>
onConflict=“IGNORE”/> </server>
z/OS Connect EE
z/OS : Starting Liberty Servers
All three options result in a Liberty z/OS server, and functionally there’s very little
difference.
When started as a UNIX process, the MODIFY command interface is not present. For production use, the best
practice is to use a started task.
Liberty z/OS
3 Server Expectation is for production servers either #2 (via Collective
Instance
Controller) or #3 will be used
10
5
2/11/2020
z/OS Connect EE
= = =
ID
/<WLP_USER_DIR> ID
/<WLP_USER_DIR> ID
/<WLP_USER_DIR>
=
Liberty z/OS ID Liberty z/OS ID Liberty z/OS ID
Server Server Server
Should all servers sharing WLP_USER_DIR share the same STC ID?
It is a matter of the degree of identity isolation that is required
11
© 2017, 2020 IBM Corporation
11
z/OS Connect EE
The first question here is whether you wish to have a common started task ID that is shared among
servers, or if you wish each server to have a unique ID
Then the second question is whether servers under a WLP_USER_DIR will share a common JCL
start proc, or use unique start procs for each server
It's possible to use a combination of the above, even under the same WLP_USER_DIR. So there's
no "one best answer" here. What's best is what's best for you.
12
6
2/11/2020
z/OS Connect EE
bootstrap.properties
com.ibm.ws.zos.core.angelRequired=true
com.ibm.ws.zos.core.angelName=<name>
13
z/OS Connect EE
z/OS : SAF SERVER profiles related to the Angel
Best practice:
• Establish all the SERVER profiles ahead of time. Existence of profile does not grant access; READ to it does.
• Determine what access a server needs and grant only that; check "is available" messages in messages.log to
verify
14
7
2/11/2020
z/OS Connect EE
Overview
© 2017, 2020
20 IBM Corporation
15
z/OS Connect EE
z/OS Connect EE API provider security overview
Authorization Audit
Liberty z/OS
Authentication
z/OS Connect EE Back end system
API Layer Security
Encryption Encryption
Identity
Service Layer Security Resource
Propagation
Role Group
Trusted
Access Access
Server
16
8
2/11/2020
z/OS Connect EE
http://ibm.biz/zosconnect-security
The actions which can be controlled by authorization (see Note 1 in the diagram above) are: deploying, querying, updating,
starting, stopping and deleting of APIs, services and API requesters.
© 2017, 2020 IBM Corporation
17
17
18
9
2/11/2020
z/OS Connect EE
Authentication
Obtaining an identity
© 2017, 2020
20 IBM Corporation
19
z/OS Connect EE
Authentication
Several different ways this can be accomplished:
Basic Authentication Client Certificate Third Party Authentication
Identity Mapping
z/OS Connect EE z/OS Connect EE z/OS Connect EE = 'FRED'
Server prompts for ID/PW Server prompts for cert. Client authenticates to 3rd party sever
Client supplies ID/PW Client supplies certificate Client receives a trusted 3rd party token
Server checks registry: Server validates cert and Token flows to Liberty z/OS across
Basic (server.xml) maps to an identity trusted connection and is mapped to
LDAP an identity
SAF
20
© 2017, 2020 IBM Corporation
20
10
2/11/2020
z/OS Connect EE
Security token types by z/OS Connect EE
Token type How used Pros Cons
SAML XML-based security token and set • Token includes user id and • Tokens can be
of profiles claims heavy to process
• Used widely with SoR • No refresh token
applications
OAuth 2.0 Facilitates the authorization of • Used widely for SoE • Needs
access one site to access and use applications e.g with introspection
token information related to the user's Google, Facebook, endpoint to
account on another site Microsoft, Twitter … validate token
21
© 2017, 2020 IBM Corporation
21
z/OS Connect EE
Open security standards
22
11
2/11/2020
z/OS Connect EE
OpenID Connect Overview
23
© 2017, 2020 IBM Corporation
23
z/OS Connect EE
Why JWT with z/OS Connect EE?
• Token validation does not require an additional trip and can be
validated locally by z/OS Connect server
• JWT tokens are lighter weight than other XML based tokens e.g
SAML
24
© 2017, 2020 IBM Corporation
24
12
2/11/2020
z/OS Connect EE
JWT (JSON Web Token)
• JWT is a
compact way of
representing
claims that are
to be
transferred
between two
parties
• Normally
transmitted via
HTTP header
• Consists of
three parts
• Header
• Payload
• Signature
25 © 2017, 2020 IBM Corporation
25
z/OS Connect EE
Example scenario – security flow
Propagate distributed identity
HTTPS/JSON
userID/pwd Identity in JWT
HTTPS/JSON
z/OS CICS task
4 runs with
1 3 6
REST API z/OS RACF ID
{JWT} CICS USER1
client Gateway Connect EE
5 7
RACF
2 Registry
Edward Johnson
1. User authenticates with the managed API using a "distributed" identity and a password
2. An external registry is used as the user registry for distributed users and groups
3. API Gateway generates a JWT and forwards the token with the request to z/OS Connect EE
4. z/OS Connect EE validates JWT
5. z/OS Connect EE calls RACF to map distributed ID to RACF user ID and authorizes access to API
6. z/OS Connect EE CICS service provider propagates distributed ID to CICS
7. CICS calls RACF to map distributed ID to RACF user ID and performs resource authorization checks
26
© 2017, 2020 IBM Corporation
26
13
2/11/2020
z/OS Connect EE
JWT used in scenario
{
"alg": "RS256"
}
{
"sub": "distuser",
"token_type": "Bearer",
"azp": "rpSsl",
"iss": "https://wg31.washington.ibm.com:26213/oidc/endpoint/OPssl",
"aud": "myZcee",,
"realmName": "zCEERealm",
"uniqueSecurityName": "distuser"
}
27
z/OS Connect EE
Configuring authentication with JWT
z/OS Connect EE can perform user authentication with JWT using the support that is
provided by the openidConnectClient-1.0 feature. The <openidConnectClient>
element is used to accept a JWT token as an authentication token
<openidConnectClient id="RPssl" inboundPropagation="required"
signatureAlgorithm="RS256" trustAliasName="JWT-Signer"
trustStoreRef="jwtTrustStore"
userIdentityToCreateSubject="sub" mapIdentityToRegistryUser=“true"
issuerIdentifier=“https://wg31.washington.ibm.com:26213/oidc/endpoint/OPssl"
authnSessionDisabled="true" audiences="myZcee"/>
• inboundPropagation is set to required to allow z/OS Connect EE to use the received JWT as an
authentication token
• signatureAlgorithm specifies the algorithm to be used to verify the JWT signature
• trustStoreRef specifies the name of the keystore element that defines the location of the
validating certificate
• trustAliasName gives the alias or label of the certificate to be used for signature validation
• userIdentityToCreateSubject indicates the claim to use to create the user subject
• mapIdentityToRegistryUser indicates whether to map the retrieved identity to the registry user
• issuerIdentifier defines the expected issuer
• authnSessionDisabled indicates whether a WebSphere custom cookie should be generated for the
session
• audiences defines a list of target audiences
See Dev Center article "Using a JWT with z/OS Connect EE" for full description of scenario
© 2017, 2020 IBM Corporation
28
28
14
2/11/2020
z/OS Connect EE
Using authorization filters with z/OS Connect EE
Authentication filter can be used to filter criteria that are specified in the authFilter
element to determine whether certain requests are processed by certain providers,
such as OpenID Connect, for authentication.
<openidConnectClient id="RPssl" inboundPropagation="required"
signatureAlgorithm="RS256" trustAliasName="JWT-Signer"
trustStoreRef="jwtTrustStore"
userIdentityToCreateSubject="sub" mapIdentityToRegistryUser=“true"
issuerIdentifier=“https://wg31.washington.ibm.com:26213/oidc/endpoint/OPssl"
authnSessionDisabled="true" audiences="myZcee"
authFilterRef=“JwtAuthFilter”/>
<authFilter id=“API Gateway">
<remoteAddress id=“ApiAddress" ip="10.7.1.*" matchType="equals"/>
</authFilter>
<authFilter id=“PhoneBook">
<requestUrl id=“URL" urlPattern=“/phoneBook/*" matchType="equals"/> </authFilter>
<authFilter id="JwtAuthFilter" >
<requestHeader id="authHeader" name="Authorization" value="Bearer" matchType="contains"/>
</authFilter>
29
z/OS Connect EE
Authorization
© 2017, 2020
20 IBM Corporation
30
15
2/11/2020
Client ID receives
REST authority to invoke
Clients or operate against
the API/service
requested
Identity Admin
No
Operator
Yes Yes Yes Yes
requireAuth Role Access? Group ID in
True? Access On? Group?
Invoke
No No No
Reader
Client is free to Client is rejected
Client is rejected
access z/OS and can not access
and has no
Connect EE and the z/OS Connect EE or
authority to
API it requested the API it requested
proceed
ID used is
unauthenticated
userid.
31
© 2017, 2020
20 IBM Corporation
31
The interceptor framework provides a way to call code to do pre-invoke work and
then again to do post-invoke work:
32
© 2017, 2020
20 IBM Corporation
32
16
2/11/2020
The “authorization interceptor” is a supplied piece of interceptor code that will check to see if the
user has the authority to perform the action requested:
Go Away
Invoke
Invoke service only
Reader
33 Discover and read
© 2017, 2020 IBM Corporation
33
z/OS Connect EE
Configuring the authorization interceptor
REST Definition of groups at the global
Clients level. Can also be defined at API
and service level.
<zosconnect_zosConnectManager
Pointer to interceptor list
Identity globalAdminGroup="GMADMIN"
globalInvokeGroup="GMINVOKE"
globalInterceptorsRef="interceptorList_g" />
34
17
2/11/2020
z/OS Connect EE
Audit
© 2017, 2020
20 IBM Corporation
35
The audit interceptor writes SMF 123.1 records. Below is an example of some of
the information captured:
• System Name
• Sysplex Name Server Identification
• Job Name Section
• Job Prefix
• Address Space Stoken
• Arrival Time
• Completion Time
• Target URI
• Input JSON Length User Data Section
• Response JSON Length
• Method Name
• API or Service Name
• Userid
• Mapped user name
36
© 2017, 2020
20 IBM Corporation
36
18
2/11/2020
z/OS Connect EE
Configuring interceptors - Example
Interceptors defined as global apply to all the APIs defined to the instance of z/OS
Connect (unless the global definition is overridden). Interceptors defined as API-
level apply only to that API. The authorization interceptor works on the principle of
user membership in a group.
<zosconnect_zosConnectManager globalInterceptorsRef="interceptorList_g"
globalAdminGroup="GMADMIN" globalInvokeGroup="GMINVOKE"/>
<zosconnect_authorizationInterceptor id="auth"/>
<zosconnect_auditInterceptor id="audit"/>
<zosconnect_zosConnectAPIs location="">
<zosConnectAPI name="catalog" invokeGroup =“CATINVOK“
interceptorsRef="interceptorList_s" />
</zosconnect_zosConnectAPIs>
37
© 2017, 2020 IBM Corporation
37
z/OS Connect EE
Encryption
© 2017, 2020
20 IBM Corporation
38
19
2/11/2020
z/OS Connect EE
SSL/TLS connections
The client TLS sessions may come and go This session can be much longer-lived and thus
frequently. If that's the responsibility of less setup/teardown overhead
a mid-tier trusted server, then the
overhead of setup/teardown is there, You can manage SAF-based certificates more
not on the z/OS system easily here because potential clients are limited
39 and known
© 2017, 2020 IBM Corporation
39
z/OS Connect EE
Using JSSE with z/OS Connect EE
z/OS Connect EE
CPUs
Liberty server
JVM CPACF
IBMJCE
https JSSE JCE
IBMJCECCA ICSF CEX6C Crypto
CEX6C
Express
Cards
server.xml RACF
40
20
2/11/2020
CPUs
CPACF
CEX6C
CEX6A
ICSF z/OS Connect EE
Liberty server
System JVM
https
SSL http
AT-TLS
AT-TLS
policy
RACF RACF
server.xml
• Only define http ports in server.xml (z/OS Connect does not know that TLS session exists)
• Define TLS protection for all applications (including z/OS Connect) in AT-TLS policy
• AT-TLS uses System SSL which exploits the CPACF and Crypto Express cards via ICSF
41
© 2017, 2020 IBM Corporation
41
Support for requireSecure Requires that API requests are sent over HTTPS Yes No
option on APIs
Persistent connections To reduce number of handshakes Yes Yes
Shared SSL sessions To share SSL sessions across cluster of z/OS Connect No Yes
instances
zIIP processing Offload TLS processing to zIIP Yes No
42
21
2/11/2020
CICS
HTTPS
43
z/OS Connect EE
AT-TLS Outbound from zCEE Scenarios (HTTP/OTMA)
inbound inbound
AT-TLS AT-TLS
outbound outbound
HTTPS
HTTP HTTP
JSSE
z/OS Connect EE server
44
22
2/11/2020
Liberty CA Chain
CICS Program CICS CA Chain
API
Liberty Client Cert
API
Requester Liberty.KeyRing
Non SSL outbound
SSL API
CICS.KeyRing inbound SSL outbound
45
© 2017, 2020 IBM Corporation
45
z/OS Connect EE
© 2017, 2020
20 IBM Corporation
46
23
2/11/2020
z/OS Connect EE
Cyphers
During the TLS handshake, the TLS protocol and data exchange cipher
are negotiated
Choice of cipher and key length has an impact on performance
You can restrict the protocol (SSL or TLS) and ciphers to be used
Example setting server.xml file
<ssl id="DefaultSSLSettings"
keyStoreRef="defaultKeyStore" sslProtocol="TLSv1.2"
enabledCiphers="TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384"/>
This configures use of TLS 1.2 and two supported ciphers
It is recommended to control what ciphers can be used in the server
rather than the client
47
© 2017, 2020 IBM Corporation
47
z/OS Connect EE
Persistent connections
48
24
2/11/2020
z/OS Connect EE
SSL sessions
When connections timeout, it is still possible to avoid the impact of full
handshakes by reusing the SSL session id
Configured by setting the sslSessionTimeout attribute on the sslOptions
element to an amount of time
Example setting server.xml file
<httpEndpoint host="*" httpPort="80" httpsPort="443"
id="defaultHttpEndpoint" httpOptionsRef="httpOpts“
sslOptionsRef="mySSLOptions"/>
<httpOptions id="httpOpts" keepAliveEnabled="true"
maxKeepAliveRequests=“100" persistTimeout="1m"/>
<sslOptions id="mySSLOptions" sslRef="DefaultSSLSettings"
sslSessionTimeout=“10m”/>
This sets the timeout limit of an SSL session to 10 minutes (default is 8640ms)
SSL session ids are not shared across z/OS Connect servers
49
© 2017, 2020 IBM Corporation
49
z/OS Connect EE
© 2017, 2020
20 IBM Corporation
50
25
2/11/2020
z/OS Connect EE
Flowing an identity to the back end
CICS Region
MQ CICS Region
The MQ SP asserts the mapped
Q1
Program id to CICS
TCP
Q2
51
Liberty Server
z/OS Connect
Authentication IMS Service
Provider
52
26
2/11/2020
Liberty Server
z/OS Connect
Authentication IMS Service
Provider
Do not specify a User name and
password in the IMS Connection profile
IP
53
IPIC connections enforce bind security to prevent an unauthorized client system from
connecting to CICS, link security to restrict the resources that can be accessed over a
connection to a CICS system, and user security to restrict the CICS resources that can be
accessed by a user
Distributed identities can be propagated to CICS and then mapped to a RACF user ID by CICS.
You can then view the distinguished name and realm for a distributed identity in the
association data of the CICS task. Important: If the z/OS Connect EE server is not in the same
sysplex as the CICS system, you must use an IPIC SSL connection that is configured with client
authentication.
If a SAF ID is used for authentication (e.g basicauth with a SAF registry) then the SAF ID is
passed to CICS.
54
© 2017, 2020 IBM Corporation
54
27
2/11/2020
z/OS Connect EE
CICS IPCONN
Must match zosConnectApplid set in
DEFINE IPCONN(ZOSCONN) zosconnect_cicsIpicConnection
GROUP(SYSPGRP)
APPLID(ZOSCONN) Must match zosConnectNetworkid set in
NETWORKID(ZOSCONN) zosconnect_cicsIpicConnection
TCPIPSERVICE(ZOSCONN)
LINKAUTH(SECUSER) Specify name of
USERAUTH(IDENTIFY) TCPIPSERVICE
IDPROP(REQUIRED)
Requests run under
the flowed user ID
<zosconnect_cicsIpicConnection id="cscvinc"
host="wg31.washington.ibm.com"
zosConnectNetworkid="ZOSCONN"
zosConnectApplid="ZOSCONN"
port="1491"/>
55
© 2017, 2020 IBM Corporation
55
z/OS Connect Q1
Program
Flowed
Authentication MQ Service RACF ID Q2
Provider
<zosconnect_services>
<service name="mqPut">
<property name="destination" value="jms/default"/>
<property name="useCallerPrincipal" value=“true"/>
</service>
</zosconnect_services>
56
© 2017, 2020 IBM Corporation
56
28
2/11/2020
Setting the user ID for the REST client service z/OS Connect EE
provider
Liberty Server DB2
HTTP or
z/OS Connect HTTPS (AT-TLS)
DB2 REST DB2
Authentication REST Client Services Tables
Service Provider
Authentication options:
<zosconnect_zosConnectServiceRestClientConnection 1. User ID / password
basicAuthRef=????
2. TLS Client Certificate
…
sslCertsRef="sslCertificates"/> 3. Passticket support
<zosconnect_zosConnectServiceRestClientBasicAuth
…
applName="applName"/> z/OS Connect requests a PassTicket from RACF
57 © 2017, 2020 IBM Corporation
57
z/OS Connect EE
© 2017, 2020
20 IBM Corporation
58
29
2/11/2020
z/OS Connect EE
API requester security – overview
Authentication Authorization Audit
API provider
Encryption Encryption
z/OS
API Layer Security RESTful
Application
endpoint
Role Group
Access Access
59
z/OS Connect EE
Typical z/OS Connect EE security flow
1. A user ID and password can be used for basic authentication by the z/OS Connect EE server
2. Connection between the CICS, IMS, or z/OS application and the z/OS Connect EE server can use TLS
3. Authenticate the CICS, IMS, or z/OS application.
4. Authorize the authenticated user ID to connect to z/OS Connect EE and to perform specific actions
on z/OS Connect EE API requesters
5. Audit the API requester request
6. Pass the user ID and password credentials to an authorization server to obtain a security token.
7. Secure the connection to the external API provider, and provide security credentials such as a
security token to be used to invoke the RESTful API
8. The RESTful API runs in the external API provider
60 © 2017, 2020 IBM Corporation
60
30
2/11/2020
z/OS Connect EE
Authentication
zconbt API requester
archive
Copybooks
z/OS LPAR
server.xml
1. Basic Authentication
Options: 1. Basic Authentication 2. TLS Client / Server
2. TLS Client / Server 3. Custom by coding
61
© 2017, 2020 IBM Corporation
61
z/OS Connect EE
Encryption
z/OS LPAR
server.xml
62
© 2017, 2020 IBM Corporation
62
31
2/11/2020
z/OS Connect EE
Authorization
z/OS LPAR
server.xml
63
© 2017, 2020 IBM Corporation
63
z/OS Connect EE
Calling an API with OAuth 2.0 support
OAuth provider
token
endpoint
HTTPS
z/OS LPAR
HTTP(S) request
with access token
server.xml
64
© 2017, 2020 IBM Corporation
64
32
2/11/2020
z/OS Connect EE
Configuring OAuth support
For OAuth, two grant types are supported:
• Resource Owner Password Credential [a.k.a. password]
• Client Credentials [a.k.a. client credentials]
The access token is a way for the API provider to validate the client application rights to invoke its APIs.
<zosconnect_endpointConnection id="orderDispatchAPI"
host="https://154.2.45.123" port="443"
authenticationConfigRef="myOAuthConfig"/>
<zosconnect_oAuthConfig id="myOAuthConfig"
grantType="client_credentials"
authServerRef="myOAuthProvider" />
<zosconnect_authorizationServer id="myOAuthProvider"
tokenEndpoint="https://154.2.45.123/oauth2/token"
basicAuthRef="myAppID"/> optional
65
© 2017, 2020 IBM Corporation
65
z/OS Connect EE
Calling an API with JWT support
66
© 2017, 2020 IBM Corporation
66
33
2/11/2020
z/OS Connect EE
Configuring JWT support
A JWT token is a way for the API provider to validate the client application rights to invoke its APIs.
<zosconnect_endpoint id="conn"
host="https://api.server.com"
authenticationConfigRef="myJWTConfig"/>
<zosconnect_authToken id="myJWTConfig"
authServerRef="myJWTserver"
header="myJWT-header-name" >
<tokenRequest credentialLocation="header"
header="Authorization" requestMethod="GET"/>
<tokenRequest />
<tokenResponse tokenLocation="header"
header="JWTAuthorization"/>
<tokenResponse />
</zosconnect_authToken>
<zosconnect_authorizationServer id="myJWTserver“
tokenEndpoint=
"https://jwt.server.com:9443/JWTTokenGenerator/getJwtToken"
basicAuthRef="tokenCredential" optional
sslCertsRef="defaultSSLConfig" />
<zosconnect_authData id="tokenCredential"
user="jwtuser" password="jwtpassword"/>
67
© 2017, 2020 IBM Corporation
67
Request endpoint:
<zosconnect_endpointConnection id="orderDispatchAPI"
host="http://154.2.45.123" port="80"
domainBasePath="/mpl-icc/z-api-mpl/"
connectionTimeout="10s" receiveTimeout="20s" />
element also support HTTPS, BasicAuth and OAuth access token
68
© 2017, 2020 IBM Corporation
68
34
2/11/2020
z/OS Connect EE
Summary
© 2017, 2020
20 IBM Corporation
69
z/OS Connect EE
Summary
• Understand your enterprise’s security requirements
• z/OS Connect EE has it’s own security capabilities in the form of the
authorization and audit interceptors
• Look at the security solution end to end, including the security capabilities of
an API Gateway
70
35
2/11/2020
71
/questions?thanks=true
Thank you for listening.
72
36