{"id":193,"date":"2022-06-28T08:43:15","date_gmt":"2022-06-28T13:43:15","guid":{"rendered":"https:\/\/cloudlearning365.com\/?p=193"},"modified":"2022-10-14T09:39:20","modified_gmt":"2022-10-14T14:39:20","slug":"integrate-okta-idp-with-aviatrix-controller","status":"publish","type":"post","link":"https:\/\/cloudlearning365.com\/?p=193","title":{"rendered":"Integrate Okta IdP with Aviatrix controller"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">In this blog, I will show you step by step integrating Okta IdP (identity provider) with Aviatrix controller.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h3 class=\"wp-block-heading\">Okta configuration<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">First sign up with okta. In this example, I&#8217;m signing up as a developer account:<br><a href=\"https:\/\/developer.okta.com\/signup\/\">https:\/\/developer.okta.com\/signup\/<\/a><br>I&#8217;ve chosen to continue with my google account<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"826\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-37-1024x826.png\" alt=\"\" class=\"wp-image-194\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-37-1024x826.png 1024w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-37-300x242.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-37-768x620.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-37-1536x1239.png 1536w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-37.png 1827w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Once logged in, Applications -&gt; Applications -&gt; Create App Integration<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"383\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-38-1024x383.png\" alt=\"\" class=\"wp-image-195\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-38-1024x383.png 1024w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-38-300x112.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-38-768x288.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-38.png 1501w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Choose <strong>SAML 2.0<\/strong> as <strong>Sign-in method<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"577\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-39-1024x577.png\" alt=\"\" class=\"wp-image-196\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-39-1024x577.png 1024w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-39-300x169.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-39-768x433.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-39.png 1401w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Provide App name, such as <strong>Aviatrix<\/strong> <br><strong>App logo<\/strong> is optional, and leave <strong>App visibility<\/strong> unchecked<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"536\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-40-1024x536.png\" alt=\"\" class=\"wp-image-197\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-40-1024x536.png 1024w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-40-300x157.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-40-768x402.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-40-1536x804.png 1536w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-40.png 1543w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In SAML settings <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>General<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Field<\/th><th>Value<\/th><\/tr><\/thead><tbody><tr><td>Single sign on URL<\/td><td><code>https:\/\/[host]\/flask\/saml\/sso\/[Endpoint&nbsp;Name]<\/code><\/td><\/tr><tr><td>Audience URI (SP Entity ID)<\/td><td><code>https:\/\/[host]\/<\/code><\/td><\/tr><tr><td>Default RelayState<\/td><td><code>https:\/\/[host]\/#\/dashboard<\/code><\/td><\/tr><tr><td>Name ID format<\/td><td>Unspecified<\/td><\/tr><tr><td>Application username<\/td><td>Okta username<\/td><\/tr><tr><td>Update application username on<\/td><td>Create and update<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><code>[host]<\/code>&nbsp;is the hostname or IP of your Aviatrix controller.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>[Endpoint&nbsp;Name]<\/code>&nbsp;is an arbitrary identifier. This same value should be used when configuring SAML in the Aviatrix controller. The example uses&nbsp;<code><strong>aviatrix_saml_controller<\/strong><\/code>&nbsp;for&nbsp;<code>[Endpoint&nbsp;Name]<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>https:\/\/[host]\/#\/dashboard<\/code>&nbsp;must be set as the Default RelayState so that after SAML authenticates, user will be redirected to dashboard.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Attribute Statements<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Name<\/th><th>Name format<\/th><th>Value<\/th><\/tr><\/thead><tbody><tr><td>FirstName<\/td><td>Unspecified<\/td><td>user.firstName<\/td><\/tr><tr><td>LastName<\/td><td>Unspecified<\/td><td>user.lastName<\/td><\/tr><tr><td>Email<\/td><td>Unspecified<\/td><td>user.email<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In following example:<br><code>[host]<\/code> = <strong>22.2.2.2<\/strong><br><code>[Endpoint&nbsp;Name]<\/code> = <code><strong>aviatrix_saml_controller<\/strong><\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"767\" height=\"1024\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-42-767x1024.png\" alt=\"\" class=\"wp-image-199\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-42-767x1024.png 767w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-42-225x300.png 225w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-42-768x1025.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-42.png 1041w\" sizes=\"auto, (max-width: 767px) 100vw, 767px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Pick *anything* for feedback<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"983\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-43-1024x983.png\" alt=\"\" class=\"wp-image-200\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-43-1024x983.png 1024w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-43-300x288.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-43-768x737.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-43.png 1516w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In the newly created <strong>Aviatrix <\/strong>App Integration, scroll down to bottom, notice SHA-V2 is Active, click on it&#8217;s right side Actions drop down -&gt; <strong>View IdP metadata<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"884\" height=\"1024\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-44-884x1024.png\" alt=\"\" class=\"wp-image-201\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-44-884x1024.png 884w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-44-259x300.png 259w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-44-768x890.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-44-1325x1536.png 1325w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-44.png 1542w\" sizes=\"auto, (max-width: 884px) 100vw, 884px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In newly opened browser window, copy the link, it would have following format. Save this link for next step.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>https:&#47;&#47;dev-&lt;accountid&gt;.okta.com\/app\/&lt;idstring&gt;\/sso\/saml\/metadata<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"212\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-45-1024x212.png\" alt=\"\" class=\"wp-image-202\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-45-1024x212.png 1024w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-45-300x62.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-45-768x159.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-45.png 1364w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Aviatrix Controller Configuration<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Log into Aviatrix controller, eg: https:\/22.2.2.2, you will be greeted with login for local account<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"675\" height=\"579\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-46.png\" alt=\"\" class=\"wp-image-203\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-46.png 675w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-46-300x257.png 300w\" sizes=\"auto, (max-width: 675px) 100vw, 675px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">After login, check user profile, shows as <strong>User<\/strong>: admin, which means you are using  a local Aviatrix controller account logged in.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"351\" height=\"344\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-57.png\" alt=\"\" class=\"wp-image-215\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-57.png 351w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-57-300x294.png 300w\" sizes=\"auto, (max-width: 351px) 100vw, 351px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Settings -&gt; Controller -&gt; SAML Login -&gt; Add new<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"324\" height=\"326\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-48.png\" alt=\"\" class=\"wp-image-205\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-48.png 324w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-48-298x300.png 298w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-48-150x150.png 150w\" sizes=\"auto, (max-width: 324px) 100vw, 324px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"372\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-49-1024x372.png\" alt=\"\" class=\"wp-image-206\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-49-1024x372.png 1024w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-49-300x109.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-49-768x279.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-49.png 1294w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Endpoint&nbsp;Name<\/td><td><strong>aviatrix_saml_controller<\/strong><\/td><td>Note: as we used earlier in Okta<\/td><\/tr><tr><td>IDP Metadata Type<\/td><td>URL<\/td><td><\/td><\/tr><tr><td>IDP Metadata URL<\/td><td>https:\/\/dev-&lt;accountid&gt;.okta.com\/<br>app\/&lt;idstring&gt;\/sso\/saml\/metadata<\/td><td>Note: As recorded earlier<\/td><\/tr><tr><td>Entity ID<\/td><td>Hostname<\/td><td><\/td><\/tr><tr><td>Access set by<\/td><td>Controller<\/td><td><\/td><\/tr><tr><td>RBAC Groups<\/td><td>admin<\/td><td>Note: Permission assigned to this endpoint<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-50-768x1024.png\" alt=\"\" class=\"wp-image-207\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-50-768x1024.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-50-225x300.png 225w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-50.png 905w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Once the SAML Endpoints have been created, click on Test button<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"997\" height=\"391\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-52.png\" alt=\"\" class=\"wp-image-210\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-52.png 997w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-52-300x118.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-52-768x301.png 768w\" sizes=\"auto, (max-width: 997px) 100vw, 997px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You will be greeted by this. As I did already login to Okta as my gmail account, however, I didn&#8217;t assign my gmail to Aviatrix application in Okta<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"660\" height=\"696\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-53.png\" alt=\"\" class=\"wp-image-211\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-53.png 660w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-53-284x300.png 284w\" sizes=\"auto, (max-width: 660px) 100vw, 660px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Switch back to Okta -&gt; Aviatrix application -&gt; Assignments -&gt; Assign -&gt; Assign to People -&gt; Selected my google account.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"906\" height=\"433\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-54.png\" alt=\"\" class=\"wp-image-212\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-54.png 906w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-54-300x143.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-54-768x367.png 768w\" sizes=\"auto, (max-width: 906px) 100vw, 906px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Goes back to Aviatrix SAML Endpoints page, and run Test again. The screen gets redirected, and you may see your email flash by<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"525\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-55-1024x525.png\" alt=\"\" class=\"wp-image-213\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-55-1024x525.png 1024w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-55-300x154.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-55-768x394.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-55.png 1048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You can see your login indicates admin:&lt;email&gt; , which means SAML is working.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"597\" height=\"349\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-56.png\" alt=\"\" class=\"wp-image-214\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-56.png 597w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-56-300x175.png 300w\" sizes=\"auto, (max-width: 597px) 100vw, 597px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If you choose Sign out, it will return to login screen, notice that in the bottom, it listed the endpoint name: <strong>aviatrix_saml_controller<\/strong> we created earlier. Below it have a button to <strong>Sign in as SAML<\/strong> using this endpoint.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"622\" height=\"761\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-58.png\" alt=\"\" class=\"wp-image-216\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-58.png 622w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-58-245x300.png 245w\" sizes=\"auto, (max-width: 622px) 100vw, 622px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">While this is working, since each endpoint is now mapping to a permission group defined in the Aviatrix controller, this would means for each permission group we have to create it&#8217;s own endpoint. People have to select a permission group from the drop down box before entering their login information, not very convenient. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s take a look how we can utilize SAML IDP attribute to make this experience easier for end users.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Use SAML IDP attribute<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Summary:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Modify Aviatrix Controller SAML Endpoints to use <strong>SAML IDP attribute<\/strong><\/li><li>Create permission group, eg <strong>AWS_UsefulTools<\/strong>, assign it with permissions and access accounts<\/li><li>In Okta, add additional directory attribute (eg <strong>aviatrixPermissionGroup<\/strong>) for user profile, so it can be used to match Aviatrix permission group<\/li><li>In Okta, add this additional attribute (eg <strong>aviatrixPermissionGroup<\/strong>) to Aviatrix App SAML integration<\/li><li>In Okta, add user profile with this additional directory attribute. (eg <strong>aviatrixPermissionGroup<\/strong>)<\/li><li>Validation<\/li><\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Modify Aviatrix Controller SAML Endpoints to use SAML IDP attribute<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Settings -&gt; Controller -&gt; SAML Login -&gt; Select the SAML endpoint <strong>aviatrix_saml_controller<\/strong> created earlier, then choose <strong>Edit<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"991\" height=\"394\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-59.png\" alt=\"\" class=\"wp-image-221\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-59.png 991w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-59-300x119.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-59-768x305.png 768w\" sizes=\"auto, (max-width: 991px) 100vw, 991px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Switch Access set by from <strong>Controller <\/strong>to <strong>SAML IDP<\/strong> <strong>attribute<\/strong>, then click OK<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"948\" height=\"865\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-60.png\" alt=\"\" class=\"wp-image-222\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-60.png 948w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-60-300x274.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-60-768x701.png 768w\" sizes=\"auto, (max-width: 948px) 100vw, 948px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Create permission group, eg AWS_UsefulTools, assign it with permissions and access accounts<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s create a permission group: <strong>AWS_UsefulTools<\/strong>, let&#8217;s say this permission group will only have access to an AWS access account, and only have permission to <strong>Useful Tools<\/strong> section<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"298\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-63-1024x298.png\" alt=\"\" class=\"wp-image-226\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-63-1024x298.png 1024w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-63-300x87.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-63-768x223.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-63-1536x447.png 1536w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-63.png 1665w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Select the newly created <strong>AWS_UsefulTools<\/strong> permission group, click on <strong>Manage Permission<\/strong>, check &#8220;<strong>Useful Tools<\/strong>&#8220;, then click <strong>OK<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"514\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-65-1024x514.png\" alt=\"\" class=\"wp-image-228\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-65-1024x514.png 1024w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-65-300x151.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-65-768x385.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-65.png 1333w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Select the newly created <strong>AWS_UsefulTools<\/strong> permission group, click on <strong>Manage Access Accounts<\/strong>, check the AWS account to grant access, then click <strong>OK<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"545\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-66-1024x545.png\" alt=\"\" class=\"wp-image-229\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-66-1024x545.png 1024w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-66-300x160.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-66-768x409.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-66.png 1197w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Now this <strong>AWS_UsefulTools<\/strong> permission group can only perform Useful Tools operation with selected AWS account.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">In Okta, add additional directory attribute (aviatrixPermissionGroup) for user profile, so it can be used to match Aviatrix permission group<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In Okta, we need to make sure each Okta user account using Aviatrix application would have a custom attribute, let&#8217;s call it <strong>aviatrixPermissionGroup<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Okta -&gt; Directory -&gt; Profile Editor -&gt; Users -&gt; Apps -&gt; Locate the <strong>Aiviatrix <\/strong>app created earlier, since it&#8217;s related to Users, click on it&#8217;s name <strong>Aviatrix User<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"444\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-67-1024x444.png\" alt=\"\" class=\"wp-image-230\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-67-1024x444.png 1024w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-67-300x130.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-67-768x333.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-67-1536x666.png 1536w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-67.png 1730w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Click on <strong>Add attribute<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"597\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-68-1024x597.png\" alt=\"\" class=\"wp-image-231\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-68-1024x597.png 1024w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-68-300x175.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-68-768x448.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-68.png 1174w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Leave data type as string, make sure <strong>variable name<\/strong> is <strong>aviatrixPermissionGroup<\/strong>, and fill in corresponding Display name and Description<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"832\" height=\"1024\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-69-832x1024.png\" alt=\"\" class=\"wp-image-232\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-69-832x1024.png 832w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-69-244x300.png 244w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-69-768x945.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-69.png 983w\" sizes=\"auto, (max-width: 832px) 100vw, 832px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Now we have additional custom attribute <strong>aviatrixPermissionGroup<\/strong> created for each Okta users using Aviatrix application<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"335\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-70-1024x335.png\" alt=\"\" class=\"wp-image-233\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-70-1024x335.png 1024w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-70-300x98.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-70-768x252.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-70.png 1032w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">In Okta, add this additional attribute (aviatrixPermissionGroup) to Aviatrix App SAML integration<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Next we need to make sure Aviatrix application pass this custom attribute<br>Okta -&gt; Applications -&gt; Applications -&gt; Find and click on <strong>Aviatrix <\/strong>application<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"366\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-71-1024x366.png\" alt=\"\" class=\"wp-image-234\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-71-1024x366.png 1024w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-71-300x107.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-71-768x275.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-71.png 1409w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>General <\/strong>tab -&gt; <strong>SAML Settings<\/strong> -&gt; Edit -&gt; 1 General Settings -&gt; Next<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"928\" height=\"669\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-73.png\" alt=\"\" class=\"wp-image-236\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-73.png 928w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-73-300x216.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-73-768x554.png 768w\" sizes=\"auto, (max-width: 928px) 100vw, 928px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">2 Configure SAML -&gt; Attribute Statements (optional), previously we have:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"839\" height=\"360\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-74.png\" alt=\"\" class=\"wp-image-237\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-74.png 839w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-74-300x129.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-74-768x330.png 768w\" sizes=\"auto, (max-width: 839px) 100vw, 839px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Click Add Another <\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Name<\/td><td>Name format<\/td><td>Value<\/td><\/tr><tr><td>Profile<\/td><td>Unspecified<\/td><td><mark style=\"color:#ff0000\" class=\"has-inline-color\">appuser<\/mark>.<strong>aviatrixPermissionGroup<\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"861\" height=\"431\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-75.png\" alt=\"\" class=\"wp-image-238\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-75.png 861w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-75-300x150.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/06\/image-75-768x384.png 768w\" sizes=\"auto, (max-width: 861px) 100vw, 861px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Remember to click Next and Finish to complete SAML Settings change<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">In Okta, add user profile with this additional directory attribute. (aviatrixPermissionGroup)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Now we have to add user, and make sure this custom attribute would <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Okta -&gt; Directory -&gt; People -&gt; Add person<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"943\" height=\"299\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image.png\" alt=\"\" class=\"wp-image-241\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image.png 943w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-300x95.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-768x244.png 768w\" sizes=\"auto, (max-width: 943px) 100vw, 943px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"844\" height=\"750\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-1.png\" alt=\"\" class=\"wp-image-242\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-1.png 844w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-1-300x267.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-1-768x682.png 768w\" sizes=\"auto, (max-width: 844px) 100vw, 844px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Then click on the user just created, it will be in pending status. Click on <strong>Set Password &amp; Activate<\/strong>, a temporary password will be generated for next login<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"807\" height=\"266\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-2.png\" alt=\"\" class=\"wp-image-243\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-2.png 807w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-2-300x99.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-2-768x253.png 768w\" sizes=\"auto, (max-width: 807px) 100vw, 807px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Applications -&gt; Assigned Applications -&gt; <strong>Assign Application<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"799\" height=\"526\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-3.png\" alt=\"\" class=\"wp-image-244\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-3.png 799w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-3-300x197.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-3-768x506.png 768w\" sizes=\"auto, (max-width: 799px) 100vw, 799px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Assign <strong>Aviatrix <\/strong>application<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"752\" height=\"232\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-4.png\" alt=\"\" class=\"wp-image-245\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-4.png 752w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-4-300x93.png 300w\" sizes=\"auto, (max-width: 752px) 100vw, 752px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In the customized profile field &#8220;Aviatrix Permission Group&#8221;, add <strong>AWS_UsefulTools <\/strong>permission group we created earlier in Aviatrix permission group.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"744\" height=\"312\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-5.png\" alt=\"\" class=\"wp-image-246\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-5.png 744w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-5-300x126.png 300w\" sizes=\"auto, (max-width: 744px) 100vw, 744px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Validation<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Login to Aviatrix Controller using incognito mode, click on <strong>Sign in with SAML<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"542\" height=\"645\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-6.png\" alt=\"\" class=\"wp-image-247\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-6.png 542w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-6-252x300.png 252w\" sizes=\"auto, (max-width: 542px) 100vw, 542px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Login as the user account created earlier with temporary password, and reset password<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"589\" height=\"806\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-7.png\" alt=\"\" class=\"wp-image-248\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-7.png 589w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-7-219x300.png 219w\" sizes=\"auto, (max-width: 589px) 100vw, 589px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In the redirection screen, if you are fast enough, you can see Profile -&gt; AWS_UsefulTools<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"847\" height=\"494\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-9.png\" alt=\"\" class=\"wp-image-250\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-9.png 847w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-9-300x175.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-9-768x448.png 768w\" sizes=\"auto, (max-width: 847px) 100vw, 847px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Once logged in to controller, on top right side, it shows logged as RBAC User and belong to RBAC Groups: <strong>AWS_UsefulTools<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"336\" height=\"266\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-8.png\" alt=\"\" class=\"wp-image-249\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-8.png 336w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-8-300x238.png 300w\" sizes=\"auto, (max-width: 336px) 100vw, 336px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You may now validate that this account will only be able to use Useful Tools for the AWS access account you granted in permission group. Example, when tried to create a VPC in an Azure access account, will get access denied.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"355\" height=\"121\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-10.png\" alt=\"\" class=\"wp-image-251\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-10.png 355w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/07\/image-10-300x102.png 300w\" sizes=\"auto, (max-width: 355px) 100vw, 355px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>In this blog, I will show you step by step integrating Okta IdP (identity provider) with Aviatrix controller.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[2],"tags":[],"class_list":["post-193","post","type-post","status-publish","format-standard","hentry","category-aviatrix"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/cloudlearning365.com\/index.php?rest_route=\/wp\/v2\/posts\/193","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudlearning365.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudlearning365.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudlearning365.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudlearning365.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=193"}],"version-history":[{"count":9,"href":"https:\/\/cloudlearning365.com\/index.php?rest_route=\/wp\/v2\/posts\/193\/revisions"}],"predecessor-version":[{"id":695,"href":"https:\/\/cloudlearning365.com\/index.php?rest_route=\/wp\/v2\/posts\/193\/revisions\/695"}],"wp:attachment":[{"href":"https:\/\/cloudlearning365.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=193"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudlearning365.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=193"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudlearning365.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=193"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}