diff --git a/mbaas/404.html b/mbaas/404.html index eedb9ee92..c22c87750 100644 --- a/mbaas/404.html +++ b/mbaas/404.html @@ -200,7 +200,7 @@ - (C) 2022, Oracle and/or its affiliates + (C) 2022, 2023, Oracle and/or its affiliates diff --git a/mbaas/azure/index.html b/mbaas/azure/index.html index d70b8e84b..d945eef0d 100644 --- a/mbaas/azure/index.html +++ b/mbaas/azure/index.html @@ -65,7 +65,7 @@ "url" : "https://oracle.github.io/microservices-datadriven/mbaas/azure/", "headline": "Microsoft Azure/OCI Multicloud Installation", "description": "Microsoft Azure\/OCI Multicloud Installation The Oracle Backend for Parse Platform is available to install in Multicloud (Microsoft Azure and Oracle Cloud Infrastructure (OCI)). This installation deplpoys the Oracle Backend for Parse Platform in Azure with an Oracle Autonomous Database running in OCI.\nPrerequisites You must meet the following prerequisites to use the Oracle Backend for Spring Boot Multicloud (Microsoft Azure and OCI). You need:\nAn account on Microsoft Azure (Azure) An account on OCI Download Download Oracle Backend for Parse Server.", - "wordCount" : "382", + "wordCount" : "384", "inLanguage": "en", "isFamilyFriendly": "true", "mainEntityOfPage": { @@ -1427,7 +1427,7 @@

Upload the Oracle Backend for Spring Boot stack. For example:

+>Oracle Backend for Spring Boot and Microservices stack. For example:

Azure Upload - (C) 2022, Oracle and/or its affiliates + (C) 2022, 2023, Oracle and/or its affiliates diff --git a/mbaas/cluster-access/index.html b/mbaas/cluster-access/index.html index 37e183de1..c942b0390 100644 --- a/mbaas/cluster-access/index.html +++ b/mbaas/cluster-access/index.html @@ -1986,7 +1986,7 @@

- (C) 2022, Oracle and/or its affiliates + (C) 2022, 2023, Oracle and/or its affiliates diff --git a/mbaas/dashboard/index.html b/mbaas/dashboard/index.html index 6108d2d06..63f83a6a4 100644 --- a/mbaas/dashboard/index.html +++ b/mbaas/dashboard/index.html @@ -1932,7 +1932,7 @@

- (C) 2022, Oracle and/or its affiliates + (C) 2022, 2023, Oracle and/or its affiliates diff --git a/mbaas/database/index.html b/mbaas/database/index.html index c8c64ef74..a3c86d09d 100644 --- a/mbaas/database/index.html +++ b/mbaas/database/index.html @@ -1955,7 +1955,7 @@

- (C) 2022, Oracle and/or its affiliates + (C) 2022, 2023, Oracle and/or its affiliates diff --git a/mbaas/firebase-emulation/extra/index.html b/mbaas/firebase-emulation/extra/index.html index c1014a564..43b758f4b 100644 --- a/mbaas/firebase-emulation/extra/index.html +++ b/mbaas/firebase-emulation/extra/index.html @@ -2006,7 +2006,7 @@

- (C) 2022, Oracle and/or its affiliates + (C) 2022, 2023, Oracle and/or its affiliates diff --git a/mbaas/firebase-emulation/friendly-eats/index.html b/mbaas/firebase-emulation/friendly-eats/index.html index d515a7325..304f00fc4 100644 --- a/mbaas/firebase-emulation/friendly-eats/index.html +++ b/mbaas/firebase-emulation/friendly-eats/index.html @@ -2093,7 +2093,7 @@

- (C) 2022, Oracle and/or its affiliates + (C) 2022, 2023, Oracle and/or its affiliates diff --git a/mbaas/firebase-emulation/index.html b/mbaas/firebase-emulation/index.html index 15a366857..c24cb12f3 100644 --- a/mbaas/firebase-emulation/index.html +++ b/mbaas/firebase-emulation/index.html @@ -1935,7 +1935,7 @@

- (C) 2022, Oracle and/or its affiliates + (C) 2022, 2023, Oracle and/or its affiliates diff --git a/mbaas/firebase-emulation/scope/index.html b/mbaas/firebase-emulation/scope/index.html index 83b264b54..1396127a9 100644 --- a/mbaas/firebase-emulation/scope/index.html +++ b/mbaas/firebase-emulation/scope/index.html @@ -1983,7 +1983,7 @@

- (C) 2022, Oracle and/or its affiliates + (C) 2022, 2023, Oracle and/or its affiliates diff --git a/mbaas/getting-started/dashboard/index.html b/mbaas/getting-started/dashboard/index.html index 98328c6c3..8abac4c17 100644 --- a/mbaas/getting-started/dashboard/index.html +++ b/mbaas/getting-started/dashboard/index.html @@ -1921,7 +1921,7 @@

- (C) 2022, Oracle and/or its affiliates + (C) 2022, 2023, Oracle and/or its affiliates diff --git a/mbaas/getting-started/identity/index.html b/mbaas/getting-started/identity/index.html index 73db558de..0a3f01666 100644 --- a/mbaas/getting-started/identity/index.html +++ b/mbaas/getting-started/identity/index.html @@ -2248,7 +2248,7 @@

- (C) 2022, Oracle and/or its affiliates + (C) 2022, 2023, Oracle and/or its affiliates diff --git a/mbaas/getting-started/index.html b/mbaas/getting-started/index.html index 34c00d711..18105c6eb 100644 --- a/mbaas/getting-started/index.html +++ b/mbaas/getting-started/index.html @@ -1922,7 +1922,7 @@

- (C) 2022, Oracle and/or its affiliates + (C) 2022, 2023, Oracle and/or its affiliates diff --git a/mbaas/getting-started/objects/index.html b/mbaas/getting-started/objects/index.html index c87267382..e59e73562 100644 --- a/mbaas/getting-started/objects/index.html +++ b/mbaas/getting-started/objects/index.html @@ -1971,7 +1971,7 @@

- (C) 2022, Oracle and/or its affiliates + (C) 2022, 2023, Oracle and/or its affiliates diff --git a/mbaas/index.html b/mbaas/index.html index c3b1ac4c7..6535253e9 100644 --- a/mbaas/index.html +++ b/mbaas/index.html @@ -1307,7 +1307,7 @@

Check out Oracle Backend for Spring Boot
+>Oracle Backend for Spring Boot and Microservices  

@@ -1915,7 +1915,7 @@

- (C) 2022, Oracle and/or its affiliates + (C) 2022, 2023, Oracle and/or its affiliates diff --git a/mbaas/on-premises/index.html b/mbaas/on-premises/index.html index 0863f5cc3..56d25eb45 100644 --- a/mbaas/on-premises/index.html +++ b/mbaas/on-premises/index.html @@ -15,7 +15,7 @@ +An Oracle Database Enterprise Edition 19." /> On-Premises Installation | Oracle Backend for Parse Platform @@ -44,7 +44,7 @@ +An Oracle Database Enterprise Edition 19." /> @@ -56,7 +56,7 @@ +An Oracle Database Enterprise Edition 19." /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + +
+ + + + Oracle Backend for Spring Boot and Microservices + + +
+
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + + + + + + +
+ +
+ + +
+ + +
+ + + +
+

Authentication and Authorization Server

+

The Authorization Server is an engine to authenticate and authorize requests to various components in Oracle Backend for Spring Boot and Microservices. The end user can manage users using REST Endpoints.

+
+

NOTE: Oracle recommends that you change the default passwords for the default created users.

+
+
+

+ Users & Roles + + + +

+
+

When deploying Oracle Backend for Spring Boot and Microservices, two users are created with the following roles:

+
+ + + + + + + + + + + + + + + + +
User NameAssigned Roles
obaas-adminROLE_ADMIN, ROLE_USER
obaas-userROLE_USER
+

All users are stored in the database are deployed when installing Oracle Backend for Spring Boot and Microservices. The roles determine what the user is allowed to do in the environment. The allowed roles are ROLE_ADMIN and ROLE_USER.

+
+

NOTE: See each components documentation about the roles and authorities.

+
+

The assigned passwords (either auto generated or provided by the installer) can be viewed in the OCI Console (ORM homepage). Click on Application Information.

+ + + + + + +
+
+ + + + Application Information + + +
+ Application Information +
+
+
+ + +

If you click on Unlock, the password for the obaas-admin and obaas-user can be displayed.

+ + + + + + +
+
+ + + + AZN User passwords + + +
+ AZN User passwords +
+
+
+ + +

The passwords can also be obtained from k8s secrets using the kubectl command.

+

For obaas-admin:

+
kubectl get secret -n azn-server oractl-passwords -o jsonpath='{.data.admin}' | base64 -d
+

For obaas-user:

+
kubectl get secret -n azn-server oractl-passwords -o jsonpath='{.data.user}' | base64 -d
+
+

+ User Management REST endpoints + + + +

+
+

The following REST Endpoints are available to manage users. The table lists which minimum required role that is needed to perform the operation.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
End pointMethodDescriptionMinimum required Role
/user/api/v1/findUserGETFind all usersROLE_ADMIN
/user/api/v1/findUser?username=<username>GETFind a user with the username <username>ROLE_ADMIN
/user/api/v1/createUserPOSTCreate a userROLE_ADMIN
/user/api/v1/updatePasswordPUTUpdate a password for a user. A user with
Role ROLE_ADMIN can update any users password
ROLE_USER
/user/api/v1/deleteUsername?username=<username>DELETEDelete a user with username <username>ROLE_ADMIN
/user/api/v1/deleteId?id=<id>DELETEDelete a user with the id <id>ROLE_ADMIN
+
+

+ User Management REST Endpoints + + + +

+
+

In all examples below you need to replace <username>:<password> with your username and password. The examples are using curl to interact with the REST endpoints. They also requires that you have opened a tunnel on port 8080 to either the azn-server or obaas-admin service. For example

+
kubectl port-forward -n obaas-admin svc/obaas-admin 8080
+
+

+ /user/api/v1/findUser + + + +

+
+
curl -i -u <username>:<password> http://localhost:8080/user/api/v1/findUser
+
+

+ /user/api/v1/findUser?username=<username> + + + +

+
+
curl -i -u <username>:<password> 'http://localhost:8080/user/api/v1/findUser?username=obaas-admin'
+
+

+ /user/api/v1/createUser + + + +

+
+

When creating a user the following Roles are allowed: ROLE_ADMIN and ROLE_USER.

+
curl -u <username>:<password> -i -X POST \
+    -H 'Content-Type: application/json' \
+    -d '{"username": "a-new-user", "password": "top-secret-password", "roles" : "ROLE_ADMIN,ROLE_USER"}' \
+    http://localhost:8080/user/api/v1/createUser
+
+

+ /user/api/v1/updatePassword + + + +

+
+
curl -u <username>:<password> -i -X PUT \
+    -H 'Content-Type: application/json' \
+    -d '{"username": "a-new-user", "password": "more-top-secret-password"}' \
+    http://localhost:8080/user/api/v1/updatePassword
+
+

+ /user/api/v1/deleteUsername?username=<username> + + + +

+
+
curl -u <username>:<password> -i -X DELETE \ 
+    http://localhost:8080/user/api/v1/deleteUsername?username=<username_to_be_deleted>
+
+

+ /user/api/v1/deleteId?id=<id> + + + +

+
+
curl -u obaas-admin:password -i -X DELETE \
+    http://localhost:8080/user/api/v1/deleteId?id=<userid_to_be_deleted>
+
+

+ Architecture + + + +

+
+

The following picture shows how the Authentication Server is used for AuthZ for the following modules:

+
    +
  • OBaaS Admin (OBaaS CLI server module)
  • +
  • Config Server (Manages Config Server Entries)
  • +
  • AZN Server (AUthentication Server User Management)
  • +
  • GraalVM Compiler (GraalVM Native Compiler module)
  • +
+ + + + + + +
+
+ + + + Authorization Server Architecture + + +
+ Authorization Server Architecture +
+
+
+ + + +
+ + + + +
+
+ + + +
+ + + + + + diff --git a/spring/security/azn-server/index.xml b/spring/security/azn-server/index.xml new file mode 100644 index 000000000..47ecf95ca --- /dev/null +++ b/spring/security/azn-server/index.xml @@ -0,0 +1,10 @@ + + + + Authentication and Authorization Server on Oracle Backend for Spring Boot and Microservices + https://oracle.github.io/microservices-datadriven/spring/security/azn-server/ + Recent content in Authentication and Authorization Server on Oracle Backend for Spring Boot and Microservices + Hugo -- gohugo.io + en-us + + diff --git a/spring/security/index.html b/spring/security/index.html index e5b2a8836..ddc445ae8 100644 --- a/spring/security/index.html +++ b/spring/security/index.html @@ -12,13 +12,12 @@ - +Accessing the dashboards can only be done using port-forwarding. The passwords for the dashboards are provied by the installer or autogenerated and stored in Kubernetes secrets. +The only “public” exposure is the Apache APISIX Gateway (note that the dashboard is not exposed publicly)." /> - Security | Oracle Backend for Spring Boot + Security | Oracle Backend for Spring Boot and Microservices - - + +Accessing the dashboards can only be done using port-forwarding. The passwords for the dashboards are provied by the installer or autogenerated and stored in Kubernetes secrets. +The only “public” exposure is the Apache APISIX Gateway (note that the dashboard is not exposed publicly)." /> @@ -55,11 +53,10 @@ - +Accessing the dashboards can only be done using port-forwarding. The passwords for the dashboards are provied by the installer or autogenerated and stored in Kubernetes secrets. +The only “public” exposure is the Apache APISIX Gateway (note that the dashboard is not exposed publicly)." />