This blog describes about the Oracle Identity and Access Manager, Webgate, Kubernetes, Active Directory, SharePoint 2013, OAAM, IIS7.5 day to day issues and debugging info. As knowledge or learning's are something which needs to be shared. Enjoy :-)
Thursday, 1 July 2021
Testing 2 way ssl with openssl s_client
Creating user certificates with encrypted private key using openssl
The intent of this post is to list the steps to generate a self signed user certificate that has an encrypted private key with a passphrase.
Generate private key with passphrase
Generate csr using above generated private key
Self Sign the user certifcate with Root CA
Thursday, 3 June 2021
How to block Blacklisted User with OAAM PreAuthenticationCheckpoint
Block Blacklisted User with OAAM Pre Authentication Check
We can block blacklisted users using rules in OAAM. And let's say we want to do this at pre authentication checkpoint, we can add a blacklisted user in a group which we can attach to a condition & that condition will be attached to a rule. For us all this enablement in OAAM gets pre seeded (i am assuming you have imported the snapshot). View this video & get a basic understanding of how policies, rules & conditions come into action at real time.
Hope this helps :-)
Enjoy :-)
How to block a blacklisted IP/IP Range with OAAM Post authentication check
Configure Blacklisted IP in OAAM
We can block ip or range of ip's at post authentication checkpoint. This use case helps you to configure what rules, conditions & groups help you to achieve this in OAAM.
Below video demonstartes how to achieve the usecase;
Hope this helps :-)
Enjoy :-)
How OAAM Scoring Engine Works?
What role does scoring engine plays? What is the exact flow of scoring mechanism?
OAAM Policy Weights
What role does policy weights play in OAAM?
Thursday, 27 May 2021
OAAM 11gR2PS3 Post Authentication Checkpoint
Post Authn Checkpoint
OAAM 11gR2PS3 Checkpoints - Basic Understanding
OAAM Checkpoints Part-1
OAAM 11gR2PS3 Checkpoints - How are they executed
How Checkpoints are executed in OAAM
OAAM 11gR2PS3 Conditions Types
OAAM Conditions Types
OAAM 11gR2PS3 Conditions & Conditions Types
OAAM Conditions
Saturday, 19 January 2019
Understanding Blue Green Deployment
What this blue-green all about?
This is a way of switching traffic from one deployment to another one. That means say you have a new version of software to roll out, which has been successfully tested in staging environment. Now you want that to go-live, so here in kubernetes you have this magic word blue-green deployment.Definition: "A blue green deployment uses the service label selector to switch all traffic from one deployment to another."
If above stated definition is cryptic, than lets see an image view to understand it;
Here if you notice, we have app:hello version:1.0.0 is currently deployed. Now let's say we have a new version i.e. 2.0.0 of hello app;
First test you new deployment, i.e. version 2.0.0. Once you have verified it, it's time to switch live traffic to version 2.0.0 deployment.
Now let's get back to the definition, we discussed previously. It says use service label selector to switch traffic. Awesome we are on track understanding traffic switch.
Here we have successfully switched to new version 2.0.0 with help of "selectors & labels". That means if we want to get all this done, the mantra is to understand "labels & selectors".
Got it, now you must be asking where the heck is this labels & selectors discussion. Need not to worry we will soon see a video tutorial because that needs much attention.
Very well, we have made a basic understanding of blue-green deployment.
Enjoy :-)
Setting up NGINX Plus openid connect with IDCS on Google Cloud
This tutorial describes the nginx plus openid connect feature working with IDCS (also known as OICS) on google cloud platform.
It features the following:
a) Creating NGINX Plus VM Instance on google cloud.
b) Setting up nginx plus openid connect environment.
c) Configuring a client on IDCS.
d) Executing nginx plus configure script.
e) Execute 3 legged flow & Identify the bug with NGINX Plus.
f) Workaround for the identified bug.
g) Working Demo
Issues identified link updated:
- https://github.com/nginxinc/nginx-openid-connect/issues
Enjoy :-)
Purposed Model of Continuous Integration & Continuous Delivery & Deployment
Continuous Integration & Delivery: From Dev Team Perspective
Step1: Developer starts working on a code fix/enhancement.
- Developer commits code to development branch
- Build process get kicked off along with unit tests are executed.
- Result of Step 2 is a docker image.
- Container image gets uploaded to container registry such as GCR (google cloud registry).
- This latest image needs to be deployed on Dev env.. This can be done with Kubernetes engine by following:
- Manually - Update the pod configuration.yaml file with the latest docker version.This will create a new POD with latest image.
- Automation - Write a serverless function which will have a cronjob polling the container registry to check for latest image. If found will update the pod config & result will be a new POD with latest image.
- Perform tests on dev env. deployed with latest image.
- Here integration tests can be triggered manually or by automated way (using jenkins/spiannker).
- As well as perform manual tests
Step 2 - Developer find an issue while testing the code fix (performed in Step 1)
- Developer finds an issue while testing the image generated in Step 1.
- Might be the integration tests got failed. Or,
- Issues with image deployment. Or,
- Issue caught while manual testing.
- Etc.
- Fix the code again, & commits code in dev branch.
- Build gets triggered, unit tests are performed. And a new image gets generated.
- This image gets uploaded on container registry.
- New image having code fix needs to be deployed in dev. env.
- Developer retest the code fixes,
Step 3 - Testing Completed, now merge the changes in master branch
- Now its time to commit the code in master branch. As all tests are passed with recent fix made.
- Same steps will be followed as described above.
- Just one change will be here that the container registry will now have a public release.
- Initially it was for testing purpose & scope of that image was internal use only.
- Now as the changes are finalized, it has to be available for public use.
- Public use may or may not be be restricted as per the management decision.
Continuous Deployment:
- With continuous deployment - comes continuous challenges of;
- How an update is rolled out?
- Does this update needs to be rolled out completely or partially? This brings the concept of Canary Deployment.
- How to switch the traffic from old version to new version? This will bring in the Blue-Green Deployment.
- Below is the basic possible deployment flowchart, briefly describing how the update rollout happens?
- 5(a) Container image is now ready to be deployed to canary deployment.
- Container image promoted to canary.
- Once a set of users verify that latest deployment on canary is working fine, it needs to be deployed on production.
- Container image promoted to production.
References:
Enjoy :-)
Understanding Updates Rollout in Continuous Deployment
In continuation to that there arises a point of how an update is rolled out, what are the possible ways to do that & how that can be benefited?
Let's start the journey with a possible deployment architecture explaining that how an update is rolled out:
Note: Here in this deployment example we will consider a replica set of 3 identical pods having same image i.e. "hello1".- An update of new image is available from the container registry, this needs to be rolled out in the deployment.
- Now we have a new updated image say "hello2". In this case we will tell our kubernetes master to create a second replica set that will have containers with image "hello2".
- You will notice that with creation of 2nd replica set the service pointing to replica set (1) will gradually start pointing to replica set (2) pods.
- First replica set pods will start decreasing & second replica set pods will increase.
Note: At most in this deployment we will have 4 pods at a time & at least 3 pods.
- Finally you will observe all 3 pods of replica set (2) are created & you are left with last POD of replica set (1) that too will be vanished soon.
- Finally the new image version is rolled out
References:
Enjoy :-)
Details about Canary Deployment
About Canary Deployment:
- Definition: Canary deployments are a pattern for rolling out releases to a subset of users or servers. The idea is to first deploy the change to a small subset of servers, test it, and then roll the change out to the rest of the servers
- This means when i have to deploy an update in production, i can do this by canary way. This will allow me to deploy the change in production but only to a subset of servers. So by this way we subset of users can test the new update & report if any issue occurs. If all goes well than the update can be rolled out completely.
How to switch the traffic to from old version to new version?
This can be made possible with blue-green deployment. More info Understanding blue-green deployment.References:
Enjoy :-)
Friday, 18 January 2019
Error: The authentication scheme protecting the resource sets 'Secure' OAMAuthnCookie/ObSSOCookie, but the resource is not being accessed via secure http
Error Statement:
If the authentication scheme is configured to set "Secure" OAMAuthnCookie/ObSSOCookie and the user is accessing an insecure resource, the browser may enter an authentication browser loop. Show an error i.e.:"The authentication scheme protecting the resource sets 'Secure' OAMAuthnCookie/ObSSOCookie, but the resource is not being accessed via secure http."
Workaround:
In authentication scheme, remove the following parameter & save the changes;| Syntax for 11g Webgate and OAMAuthnCookie | Syntax for 10g Webgate and ObSSOCookie |
|---|
ssoCookie=Secure | ssoCookie:Secure |
Resolution:
References:
Wednesday, 5 July 2017
Increase docker pool size by changing storage driver
Configure Docker with the devicemapper storage driver
NOTE: This is for Docker CE & Docker EE
Issue:

Solution:
How to do this:
$ sudo systemctl stop docker
{
"storage-driver": "devicemapper"
}
$ sudo systemctl start docker

Enjoy :-)
Monday, 3 July 2017
Enable SSL in between OHS & Outbound Applications
Enabling SSL in between OHS & OutBound Applications
- OHS SSL is enabled.
- Outbound App SSL is enabled like OAM, Weblogic, OIM etc.
- Consider your OHS server name is https://abc.com. So if admin needs to access the oamconsole. Admin will fire the url as https://abc.com/oamconsole
- To enable this usecase, /oamconsole is to be added in ssl.conf/mod_wl_ohs.conf file(usual way).
- But the catch is that our OHS & OAM are in SSL mode.
- This means that they will do handshake before starting to talk to each other.
- As we all know that while doing handshake, server sends its user certificate, now this cert is verified by client i.e. here mod_wl_proxy of OHS. So the wallet used by it has to have the trusted certificate entry in it.
Steps you need to follow for this are as;
- Import the certificate used by Outbound app such as Oracle WebLogic Server into the Oracle HTTP Server wallet as a trusted certificate.
- To add trusted certificate you can use orapki utility or any of your choice.
- <MW_HOME>/oracle_common/bin/orapki wallet add -wallet ./ -trusted_cert -cert cacert.pem -auto_login_only
- Note: './' is used as we consider that you are running this command from the directory where your cwallet.sso is present. You can substitute it with directory path of cwallet.sso as well.
- Now you need to add 2 tags in ssl.conf or mod_wl_proxy.conf:
SecureProxy On
WlSSLWallet "<wallet location>"
Complete Eg:
SetHandler weblogic-handler
WebLogicHost xyz.us.domain.com
WebLogicPort 7001
WlSSLWallet "/MW_HOME/keystores/newwallet"
</Location>
Saturday, 8 April 2017
Configuring a DCC WebGate for X509 Authentication
DCC WebGate for X509 Authentication
Steps to configure this is mentioned very well in Oracle Documentation:
https://docs.oracle.com/cd/E52734_01/oam/AIAAG/GUID-DD4121B3-B8D1-4846-A9C4-2F0DCEA46E5D.htm#AIAAG90100
Enjoy:-)















