GithubHelp home page GithubHelp logo

Comments (4)

cwiechmann avatar cwiechmann commented on September 27, 2024

@rathnapandi, I fully understand the requirement and it makes sense, hence I have already discussed this with a colleague some time ago, as the change would be quite challenging.

As you know, in order to replicate the desired state of the API into the API-Manager, the tool needs to perform many actions requiring Admin-Role (like Grant permission, Unpublish, Delete, etc.) anyway.
Hence, adding support for an Org-Admin user will require a second Admin-Role user anyway, which steps in whenever an Admin-Action is required.

To me adding this Second-User-Approach makes the code quite complex and finally doesn't bring much value. The colleague I have discussed with said using a Technical-Account with Admin-Role is sufficient. Auditing, Permission-Management (check if the user is allowed to do this), etc. all this can be handled by the CI/CD-Workflow upfront.

I recommend not to implement this and close this issue. What are your thoughts on this.

@rchinthakuntla, you are welcome to share your thoughts as well.

from apimanager-swagger-promote.

rchinthakuntla avatar rchinthakuntla commented on September 27, 2024

@cwiechmann, I see Rathna's point but i agree with you that adding org-admin role is not critical at the moment. I think we should focus our efforts on the pending items like supporting API method descriptions, custom policy plugin. The current custom MAVEN plugin which leverage api-manager-promote script is great but can be a tough sell especially in Microsoft shops. I see CLI tool to more powerful and flexible.

Needless to say, I can convince a customer about how they should put governance checks in place to use the tool in a safe fashion using API administrator role. Supporting org Admin role would be a PLUS but not a priority at the moment, IMHO.

Thanks
Ravee

from apimanager-swagger-promote.

cwiechmann avatar cwiechmann commented on September 27, 2024

Based on conversations/feedback I get from colleagues/customers, it looks like, that many customers have a strong need for Org-Admin support. Hence, I'm thinking it is worth now to start implementing a potential solution.

As Swagger-Promote cannot by-pass the user-role-limitation in API-Manager, it can only provide some kind of a work-around.

I'm thinking about the following:

  • if an Org-Admin-User is given
  • all possible actions, such as import BE-API, create FE-API, configured FE-API will be performed with the given Org-Admin-User
  • the leads to the fact, that the Audit-Log will contain the Org-Admin user and the owner of an API also becomes the org-admin
  • whenever it comes to actions, such as Publishing the API, setting up the Quota, etc. an Admin-Role user is needed, so the tool will fall-back to a previously configured Admin-User
  • this Admin-User can be considered as a technical user
  • idea is to have this admin-user stored in a properties file available to the tool
  • with that, a CI/CD-Slave could safely store that information (for instance for promotion to production)
  • the program will internally decide ("know") what kind of user to use for a certain action
  • if the "Desired API-State" is unpublished, an admin-user-role isn't needed. As all actions can be handled by the Org-Admin-Account.

CC: @rchinthakuntla, @rathnapandi
Feedback on this is very welcome.

from apimanager-swagger-promote.

cwiechmann avatar cwiechmann commented on September 27, 2024

Released with version 1.5.0

from apimanager-swagger-promote.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.