No way to regenerate Bluemix service credentials - ibm-cloud

If I go to any IBM Cloud aka Bluemix service, say Cloudant service instance > Service Credentials, there is a new credential button. But it always generates the same credentials (same password etc).
I have tried multiple ways but result is always same, for eg,
Delete the existing credential and try to create a new one
Create a new one while a credential already exists
Delete the existing credential and Create a new one with same name
Delete the existing credential and Create a new one with a different name etc
Could anybody please let me know how to get new password or set it to whatever we want ? This is an important requirement in cases like compromised passwords etc. Hence the question.

Currently there is no option to reset the service credentials that are auto-generated for Cloudant. You can create a new Cloudant instance (with new auto-generated creds and URL) and replicate the data over.

There is no way to reset the service credentials without creating a new instance and copying over the data.
I recommend generating an API key for your database through Cloudant:
You will be able to fine-tune the permissions and create/revoke API keys as much as you would like.

Related

How to do Google App script firestore connection

I am developing an addon for gmail and the data I need is in the firestore. Can they help me connect firestore with Google app script
The easiest way to use this library is to create a Google Service Account for your application and give it read/write access to your datastore. Giving a service account access to your datastore is like giving access to a user's account, but this account is strictly used by your script, not by a person.
If you don't already have a Firestore project you want to use, create one at the Firebase admin console.
To make a service account,
Open the Google Service Accounts page by clicking here.
Select your Firestore project, and then click "Create Service
Account."
For your service account's role, choose Datastore > Cloud Datastore
Owner.
Check the "Furnish a new private key" box and select JSON as your
key type.
When you press "Create," your browser will download a .json file
with your private key (private_key), service account email
(client_email), and project ID (project_id). Copy these values into
your Google Apps Script — you'll need them to authenticate with
Firestore.
[Bonus] It is considered best practice to make use of the Properties
Service to
store this sensitive information.
For more information on this Please refer this link.

specify user id when creating user in keycloak

I'm investigating a migration process from a legacy system into keycloak. Based on some of the ideas here: https://github.com/Smartling/keycloak-user-migration-provider we're looking to create user accounts in keycloak at the point of login by looking up user credentials from some dedicated endpoints on our legacy system.
As part of this, I need the user ID to remain the same as it was in the legacy system.
Is it possible to create a user with a specified ID rather than relying on keycloak to auto-generate it?
Running into this issue when attempting to create users via the API, I looked into the code for the users service. It looks like it is currently not possible to set the user id due to how the user is created.
From the code in https://github.com/keycloak/keycloak/blob/master/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java specifically on line https://github.com/keycloak/keycloak/blob/7cfe6addf01676939206e034a87c791460031032/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java#L115 the user is first created using the username, then updated. I believe id is not an updatable field. Thus it is not currently possible.
Checking the api I see it is now possible to add an optional "id" field in the userRepresentation object that you pass to create a new user in keycloak.
Find more information here: https://www.keycloak.org/docs-api/5.0/rest-api/index.html#_userrepresentation

Why does the SAP User API for Hana cloud have a checkUserPassword method when you can't assign passwords in the cloud cockpit

SAPs User API for the HANA Cloud Platform, gives you the posibility to look up a user like this:
InitialContext ctx = new InitialContext();
UserProvider userProvider = (UserProvider) ctx.lookup("java:comp/env/user/Provider");
user = userProvider.getUser(reqUser);
it also allows you to look up the assignt role ( for example Administrator)
user.hasRole("Administrator");
(untils this point everthing works fine)
and finally the password like this:
userProvider.checkUserPassword(username, userPasswordAsCharArray);
The Question:
Why does the checkUserPassword method even exists if there is no way to assign passwords to the users you can create in the Hana cloud cockpit?
(You can add a user to a group and assign a role to the user, but there is no password option)
Where is my mistake ?( I checked the Documentation and searched the web but couldn't find anything in 2 hours!)
You don't create users via cloud cockpit. You only assign them application or account member roles and groups.
The UserProvider.checkUserPassword() method will by default check the password of the provided user against the SAP ID Service.
If you have configured an on-premise user store (see OnPremise User Store) then the method will check the password agains the configured user store.

SCM Manager (new) user types

Morning SO,
This may be a really silly question - but I have recently inherited the caretaker role for SCM and have to try to cheat my way through.
I can add new users to SCM, but my team and I are all of type "ActiveDirectory" whilst new users all default to "xml"...
how can I change these types?
The user type depends on the authentication solution you use. The default way is the "xml" type which means a local user. You can manage them through SCM-Managers user control. Users from an external authentication provider like LDAP or Active Directory are automatically created by their first successful login attempt to SCM-Manager.
You can't and don't need to create users from an external authentication provider manually. To assign a group the a new user or to define a special permission, you can type the expected username to the free text field of the group/permission control.

Mongodb - how to add database user through spring application

I want to implement database authentication in mongodb.
In order to do that, I found out that I need to first create an admin user and then create separate users for each of my database through mongodb client shell (manually or using a javascript file).
I was wondering if it is possible to add user to the individual databases from the spring application itself but did not get any useful pointers to do this. Is it that this approach is wrong because if this possible the application will always be able to access the database because it itself is creating the user, but external access will still be blocked.
Please let me know how this can be achieved or if it is an incorrect approach.
After you add a normal user via the MongoShell, you can then connect via your application and create either normal users, or read only users.
Note that a normal user can also add users, so the users your application adds may need to be down as read only users depending on your use case and needs.
In the MongoShell, adding a read only user can be done via
use myAppDB
db.addUser("JohnSmith", "CheddarCheese", true)