new configuration version

This commit is contained in:
mamo 2024-11-18 12:19:35 +00:00
parent 2abdc19e40
commit b1e841126a
5 changed files with 239 additions and 5 deletions

View File

@ -45,10 +45,11 @@ spec:
podDisruptionBudget:
maxUnavailable: "50%"
git:
tag: "r-4999176cef2df770cdb17d2976058f09da7cdcad"
tag: "r-b6134cc4e5c3b82e00933bd3c57aa747efd989cd"
dir: "DEFAULT-ADN-POST-IAM-TKNXCHNG-PROJECT/DEFAULT-ADN-POST-IAM-TKNXCHNG-INV/nai"
credentials: "git-credentials"
keystores:
- "nai-sh4r3d-keystore-proxy-auth"
- "nai-default-identity"
- "nai-sh4r3d-default-default-signer"
truststores:

View File

@ -0,0 +1,18 @@
apiVersion: "operator.nevis-security.ch/v1"
kind: "NevisKeyStore"
metadata:
name: "nai-sh4r3d-keystore-proxy-auth"
namespace: "adn-postit-tknxchng-01-dev"
labels:
deploymentTarget: "nai"
annotations:
projectKey: "DEFAULT-ADN-POST-IAM-TKNXCHNG-PROJECT"
patternId: "6ec6739e824c8e56d9633622"
spec:
cn: "New_OAuth_2.0_Authorization_Server_OpenID_Provider-signer"
usage: "signer"
san:
dns:
- "nai"
- "nai.adn-postit-tknxchng-01-dev"
email: []

View File

@ -42,6 +42,11 @@
<!-- source: pattern://d9ea344685ab4a9bb0e1e3e7 -->
<KeyObject name="tokensigner" certificate="/var/opt/keys/own/tokensigner/cert.pem" privateKey="/var/opt/keys/own/tokensigner/keystore.jks" passPhrase="pipe:///var/opt/keys/own/tokensigner/keypass"/>
</KeyStore>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<KeyStore name="Store_New_OAuth_2.0_Authorization_Server_OpenID_Provider">
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<KeyObject name="Signer_New_OAuth_2.0_Authorization_Server_OpenID_Provider" certificate="/var/opt/keys/own/nai-sh4r3d-keystore-proxy-auth/cert.pem" privateKey="/var/opt/keys/own/nai-sh4r3d-keystore-proxy-auth/keystore.jks" passPhrase="pipe:///var/opt/keys/own/nai-sh4r3d-keystore-proxy-auth/keypass"/>
</KeyStore>
</SessionCoordinator>
<!-- source: pattern://6ec6739e824c8e56d9633622 -->
<LocalOutOfContextDataStore reaperPeriod="60"/>
@ -55,10 +60,14 @@
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
<Domain name="cossa_realm" default="false" inactiveInterval="7200" reauthInterval="0" resetAuthenticationCondition="${inargs:cancel}">
<Entry method="authenticate" state="cossa_realm_AuthorizationServer1"/>
<Entry method="authenticate" state="cossa_realm_AuthorizationServer_New_OAuth_2.0_Authorization_Server_OpenID_Provider" selector="${request:currentResource:^http[s]?\u003A//[^/]+/oauth/authorize($|\?.*)$:true}"/>
<Entry method="authenticate" state="cossa_realm_AuthorizationServer_New_OAuth_2.0_Authorization_Server_OpenID_Provider" selector="${request:currentResource:^http[s]?\u003A//[^/]+/oauth/token($|\?.*)$:true}"/>
<Entry method="authenticate" state="cossa_realm_AuthorizationServer1" selector="${request:currentResource:^http[s]?\u003A//[^/]+/token/.*$:true}"/>
<Entry method="logout" state="cossa_realm_AuthorizationServer1"/>
<Entry method="logout" state="cossa_realm_AuthorizationServer1" selector="${request:currentResource:^http[s]?\u003A//[^/]+/token/.*$:true}"/>
<Entry method="stepup" state="cossa_realm_Selector"/>
<Entry method="stepup" state="cossa_realm_AuthorizationServer_New_OAuth_2.0_Authorization_Server_OpenID_Provider" selector="${request:currentResource:^http[s]?\u003A//[^/]+/oauth/authorize($|\?.*)$:true}"/>
<Entry method="stepup" state="cossa_realm_AuthorizationServer_New_OAuth_2.0_Authorization_Server_OpenID_Provider" selector="${request:currentResource:^http[s]?\u003A//[^/]+/oauth/token($|\?.*)$:true}"/>
<Entry method="stepup" state="cossa_realm_AuthorizationServer1" selector="${request:currentResource:^http[s]?\u003A//[^/]+/token/.*$:true}"/>
</Domain>
<AuthState name="MockRelam_DispatchMockRequests" class="ch.nevis.esauth.auth.states.standard.ConditionalDispatcherState" final="false">
@ -285,7 +294,7 @@
</AuthState>
<AuthState name="cossa_realm_Prepare_Done" class="ch.nevis.esauth.auth.states.scripting.ScriptState" final="false">
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
<ResultCond name="default" next="cossa_realm_Auth_Done"/>
<ResultCond name="default" next="cossa_realm_02_CheckConsent_New_OAuth_2.0_Authorization_Server_OpenID_Provider"/>
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
<Response value="AUTH_DONE">
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
@ -294,6 +303,37 @@
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
<property name="script" value="file:///var/opt/nevisauth/default/conf/prepare_done.groovy"/>
</AuthState>
<AuthState name="cossa_realm_02_CheckConsent_New_OAuth_2.0_Authorization_Server_OpenID_Provider" class="ch.nevis.esauth.auth.states.oauth2.consentstate.ConsentState" final="false">
<ResultCond name="ok" next="cossa_realm_Auth_Done"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<ResultCond name="reject" next="cossa_realm_Authentication_Failed"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<Response value="AUTH_CONTINUE">
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<Gui name="oauth_consent" label="title.oauth.consent">
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<GuiElem name="prompt" type="info" label="info.oauth.consent"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<GuiElem name="accept" type="button" label="accept.button.label" value="approve"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<GuiElem name="reject" type="button" label="reject.button.label" value="deny" optional="false"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<GuiElem name="clientName" type="info" label="" value="${notes:client_name}" optional="false"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<GuiElem name="clientLogo" type="image" label="" value="${notes:logo_uri}" optional="false"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<GuiElem name="clientToS" type="link" label="consent.tos.link.label" value="${notes:tos_uri}" optional="true"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<GuiElem name="clientPolicy" type="link" label="consent.policy.link.label" value="${notes:policy_uri}" optional="true"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<GuiElem name="consentInformation" type="hidden" value="${notes:consentInformation}" optional="true"/>
</Gui>
</Response>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="dataSource" value="nevismeta"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="nevismeta.location" value="https://sdgdf:443/nevismeta/rest/modules/oauthv2/setups/Setup_00000000000000000000000000000000/entities"/>
</AuthState>
<AuthState name="cossa_realm_Auth_Done" class="ch.nevis.esauth.auth.states.standard.AuthDone" final="false">
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
<Response value="AUTH_DONE">
@ -301,6 +341,114 @@
<Gui name="ContinueResponse"/>
</Response>
</AuthState>
<AuthState name="cossa_realm_Authentication_Failed" class="ch.nevis.esauth.auth.states.standard.AuthError" final="false">
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<Response value="AUTH_ERROR">
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<Gui name="Error">
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<GuiElem name="info" type="error" label="error_99"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<GuiElem name="submit" type="button" label="continue.button.label"/>
</Gui>
</Response>
</AuthState>
<AuthState name="cossa_realm_AuthorizationServer_New_OAuth_2.0_Authorization_Server_OpenID_Provider" class="ch.nevis.esauth.auth.states.oauth2.AuthorizationServer" final="false">
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<ResultCond name="authenticate:valid-authorization-request" next="cossa_realm_AuthorizationServer1"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<ResultCond name="invalid-authorization-request" next="cossa_realm_Authentication_Failed"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<ResultCond name="invalid-client" next="cossa_realm_Authentication_Failed"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<ResultCond name="invalid-redirect-uri" next="cossa_realm_Authentication_Failed"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<ResultCond name="invalid-token-request" next="cossa_realm_Authentication_Failed"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<ResultCond name="stepup:valid-authorization-request" next="cossa_realm_Selector"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="keystoreref" value="Store_New_OAuth_2.0_Authorization_Server_OpenID_Provider"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="keyobjectref" value="Signer_New_OAuth_2.0_Authorization_Server_OpenID_Provider"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="keyID" value="Signer_New_OAuth_2.0_Authorization_Server_OpenID_Provider"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="openid.idTokenLifetime" value="600"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="authCodeLifetime" value="60"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="propagationScope" value="session"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="dataSource" value="nevismeta"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="nevismeta.location" value="https://sdgdf:443/nevismeta/rest/modules/oauthv2/setups/Setup_00000000000000000000000000000000/entities"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="nevismeta.maxAge" value="600"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="openid.support" value="true"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="openid.issuerId" value="https://cossa.agov-w.azure.adnovum.net"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.openid" value=""/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.openid.authorizationCodeFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.openid.refreshTokenRequestPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.openid.implicitFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.openid.clientCredentialsFlowPolicy" value="true"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.offline_access" value=""/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.offline_access.authorizationCodeFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.offline_access.refreshTokenRequestPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.offline_access.implicitFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.offline_access.clientCredentialsFlowPolicy" value="true"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.address" value=""/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.address.authorizationCodeFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.address.refreshTokenRequestPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.address.implicitFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.address.clientCredentialsFlowPolicy" value="true"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.profile" value=""/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.profile.authorizationCodeFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.profile.refreshTokenRequestPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.profile.implicitFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.profile.clientCredentialsFlowPolicy" value="true"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.email" value=""/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.email.authorizationCodeFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.email.refreshTokenRequestPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.email.implicitFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.email.clientCredentialsFlowPolicy" value="true"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.phone" value=""/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.phone.authorizationCodeFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.phone.refreshTokenRequestPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.phone.implicitFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<property name="scope.phone.clientCredentialsFlowPolicy" value="true"/>
</AuthState>
<AuthState name="cossa_realm_Selector" class="ch.nevis.esauth.auth.states.standard.ConditionalDispatcherState" final="false">
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
<ResultCond name="nomatch" next="cossa_realm_Prepare_Done"/>

View File

@ -46,7 +46,7 @@ spec:
podDisruptionBudget:
maxUnavailable: "50%"
git:
tag: "r-3d141afd3ffc3d627e8f33a1c77ed93cd66a0b52"
tag: "r-b6134cc4e5c3b82e00933bd3c57aa747efd989cd"
dir: "DEFAULT-ADN-POST-IAM-TKNXCHNG-PROJECT/DEFAULT-ADN-POST-IAM-TKNXCHNG-INV/npi"
credentials: "git-credentials"
keystores:

View File

@ -99,6 +99,33 @@
<param-value>/var/opt/nevisproxy/default/host-cossa.agov-w.azure.adnovum.net/WEB-INF/security_cossa_realm_tokenintrospection.conf</param-value>
</init-param>
</filter>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<filter>
<filter-name>OAuth_Preflighted_CORS_New OAuth 2.0 Authorization Server / OpenID Provider</filter-name>
<filter-class>ch::nevis::isiweb4::filter::lua::LuaFilter</filter-class>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<init-param>
<param-name>Script</param-name>
<param-value>
function inputHeader(request, response)
response:setHeader("Access-Control-Allow-Origin", "*")
response:setHeader("Access-Control-Allow-Credentials", "true")
response:setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, OPTIONS")
response:setHeader("Access-Control-Allow-Headers", "Authorization")
response:setHeader("Access-Control-Expose-Headers", "*")
response:setHeader("Access-Control-Max-Age", "600")
if request:getMethod() == "OPTIONS" then
response:send(204)
end
end
</param-value>
</init-param>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<init-param>
<param-name>Script.InputHeaderFunctionName</param-name>
<param-value>inputHeader</param-value>
</init-param>
</filter>
<!-- source: pattern://23dc4a9fcc79a12d82662747 -->
<filter>
<filter-name>Qos</filter-name>
@ -188,6 +215,26 @@
<filter-name>SessionHandler_cossa_realm</filter-name>
<url-pattern>/token/*</url-pattern>
</filter-mapping>
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
<filter-mapping>
<filter-name>SessionHandler_cossa_realm</filter-name>
<url-pattern>/oauth/authorize</url-pattern>
</filter-mapping>
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
<filter-mapping>
<filter-name>SessionHandler_cossa_realm</filter-name>
<url-pattern>/oauth/token</url-pattern>
</filter-mapping>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<filter-mapping>
<filter-name>OAuth_Preflighted_CORS_New OAuth 2.0 Authorization Server / OpenID Provider</filter-name>
<url-pattern>/oauth/authorize</url-pattern>
</filter-mapping>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<filter-mapping>
<filter-name>OAuth_Preflighted_CORS_New OAuth 2.0 Authorization Server / OpenID Provider</filter-name>
<url-pattern>/oauth/token</url-pattern>
</filter-mapping>
<!-- source: pattern://cc0434226c610ad74ffbf1d1 -->
<filter-mapping>
<filter-name>ModSecurity_cossa_realm_TokenIntrospection</filter-name>
@ -199,6 +246,16 @@
<url-pattern>/token/*</url-pattern>
</filter-mapping>
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
<filter-mapping>
<filter-name>AuthenticationService_cossa_realm</filter-name>
<url-pattern>/oauth/authorize</url-pattern>
</filter-mapping>
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
<filter-mapping>
<filter-name>AuthenticationService_cossa_realm</filter-name>
<url-pattern>/oauth/token</url-pattern>
</filter-mapping>
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
<listener>
<listener-class>ch::nevis::isiweb4::listener::SessionListener</listener-class>
</listener>
@ -334,10 +391,10 @@
<param-value>true</param-value>
</init-param>
</servlet>
<!-- source: pattern://4b8f4de5fefd5f33774df841 -->
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<servlet>
<servlet-name>Hosting_Default</servlet-name>
<!-- source: pattern://4b8f4de5fefd5f33774df841 -->
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<servlet-class>ch::nevis::isiweb4::servlet::defaults::DefaultServlet</servlet-class>
</servlet>
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
@ -408,11 +465,21 @@
<servlet-name>NevisLogrendConnector_nli</servlet-name>
<url-pattern>/nevislogrend/*</url-pattern>
</servlet-mapping>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<servlet-mapping>
<servlet-name>Hosting_Default</servlet-name>
<url-pattern>/oauth/authorize</url-pattern>
</servlet-mapping>
<!-- source: pattern://cc0434226c610ad74ffbf1d1, pattern://cc0434226c610ad74ffbf1d1#path -->
<servlet-mapping>
<servlet-name>Connector_cossa_realm_TokenIntrospection</servlet-name>
<url-pattern>/oauth/introspect2/*</url-pattern>
</servlet-mapping>
<!-- source: pattern://5e5ec5577d69ce0cbcb089bc -->
<servlet-mapping>
<servlet-name>Hosting_Default</servlet-name>
<url-pattern>/oauth/token</url-pattern>
</servlet-mapping>
<!-- source: pattern://4b8f4de5fefd5f33774df841 -->
<servlet-mapping>
<servlet-name>Hosting_Default</servlet-name>