Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue with docs.zowe.org/stable/extend/extend-apiml/authentication-for-apiml-services #3482

Closed
dkelosky opened this issue Feb 29, 2024 · 6 comments

Comments

@dkelosky
Copy link
Contributor

Description

Can we provide info to our users on how to make the decision on which provider to use? For example, if you have z/OSMF, and want to access it's APIs via the API ML, you should use provider zosmf. If you are configuring for a system or sysplex where z/OSMF does not run, you need to use provider saf.

Obviously not that exact wording but perhaps something similar could instruct users how to chose rather than what the choices are?

Pages to Update

https://docs.zowe.org/stable/extend/extend-apiml/authentication-for-apiml-services#authentication-providers

Screenshots

Expected behavior

Additional context

@balhar-jakub
Copy link
Member

balhar-jakub commented Mar 1, 2024

I agree, but I would argue that this whole section, belongs under Advanced API ML Configuration, it doesn't concern Extenders at all, am I correct?

In the text bellow I also added a proposal for the text to be added on when to use which.

Maybe the dummy provider for quick start for development could belong into an article in Extending on Quick Start API ML for development.

Authentication providers

API ML contains the following providers to handle authentication for the API Gateway:

  • z/OSMF Authentication Provider
  • SAF Authentication Provider
  • Dummy Authentication Provider

z/OSMF Authentication Provider should be used in most cases. The z/OSMF is part of the z/OS and as such is the best option for providing the authentication API.

The SAF Authentication provider should be used when z/OSMF isn't available. In that case API Gateway acts as the authentication service. The provided credentials are validated directly by API Gateway via SAF APIs.

z/OSMF Authentication Provider

The z/OSMF Authentication Provider allows the API Gateway to authenticate with the z/OSMF service. The user needs z/OSMF access in order to authenticate.

Use the following properties of the API Gateway to enable the z/OSMF Authentication Provider:

apiml.security.auth.provider: zosmf
apiml.security.auth.zosmfServiceId: zosmf  # Replace me with the correct z/OSMF service id

SAF Authentication Provider

The SAF Authentication Provider allows the API Gateway to authenticate directly with the z/OS SAF provider that is installed on the system. The user needs a SAF account to authenticate.

Use the following property of the API Gateway to enable the SAF Authentication Provider:

apiml.security.auth.provider: saf

Note: To provide your own implementation of the SAF IDT provider, see the Implement new SAF provider guidelines.

Dummy Authentication Provider

The Dummy Authentication Provider implements simple authentication for development purposes using dummy credentials (username: user, password user). The Dummy Authentication Provider makes it possible for the API Gateway to run without authenticating with the z/OSMF service.

Use the following property of API Gateway to enable the Dummy Authentication Provider:

apiml.security.auth.provider: dummy

@dkelosky
Copy link
Contributor Author

I agree, but I would argue that this whole section, belongs under Advanced API ML Configuration, it doesn't concern Extenders at all, am I correct?

Good point, I agree.

I think the proposed changes and way you describe the guidance is very helpful as it describe "how" to choose a provider. Thanks!

@janan07
Copy link
Collaborator

janan07 commented Mar 12, 2024

This has been addressed in #3500

@janan07 janan07 closed this as completed Mar 12, 2024
@janan07 janan07 reopened this Mar 12, 2024
@balhar-jakub
Copy link
Member

balhar-jakub commented Mar 12, 2024

Part of it was, the second part is to move it under Advanced Configuration and that part is still missing.

First we need to create new Page - Authentication Providers for API Mediation Layer and move the content there and then in the current place we need to link to the new location so that it's available for those who go to the current location.

Second we need to remove the Dummy one from this document and move it to
Extend

  • Quick start of API ML for development - Needs to be written.
    • General configuration for the API Mediation Layer - Needs to be created or repurposed from API Layer docs in the repository

@janan07
Copy link
Collaborator

janan07 commented Mar 14, 2024

This issue has been addressed with PR#3523

@balhar-jakub
Copy link
Member

As such I am closing the issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants