OpenMetadata/docs/install/enable-security/okta-sso/create-ingestion-service-account.md
2021-08-01 14:27:44 -07:00

3.7 KiB

description
This is a guide to create ingestion bot service app.

Create Service Account

Step 1: Generate Public/Private key pair

  • Use a tool such as this JSON Web Key Generator to generate a JWKS public/private key pair for testing.
  • For a production use case, use your own internal instance of the key pair generator.
  • For production use case, clone the repository using git clone https://github.com/mitreid-connect/mkjwk.org.git.
  • Use mvn package -DskipTests && java -jar target/ROOT.war to run the above repo.
  • Go to http:localhost:8080 to generate public/private key pair.

Alt text

  • Enter following values to generate public/private key pair:
    • Key size - 2048
    • Key use — signature
    • Algorithm — RSA256
    • Key ID — Optional This can be any random value.

Alt text

  • Once you provide the input, click Generate. You will get the Public/Private Keypair, Public/Private Keypair Set and Public Key

Alt text

Step 2: Create Service-App

  • You will need to make a POST request to https://${yourOktaDomain}/oauth2/v1/clients endpoint to create a service app in okta
  • The parameters involved in the request are:
    • client_name - name of service app
    • grant_type - client_credentials
    • token_endpoint_auth_methodprivate_key_jwt
    • application_typeservice
    • jwks — add the Public/Private Keypair Set that you created in the previous step.
  • The request looks something like this:

Alt text

  • To check if the service app is created navigate to your Okta Dashboard.

Alt text

  • Click on Applications -> Applications on the left side.

Alt text

  • You should see your service account in the list.

Alt text

Step 3: Grant allowed scopes

  • To add a grant for an allowed scope to your service app, we need to make a POST request to https://${yourOktaDomain}/api/v1/apps/{serviceappclient_id}/grants endpoint.
  • The parameters involved in the request are:
    • scopeIDokta.clients.manage
  • The request looks something like this:

Alt text

  • You can also add scopes by navigating to you Okta Dashboard and Clicking on Appications -> Applicaitons just like in step 2.

Alt text

  • Click on your service app.

Alt text

  • Now click on Okta API Scopes available on the top of the form.

Alt text

  • Grant the scopes by clicking on Grant.
  • To get more info on the scopes. Visit the Doc