<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SSO &#8211; Blog of Kliment Andreev &#8211; A place so I won&#039;t forget things</title>
	<atom:link href="https://blog.andreev.it/tag/sso/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.andreev.it</link>
	<description></description>
	<lastBuildDate>Sun, 31 Mar 2024 17:15:00 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>Entra ID (Azure AD) SSO and Azure Static Web Apps</title>
		<link>https://blog.andreev.it/2024/03/entra-id-azure-ad-sso-and-azure-static-web-apps/</link>
					<comments>https://blog.andreev.it/2024/03/entra-id-azure-ad-sso-and-azure-static-web-apps/#respond</comments>
		
		<dc:creator><![CDATA[Kliment Andreev]]></dc:creator>
		<pubDate>Sun, 31 Mar 2024 17:15:00 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Azure AD]]></category>
		<category><![CDATA[Azure Static Web Apps]]></category>
		<category><![CDATA[entra ID]]></category>
		<category><![CDATA[SSO]]></category>
		<guid isPermaLink="false">https://blog.andreev.it/?p=9861</guid>

					<description><![CDATA[In this post I&#8217;ll explain how to configure a static web app in Azure&#8230;]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><p>In this post I&#8217;ll explain how to configure a static web app in Azure and put the app behind Entra ID (Azure AD) SSO authentication. You&#8217;ll have the same protection as logging with your Entra ID credentials to Azure and Office 365. There is no need for any code change in the app. As long as you are an user or a member of an Entra ID group assigned to the Enterprise Application, then you can access the Static Web App URL. I&#8217;ll use Azure DevOps to host the files for the web site, but you can use any other repo. </p>
<h1>Azure DevOps</h1>
<p>Log to your ADO organization and create a new project. I called mine <em>Static Web App</em>. Click on <strong>Initialize </strong>and then copy the path so you can clone it locally.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P172-01.png"><img fetchpriority="high" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P172-01-1024x836.png" alt="" width="1024" height="836" class="aligncenter size-large wp-image-9872" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P172-01-1024x836.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-01-300x245.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-01-768x627.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-01-1170x955.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-01-585x478.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-01.png 1357w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
Once cloned, go to the repo locally and you&#8217;ll see a README.md file. Clone this web site template or just create an index.html file. </p>
<pre class="brush: bash; title: ; notranslate">
git clone https://github.com/designmodo/html-website-templates.git
</pre>
<p>Then move the index file back to the root of our repo.</p>
<pre class="brush: bash; title: ; notranslate">
mv html-website-templates/Animated\ Landing\ Page\ Website\ Template/* .
rm -rf html-website-templates/
</pre>
<p>You should have the index.html file in the root of our repo. Push to ADO.</p>
<pre class="brush: bash; title: ; notranslate">
git add .
git commit -m &quot;Updated website&quot;
git push
</pre>
<h1>Azure Static Web App</h1>
<p>Log to your Azure subscription and create or use an existing resource group. I&#8217;ll call mine <strong>rgStaticWebApp</strong>. Go to the <strong>Static Web Apps</strong> menu and create a new <strong>Static Web App</strong>. Specify a subscription, a resource group and name it. In my case it&#8217;s called <em>mystaticwebapp</em>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P172-02.png"><img decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P172-02-1024x506.png" alt="" width="1024" height="506" class="aligncenter size-large wp-image-9874" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P172-02-1024x506.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-02-300x148.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-02-768x379.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-02-585x289.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-02.png 1156w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
Make sure you choose the <strong>Standard hosting plan</strong>. SSO won&#8217;t work with the free plan. Choose the repo location, the branch and <strong>HTML </strong>for <strong>Build Preset</strong>.<br />
Use the defaults for the rest and click on <strong>Create</strong>. The static web site will be deployed in 5-10 seconds and if you go to the resource, click <strong>Overview</strong>, you&#8217;ll see the URL of your website. Go to that URL and you&#8217;ll see our website is public.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P172-04.jpg"><img decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P172-04-1024x642.jpg" alt="" width="1024" height="642" class="aligncenter size-large wp-image-9875" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P172-04-1024x642.jpg 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-04-300x188.jpg 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-04-768x482.jpg 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-04-1536x963.jpg 1536w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-04-1920x1204.jpg 1920w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-04-1170x734.jpg 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-04-585x367.jpg 585w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></p>
<h1>Custom domain (optional)</h1>
<p>In case you want a custom domain, then these changes are required. This is not a requirement for the SSO, but it&#8217;s better if you have your own domain URL.<br />
Click on <strong>Custom Domains</strong> and then choose where is your domain hosted. In my case I have it with CloudFlare.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P172-05.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P172-05.png" alt="" width="895" height="603" class="aligncenter size-full wp-image-9876" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P172-05.png 895w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-05-300x202.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-05-768x517.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-05-585x394.png 585w" sizes="(max-width: 895px) 100vw, 895px" /></a><br />
Enter how you want to access your website, in my case it is <em>mysite.andreev.it</em>.<br />
You&#8217;ll have to create a CNAME in CloudFlare.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P172-06.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P172-06.png" alt="" width="838" height="501" class="aligncenter size-full wp-image-9882" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P172-06.png 838w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-06-300x179.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-06-768x459.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-06-585x350.png 585w" sizes="(max-width: 838px) 100vw, 838px" /></a><br />
Do not proxy it thru CloudFlare for now.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P172-07.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P172-07-1024x116.png" alt="" width="1024" height="116" class="aligncenter size-large wp-image-9883" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P172-07-1024x116.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-07-300x34.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-07-768x87.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-07-1170x133.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-07-585x66.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-07.png 1306w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
Click on <strong>Add </strong>at the bottom and it might take some time for Azure to verify the new CNAME record. In my case it took less than a minute.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P172-08.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P172-08.png" alt="" width="808" height="589" class="aligncenter size-full wp-image-9884" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P172-08.png 808w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-08-300x219.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-08-768x560.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-08-585x426.png 585w" sizes="(max-width: 808px) 100vw, 808px" /></a><br />
&#8230;and if you go to <em>whateveryou.namedyour.site</em>, you should see the same static web page.</p>
<h1>Entra ID (Azure AD) SSO</h1>
<p>In order to add SSO, we have to add a file in the root of our static web site and then make some changes in Azure. Refer to this <a href="https://learn.microsoft.com/en-us/azure/static-web-apps/authentication-custom?tabs=aad%2Cinvitations" rel="noopener" target="_blank">link </a>for more information.<br />
Create the following file in the root of the static web site and name it <strong>staticwebapp.config.json</strong>. It has to be this name.<br />
This is what the file looks like.</p>
<pre class="brush: xml; highlight: [18,19,20]; title: ; notranslate">
{
  &quot;routes&quot;: &#x5B;
    {
      &quot;route&quot;: &quot;/*&quot;,
      &quot;allowedRoles&quot;: &#x5B;&quot;authenticated&quot;]
    }
  ],
  &quot;responseOverrides&quot;: {
    &quot;401&quot;: {
      &quot;statusCode&quot;: 302,
      &quot;redirect&quot;: &quot;/.auth/login/aad&quot;
    }
  },
  &quot;auth&quot;: {
    &quot;identityProviders&quot;: {
      &quot;azureActiveDirectory&quot;: {
        &quot;registration&quot;: {
          &quot;openIdIssuer&quot;: &quot;https://login.microsoftonline.com/TENANT_ID/v2.0&quot;,
          &quot;clientIdSettingName&quot;: &quot;AZURE_CLIENT_ID&quot;,
          &quot;clientSecretSettingName&quot;: &quot;AZURE_CLIENT_SECRET&quot;
        }
      }
    }
  }
}
</pre>
<p>We need 3 values. The first value, <strong>TENANT_ID</strong> needs to go to this file hardcoded and the other two values for the <strong>CLIENT_ID</strong> and <strong>CLIENT_SECRET</strong> will be added in Azure. Here is how to fine these values. Go to Entra ID and click <strong>Overview</strong>. This is your <strong>TENANT_ID</strong> value. Copy and paste that value in line 18 and save the file. After, <em>git add/commit/push</em> the file back to Azure DevOps repo.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P172-09.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P172-09-1024x572.png" alt="" width="1024" height="572" class="aligncenter size-large wp-image-9890" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P172-09-1024x572.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-09-300x168.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-09-768x429.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-09-1170x654.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-09-585x327.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-09.png 1204w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
Go to <strong>App Registrations</strong> and click on <strong>New registration</strong>.<br />
Enter these values and click <strong>Register</strong>. Replace the URL with yours even if it&#8217;s not a custom domain. Add <strong>.auth/login/aad/callback</strong> as a suffix.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P172-10.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P172-10-802x1024.png" alt="" width="802" height="1024" class="aligncenter size-large wp-image-9896" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P172-10-802x1024.png 802w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-10-235x300.png 235w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-10-768x980.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-10-585x747.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-10.png 1035w" sizes="(max-width: 802px) 100vw, 802px" /></a><br />
The app registers right away and if you click the <strong>Overview </strong>you&#8217;ll see the app client ID. Copy this value in notepad or somewhere.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P172-12.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P172-12-1024x488.png" alt="" width="1024" height="488" class="aligncenter size-large wp-image-9891" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P172-12-1024x488.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-12-300x143.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-12-768x366.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-12-1170x557.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-12-585x279.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-12.png 1279w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
From the menu on the left, click <strong>Certificates &#038; secrets</strong> and then click on <strong>New client secret</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P172-13.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P172-13-1024x611.png" alt="" width="1024" height="611" class="aligncenter size-large wp-image-9892" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P172-13-1024x611.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-13-300x179.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-13-768x458.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-13-585x349.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-13.png 1027w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
Name the secret and choose for how long it&#8217;s valid.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P172-14.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P172-14.png" alt="" width="841" height="253" class="aligncenter size-full wp-image-9893" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P172-14.png 841w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-14-300x90.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-14-768x231.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-14-585x176.png 585w" sizes="(max-width: 841px) 100vw, 841px" /></a><br />
You&#8217;ll see that a secret has been created and you&#8217;ll have a value and a secret ID. Copy the value not the ID in notepad or somewhere.<br />
Now, go to the Static Web App and click on Environment variables. Add both <strong>AZURE_CLIENT_ID</strong> and <strong>AZURE_CLIENT_SECRET</strong> and click <strong>Apply </strong>at the bottom.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P172-15.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P172-15-1024x537.png" alt="" width="1024" height="537" class="aligncenter size-large wp-image-9894" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P172-15-1024x537.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-15-300x157.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-15-768x403.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-15-1170x614.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-15-585x307.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-15.png 1246w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
Finally, go to <strong>App Registration</strong>, find your app there, click <strong>Authentication </strong>on the left and make sure that <strong>ID tokens</strong> option is checked.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P172-11.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P172-11-1024x739.png" alt="" width="1024" height="739" class="aligncenter size-large wp-image-9898" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P172-11-1024x739.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-11-300x216.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-11-768x554.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-11-1536x1108.png 1536w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-11-1170x844.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-11-585x422.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-11.png 1561w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
Now, if you go to the URL of the app, you&#8217;ll be prompted to log in and after successfully logging in, you&#8217;ll see our static web page. But every user from your tenant can log in, the only restriction is that you are member of the Entra ID tenant. If you want to restrict the website only to specific people, do the following. Go to <strong>Enterprise Applications</strong>, find your application and click on <strong>Properties</strong>. Make sure <strong>Assignment required</strong> is set to <strong>Yes</strong>. Click <strong>Save </strong>on top.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P172-16.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P172-16-1024x602.png" alt="" width="1024" height="602" class="aligncenter size-large wp-image-9899" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P172-16-1024x602.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-16-300x176.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-16-768x451.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-16-1536x902.png 1536w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-16-1170x687.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-16-585x344.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P172-16.png 1590w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
Then, click on <strong>Users and Groups</strong> and assign a group or users to the app. Mind that if you use the free version of Entra ID, you won&#8217;t be able to assign groups, only users.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.andreev.it/2024/03/entra-id-azure-ad-sso-and-azure-static-web-apps/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Okta and AWS SSO (AWS IAM Identity Center)</title>
		<link>https://blog.andreev.it/2024/03/okta-and-aws-sso-aws-iam-identity-center/</link>
					<comments>https://blog.andreev.it/2024/03/okta-and-aws-sso-aws-iam-identity-center/#respond</comments>
		
		<dc:creator><![CDATA[Kliment Andreev]]></dc:creator>
		<pubDate>Wed, 20 Mar 2024 17:25:23 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[AWS IAM Identity Center]]></category>
		<category><![CDATA[OKTA]]></category>
		<category><![CDATA[SSO]]></category>
		<guid isPermaLink="false">https://blog.andreev.it/?p=9783</guid>

					<description><![CDATA[In this post I&#8217;ll describe how to integrate Okta and your AWS account. In&#8230;]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><p>In this post I&#8217;ll describe how to integrate Okta and your AWS account. In order everything to work, you&#8217;ll have to enable AWS Organization on the master account and then you can add multiple sub accounts in AWS.<br />
Best practice says that the AWS master account should be used for SSO only and you shouldn&#8217;t run any workloads. First thing first, let&#8217;s start with Okta. </p>
<h1>Okta</h1>
<p>Log to your Okta account or sign up for a 30 day trial. Once logged in, if you haven&#8217;t already done so, change the sign-in domain from trail*-okta.com to your domain. Or you can skip this step.<br />
Click on <strong>Admin </strong>from the upper right corner and then under <strong>Customizations</strong>, click on <strong>Domain</strong>. I&#8217;ve used the Okta-managed customization because it&#8217;s easier to manage.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-01.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-01-1024x507.png" alt="" width="1024" height="507" class="aligncenter size-large wp-image-9784" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-01-1024x507.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-01-300x148.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-01-768x380.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-01-1536x760.png 1536w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-01-2048x1014.png 2048w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-01-1920x950.png 1920w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-01-1170x579.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-01-585x290.png 585w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
After you click <strong>Next</strong>, you&#8217;ll be prompted to add two DNS entries for your domain.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-02.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-02-1024x575.png" alt="" width="1024" height="575" class="aligncenter size-large wp-image-9785" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-02-1024x575.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-02-300x168.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-02-768x431.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-02-1536x862.png 1536w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-02-1200x675.png 1200w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-02-1170x657.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-02-585x328.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-02.png 1579w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
Change the DNS. This will allow us to access Okta dashboard using our domain in my case it&#8217;s okta.andreev.it. From the same menu on the left, click on <strong>Applications</strong>, then <strong>Applications </strong>again and click on <strong>Browse App Catalog</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-03.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-03-1024x584.png" alt="" width="1024" height="584" class="aligncenter size-large wp-image-9824" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-03-1024x584.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-03-300x171.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-03-768x438.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-03-1170x668.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-03-585x334.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-03.png 1230w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
Search for <strong>AWS IAM</strong> and choose <strong>AWS IAM Identity Center</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-04.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-04-1024x477.png" alt="" width="1024" height="477" class="aligncenter size-large wp-image-9825" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-04-1024x477.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-04-300x140.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-04-768x358.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-04-585x273.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-04.png 1120w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
Click on <strong>Add Integration</strong> and then <strong>Done</strong>.<br />
Click on the<strong> Sign On</strong> tab and scroll all the way down to <strong>SAML Signing Certificates</strong>. Click on <strong>Actions </strong>drop-down and then <strong>View IdP metadata</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-05.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-05-1024x386.png" alt="" width="1024" height="386" class="aligncenter size-large wp-image-9830" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-05-1024x386.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-05-300x113.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-05-768x290.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-05-1170x441.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-05-585x221.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-05.png 1228w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
This will open a new tab with an XML file. Save the file as <em>metadata.xml</em>.</p>
<h1>AWS</h1>
<p>Go to console.aws.amazon.com and log with your root account. Go to <strong>IAM Identity Center</strong> and click on <strong>Enable</strong> and then select  <strong>Enable with AWS Organizations</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-06.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-06.png" alt="" width="594" height="357" class="aligncenter size-full wp-image-9831" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-06.png 594w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-06-300x180.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-06-585x352.png 585w" sizes="(max-width: 594px) 100vw, 594px" /></a><br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-07.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-07-1024x789.png" alt="" width="1024" height="789" class="aligncenter size-large wp-image-9832" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-07-1024x789.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-07-300x231.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-07-768x591.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-07-1170x901.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-07-585x450.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-07.png 1309w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
Click on <strong>Settings </strong>on the left, then <strong>Actions </strong>drop-down and click on <strong>Customize AWS access portal URL</strong>. Change the URL so it&#8217;s something that you can easily remember, e.g. yourorg or aws-master.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-10.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-10-1024x354.png" alt="" width="1024" height="354" class="aligncenter size-large wp-image-9836" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-10-1024x354.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-10-300x104.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-10-768x266.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-10-1536x532.png 1536w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-10-2048x709.png 2048w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-10-1920x664.png 1920w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-10-1170x405.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-10-585x202.png 585w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
Click on <strong>Settings </strong>on the left, then <strong>Actions </strong>drop-down and click on <strong>Change identity source</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-08.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-08-1024x320.png" alt="" width="1024" height="320" class="aligncenter size-large wp-image-9833" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-08-1024x320.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-08-300x94.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-08-768x240.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-08-1536x481.png 1536w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-08-2048x641.png 2048w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-08-1920x601.png 1920w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-08-1170x366.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-08-585x183.png 585w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
Choose <strong>External identity provider</strong> and click <strong>Next</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-09.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-09-1024x579.png" alt="" width="1024" height="579" class="aligncenter size-large wp-image-9834" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-09-1024x579.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-09-300x170.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-09-768x434.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-09-1170x663.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-09-585x331.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-09.png 1291w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
You&#8217;ll land on a page with two parts, <em>Service provider metadata</em> (that&#8217;s AWS) and <em>Identity provider metadata</em> (that&#8217;s Okta).<br />
Click on <strong>Download metadata file</strong> from upper right. You&#8217;ll need this in Okta. The file will be named with some date prefix and some characters plus metadata.xml<br />
Copy the values for the 2nd and 3rd entry. You&#8217;ll also need these for Okta.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-11.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-11-1024x296.png" alt="" width="1024" height="296" class="aligncenter size-large wp-image-9838" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-11-1024x296.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-11-300x87.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-11-768x222.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-11-585x169.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-11.png 1155w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
Click on <strong>Choose file</strong> under <em>Identity provider metadata</em> and upload the <em>metadata.xml</em> file that you&#8217;ve downloaded earlier from Okta.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-12.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-12.png" alt="" width="649" height="319" class="aligncenter size-full wp-image-9839" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-12.png 649w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-12-300x147.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-12-585x288.png 585w" sizes="(max-width: 649px) 100vw, 649px" /></a><br />
Click <strong>Next</strong>, type <strong>ACCEPT </strong>and finally click <strong>Change identity source</strong>.</p>
<h1>Okta</h1>
<p>Go back to Okta, <strong>Sign On</strong> tab and right bellow click <strong>Edit</strong>. Enter the two URL entries that you copied from AWS. Click <strong>Save </strong>after.</p>
<h1>AWS</h1>
<p>Go back to AWS, then <strong>IAM Identity Center</strong>, click on <strong>Settings </strong>and click to <strong>Enable </strong>the <em>Automatic Provisioning</em>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-14.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-14-1024x144.png" alt="" width="1024" height="144" class="aligncenter size-large wp-image-9841" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-14-1024x144.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-14-300x42.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-14-768x108.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-14-1536x216.png 1536w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-14-2048x287.png 2048w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-14-1920x269.png 1920w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-14-1170x164.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-14-585x82.png 585w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
Click on <strong>Show Token</strong> and copy both values for the <strong>SCIM endpoint </strong>and the <strong>Access Token</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-15.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-15-1024x632.png" alt="" width="1024" height="632" class="aligncenter size-large wp-image-9842" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-15-1024x632.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-15-300x185.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-15-768x474.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-15-1170x722.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-15-585x361.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-15.png 1216w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></p>
<h1>Okta</h1>
<p>Go back to Okta and for the AWS app, click on <strong>Provisioning </strong>and then click on <strong>Configure API Integration</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-16.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-16-1024x759.png" alt="" width="1024" height="759" class="aligncenter size-large wp-image-9843" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-16-1024x759.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-16-300x222.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-16-768x569.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-16-1170x867.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-16-585x434.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-16.png 1345w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
Click <strong>Enable API Integration</strong> and enter the SCIM endpoint and the token value in the corresponding fields. Click <strong>Save</strong>. Remove the trailing slash from the end of the Base URL (SCIM endpoint) if you get an error (<em>Base URL: Does not match required pattern</em>)<br />
Under <strong>Provisioning </strong>tab, click on <strong>To App</strong>, click <strong>Edit </strong>and select all three checkmarks. Click <strong>Save</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-18.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-18-1024x755.png" alt="" width="1024" height="755" class="aligncenter size-large wp-image-9844" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-18-1024x755.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-18-300x221.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-18-768x567.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-18-1536x1133.png 1536w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-18-1170x863.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-18-585x432.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-18.png 1575w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
Then, go to <strong>Assignments </strong>tab and assign a group or a user to this AWS app.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-19.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-19-1024x441.png" alt="" width="1024" height="441" class="aligncenter size-large wp-image-9846" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-19-1024x441.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-19-300x129.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-19-768x331.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-19-1170x504.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-19-585x252.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-19.png 1222w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></p>
<h1>AWS</h1>
<p>Go back to AWS and under <strong>IAM Identity Center</strong> and then <strong>Users</strong>, you can see the user that we just assigned.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-20.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-20-1024x337.png" alt="" width="1024" height="337" class="aligncenter size-large wp-image-9847" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-20-1024x337.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-20-300x99.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-20-768x253.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-20-1170x385.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-20-585x193.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-20.png 1279w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
But this user has no rights in AWS, so we have to create a Permission set and then assign this user to that permission set and the account that this user has access to. Click on <strong>Permission sets</strong> on the left and then <strong>Create permission set</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-21.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-21-1024x381.png" alt="" width="1024" height="381" class="aligncenter size-large wp-image-9848" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-21-1024x381.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-21-300x112.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-21-768x286.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-21-585x218.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-21.png 1050w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
I chose <strong>AdministratorAccess </strong>from the <strong>Predefined permission sets</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-22.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-22.png" alt="" width="657" height="616" class="aligncenter size-full wp-image-9849" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-22.png 657w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-22-300x281.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-22-585x548.png 585w" sizes="(max-width: 657px) 100vw, 657px" /></a><br />
Go back to <strong>AWS accounts</strong>, click on the account and choose <strong>Assign users or groups</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-23.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-23-1024x380.png" alt="" width="1024" height="380" class="aligncenter size-large wp-image-9850" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-23-1024x380.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-23-300x111.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-23-768x285.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-23-1536x570.png 1536w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-23-1170x434.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-23-585x217.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-23.png 1642w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
Select the <strong>User</strong> tab, click on the user, click <strong>Next</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-24.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-24-1024x641.png" alt="" width="1024" height="641" class="aligncenter size-large wp-image-9851" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-24-1024x641.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-24-300x188.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-24-768x481.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-24-1170x732.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-24-585x366.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-24.png 1270w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
Select the permission set that we just created and click <strong>Next </strong>then <strong>Submit</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-25.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-25.png" alt="" width="766" height="582" class="aligncenter size-full wp-image-9852" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-25.png 766w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-25-300x228.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-25-585x444.png 585w" sizes="(max-width: 766px) 100vw, 766px" /></a><br />
We just told AWS that the user xyz will have access to the account abc with AdministratorAccess permissions.</p>
<h1>Test SSO</h1>
<p>Open a new tab and go to the URL that you configured earlier (<em>Customize AWS access portal</em>). It should be https://whatever.awsapps.com/start.<br />
AWS will redirect you to Okta where you&#8217;ll enter your Okta username.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-26.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-26.png" alt="" width="693" height="886" class="aligncenter size-full wp-image-9853" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-26.png 693w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-26-235x300.png 235w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-26-585x748.png 585w" sizes="(max-width: 693px) 100vw, 693px" /></a><br />
Once authenticated, you&#8217;ll see the AWS accounts in your org and the permissions that you have.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P170-27.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P170-27.png" alt="" width="904" height="577" class="aligncenter size-full wp-image-9854" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P170-27.png 904w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-27-300x191.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-27-768x490.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P170-27-585x373.png 585w" sizes="(max-width: 904px) 100vw, 904px" /></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.andreev.it/2024/03/okta-and-aws-sso-aws-iam-identity-center/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Entra ID (Azure AD) and AWS SSO (AWS IAM Identity Center)</title>
		<link>https://blog.andreev.it/2024/03/entra-id-azure-ad-and-aws-sso/</link>
					<comments>https://blog.andreev.it/2024/03/entra-id-azure-ad-and-aws-sso/#respond</comments>
		
		<dc:creator><![CDATA[Kliment Andreev]]></dc:creator>
		<pubDate>Mon, 11 Mar 2024 18:58:39 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[AWS IAM Identity Center]]></category>
		<category><![CDATA[Azure AD]]></category>
		<category><![CDATA[entra ID]]></category>
		<category><![CDATA[SSO]]></category>
		<guid isPermaLink="false">https://blog.andreev.it/?p=9787</guid>

					<description><![CDATA[I wrote about this topic a couple of years ago, but some things changed&#8230;]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><p>I wrote about this <a href="https://blog.andreev.it/2021/06/azure-aws-use-azure-ad-with-aws-sso/" rel="noopener" target="_blank">topic </a>a couple of years ago, but some things changed so I am writing this post again. In this post I&#8217;ll explain how to log to AWS Console and AWS cli with Entra ID (former Azure AD) credentials. For this you&#8217;ll need admin access to both the AWS account and Entra ID. </p>
<h1>IAM Identity Center</h1>
<p>The former AWS Single Sign-on is now IAM Identity Center. You need to enable this in order to configure SSO. Go to <strong>IAM Identity Center</strong> and click on the <strong>Enable</strong> button.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P171-01.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P171-01-1024x277.png" alt="" width="1024" height="277" class="aligncenter size-large wp-image-9788" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P171-01-1024x277.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-01-300x81.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-01-768x208.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-01-1536x415.png 1536w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-01-1170x316.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-01-585x158.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-01.png 1887w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
Enable it with AWS Organizations.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P171-02.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P171-02-1024x828.png" alt="" width="1024" height="828" class="aligncenter size-large wp-image-9789" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P171-02-1024x828.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-02-300x243.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-02-768x621.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-02-1170x947.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-02-585x473.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-02.png 1246w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
What you want to do first is to change the AWS access portal URL. Click on the <strong>Edit </strong>button and change the URL. It has to be unique, so don&#8217;t expect you can type aws and be done with it. </p>
<p><a href="https://blog.andreev.it/wp-content/uploads/2024/03/P171-03-1.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P171-03-1.png" alt="" width="796" height="823" class="aligncenter size-full wp-image-9821" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P171-03-1.png 796w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-03-1-290x300.png 290w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-03-1-768x794.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-03-1-585x605.png 585w" sizes="(max-width: 796px) 100vw, 796px" /></a></p>
<p>Another setting that you have to change is the <strong>Identity source</strong>. On the left side of the <strong>IAM Identity Center</strong>, you are on the <strong>Dashboard </strong>screen. Click on <strong>Settings </strong>and then click on <strong>Change identity source</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P171-04.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P171-04-1024x450.png" alt="" width="1024" height="450" class="aligncenter size-large wp-image-9791" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P171-04-1024x450.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-04-300x132.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-04-768x337.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-04-1536x675.png 1536w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-04-2048x900.png 2048w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-04-1920x844.png 1920w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-04-1170x514.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-04-585x257.png 585w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
Choose <strong>External identity provider</strong> and click <strong>Next</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P171-05.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P171-05-1024x539.png" alt="" width="1024" height="539" class="aligncenter size-large wp-image-9792" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P171-05-1024x539.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-05-300x158.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-05-768x404.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-05-1170x616.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-05-585x308.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-05.png 1305w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
You will see this screen which consists of two parts, service provider metatada (that&#8217;s AWS) and Identity provider metadata (that&#8217;s Entra ID). Click on <strong>Download metadata file</strong>. You&#8217;ll get an XML file.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P171-06.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P171-06-906x1024.png" alt="" width="906" height="1024" class="aligncenter size-large wp-image-9793" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P171-06-906x1024.png 906w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-06-265x300.png 265w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-06-768x868.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-06-1170x1323.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-06-585x661.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-06.png 1239w" sizes="(max-width: 906px) 100vw, 906px" /></a><br />
Keep the page open and in a new browser window go to portal.azure.com.</p>
<h1>Entra ID</h1>
<p>Once logged to Azure, go to <strong>Enterprise Applications</strong> and search for <strong>AWS IAM Identity Center (successor to AWS Single Sign-On)</strong>. Click to install. When you are presented with the <strong>Overview </strong>of the application, click on <strong>Assign users and groups</strong>. Depending on your Entra ID level (P1 or P2) you might not be able to assign groups, so you have to assign users.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P171-07.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P171-07-1024x600.png" alt="" width="1024" height="600" class="aligncenter size-large wp-image-9795" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P171-07-1024x600.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-07-300x176.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-07-768x450.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-07-1536x900.png 1536w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-07-2048x1199.png 2048w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-07-1920x1124.png 1920w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-07-1170x685.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-07-585x343.png 585w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
The next step is to setup the SSO. Click on <strong>2. Set up single sign on</strong> and then <strong>SAML</strong>. You&#8217;ll be presented with this page and eventually you&#8217;ll see a prompt if you want to save some SSO settings. If you don&#8217;t see the prompt, no worries. If you see the prompt, click <strong>Yes</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P171-08.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P171-08-814x1024.png" alt="" width="814" height="1024" class="aligncenter size-large wp-image-9798" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P171-08-814x1024.png 814w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-08-238x300.png 238w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-08-768x967.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-08-1170x1473.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-08-585x736.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-08.png 1218w" sizes="(max-width: 814px) 100vw, 814px" /></a><br />
Click on <strong>Upload metadata file</strong> and point to the XML file that you saved from AWS. Click <strong>Save </strong>and don&#8217;t worry about any of the fields there. If you see a popup to test the config, just click <strong>No, I&#8217;ll test later</strong>. Under step 3, <strong>SAML Certificates</strong>, click to <strong>Download </strong>Federation Metadata XML.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P171-09.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P171-09.png" alt="" width="1009" height="546" class="aligncenter size-full wp-image-9799" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P171-09.png 1009w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-09-300x162.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-09-768x416.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-09-585x317.png 585w" sizes="(max-width: 1009px) 100vw, 1009px" /></a><br />
You&#8217;ll get another XML file called <strong>AWS IAM Identity Center (successor to AWS Single Sign-On).xml</strong>.</p>
<h1>Back to AWS</h1>
<p>Go back to the same page where you&#8217;ve downloaded the XML metadata file, but this time look at the bottom part where it says <strong>Identity provider metadata</strong> and <strong>IdP SAML metadata</strong>. Click on <strong>Choose file</strong> and upload the file from Azure. Click <strong>Next</strong>, type <strong>ACCEPT </strong>and click <strong>Change identity source</strong>.<br />
Once completed click to <strong>Enable </strong>Automatic provisioning.  Copy the <strong>SCIM endpoint</strong> and the <strong>access token</strong>. </p>
<h1>Back to Azure</h1>
<p>Under the AWS SSO application. on the left side click on <strong>Provisioning</strong>. Change the <strong>Provisioning Mode</strong> to <strong>Automatic</strong>. Expand <strong>Admin credentials</strong> and for <strong>Tenant ID</strong> enter the <strong>SCIM endpoint</strong> and for <strong>Secret Token</strong>, enter the token. Click <strong>Test Connection</strong> and upon successful test, click <strong>Save</strong>. If you see clientsecret instead of Tenant ID, it means you are not using the right AWS application and you use the AWS Single Account application instead. Start from scratch.<br />
Anytime you assign a new user or a group to AWS application, Azure will sync the user to AWS. But, instead of waiting (40 mins by default) for the initial sync, click on the <strong>Overview </strong>and click <strong>Start provisioning</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P171-10.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P171-10-1024x704.png" alt="" width="1024" height="704" class="aligncenter size-large wp-image-9803" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P171-10-1024x704.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-10-300x206.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-10-768x528.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-10-1170x804.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-10-585x402.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-10.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></p>
<h1>Back to AWS</h1>
<p>If your provisioning works fine, you&#8217;ll see your assigned Azure user under <strong>Users </strong>in IAM Identity Center. On the left side of the IAM Identity Center, click on <strong>Permission sets</strong>. Click <strong>Create Permission set</strong> and choose <strong>Predefined permission set</strong>, then <strong>AdministratorAccess</strong>. Change the name, description, session duration if needed and then click <strong>Next</strong> and then <strong>Create</strong>.<br />
Finally, click on <strong>AWS accounts</strong>, select an account from the organization, click <strong>Assign users or groups</strong>, click <strong>Users </strong>or <strong>Groups</strong>, select a user and click <strong>Next</strong>. Assign a permission set, click <strong>Next </strong>and <strong>Submit</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P171-11.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P171-11-1024x675.png" alt="" width="1024" height="675" class="aligncenter size-large wp-image-9804" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P171-11-1024x675.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-11-300x198.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-11-768x506.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-11-585x386.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-11.png 1048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
Now, test the SSO by going to whatever.awsapps.com/start# and you&#8217;ll be redirected to the Microsoft sign in prompt. Follow the authentication process for Entra ID (username, password, MFA etc) and once you pass the authentication process you&#8217;ll see the AWS account that you have access to.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P171-12.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P171-12-1024x309.png" alt="" width="1024" height="309" class="aligncenter size-large wp-image-9806" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P171-12-1024x309.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-12-300x91.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-12-768x232.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-12-1170x353.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-12-585x177.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-12.png 1513w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></p>
<h1>AWS CLI and SSO</h1>
<p>Follow the instructions to <a href="https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html" rel="noopener" target="_blank">install </a>AWS CLI for your OS, then configure SSO. Name your session, enter the URL you configured earlier, enter the region where you configured SSO and hit enter for the registration scopes. </p>
<pre class="brush: bash; title: ; notranslate">
aws configure sso
SSO session name (Recommended): sso
SSO start URL &#x5B;None]: https://your_url.awsapps.com/start
SSO region &#x5B;None]: us-east-1
SSO registration scopes &#x5B;sso:account:access]:
Attempting to automatically open the SSO authorization page in your default browser.
If the browser does not open or you wish to use a different device to authorize this request, open the following URL:

https://device.sso.us-east-1.amazonaws.com/

Then enter the code:

PWKG-CAFZ
</pre>
<p>After successful authentication, you&#8217;ll be presented with the accounts available to you. Pick one.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2024/03/P171-13.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2024/03/P171-13-1024x305.png" alt="" width="1024" height="305" class="aligncenter size-large wp-image-9819" srcset="https://blog.andreev.it/wp-content/uploads/2024/03/P171-13-1024x305.png 1024w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-13-300x89.png 300w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-13-768x229.png 768w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-13-1536x458.png 1536w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-13-1170x349.png 1170w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-13-585x174.png 585w, https://blog.andreev.it/wp-content/uploads/2024/03/P171-13.png 1734w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
You&#8217;ll be prompted to choose the roles available to you and then specify your default region, default output and the profile. \<br />
NOTE: If you&#8217;ll be working with multiple accounts, maybe you should specify a different profile than the default. It&#8217;s up to you. E.g. specify prod and dev profiles. </p>
<pre class="brush: plain; title: ; notranslate">
There are 2 AWS accounts available to you.
Using the account ID 123456789012
The only role available to you is: AdministratorAccess
Using the role name &quot;AdministratorAccess&quot;
CLI default client Region &#x5B;None]: us-east-2
CLI default output format &#x5B;None]: json
CLI profile name &#x5B;AdministratorAccess-123456789012]: default

To use this profile, specify the profile name using --profile, as shown:

aws s3 ls --profile default
</pre>
<p>After your SSO session expires, you have to log back in.</p>
<pre class="brush: bash; title: ; notranslate">
aws sso login
</pre>
<p>If you are like me and always uses the <strong>default </strong>profile so I don&#8217;t have to type <em>&#8211;profile</em> parameter, then anytime you want to use a different account, just <strong>aws configure sso</strong> again, but specify the other account now. </p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.andreev.it/2024/03/entra-id-azure-ad-and-aws-sso/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Azure, AWS: Use Azure AD with AWS SSO</title>
		<link>https://blog.andreev.it/2021/06/azure-aws-use-azure-ad-with-aws-sso/</link>
					<comments>https://blog.andreev.it/2021/06/azure-aws-use-azure-ad-with-aws-sso/#respond</comments>
		
		<dc:creator><![CDATA[Kliment Andreev]]></dc:creator>
		<pubDate>Sat, 12 Jun 2021 16:14:21 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Azure AD]]></category>
		<category><![CDATA[SSO]]></category>
		<guid isPermaLink="false">https://blog.andreev.it/?p=8872</guid>

					<description><![CDATA[There is a newer version of this post but feel free to refer to&#8230;]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><p>There is a <a href="https://blog.andreev.it/2024/03/entra-id-azure-ad-and-aws-sso/" rel="noopener" target="_blank">newer</a> version of this post but feel free to refer to this one in case you have any issues.<br />
In this post, I&#8217;ll explain how to configure both Azure and AWS so when you log to AWS you&#8217;ll use your Azure AD credentials. In my lab, I have an Azure subscription and Azure AD (free tier). I also have a multi account AWS in AWS Organization structure. I want to be able to log to both Azure and AWS using the same Azure AD credentials. This way, I can use only Azure AD to control access to my cloud resources.<br />
First, we&#8217;ll configure AWS for SSO. Log to your management/root account in AWS. Type <strong>sso </strong>in the search bar and choose <strong>Azure Single Sign-On</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-01.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-01.png" alt="" width="676" height="240" class="aligncenter size-full wp-image-8873" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-01.png 676w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-01-300x107.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-01-585x208.png 585w" sizes="(max-width: 676px) 100vw, 676px" /></a><br />
Click on the button to <strong>Enable AWS SSO</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-02.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-02.png" alt="" width="867" height="358" class="aligncenter size-full wp-image-8874" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-02.png 867w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-02-300x124.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-02-768x317.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-02-585x242.png 585w" sizes="(max-width: 867px) 100vw, 867px" /></a><br />
From the <strong>Dashboard</strong>, <strong>Choose your identity source</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-03.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-03.png" alt="" width="1219" height="540" class="aligncenter size-full wp-image-8877" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-03.png 1219w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-03-300x133.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-03-1024x454.png 1024w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-03-768x340.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-03-1170x518.png 1170w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-03-585x259.png 585w" sizes="(max-width: 1219px) 100vw, 1219px" /></a><br />
You&#8217;ll be taken to the <strong>Settings </strong>pane. Click on <strong>Change </strong>under <strong>Identity source</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-04.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-04.png" alt="" width="940" height="408" class="aligncenter size-full wp-image-8878" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-04.png 940w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-04-300x130.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-04-768x333.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-04-585x254.png 585w" sizes="(max-width: 940px) 100vw, 940px" /></a><br />
Select <strong>External identity provider</strong> and click on <strong>Download metadata file</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-05.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-05.png" alt="" width="1278" height="490" class="aligncenter size-full wp-image-8879" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-05.png 1278w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-05-300x115.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-05-1024x393.png 1024w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-05-768x294.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-05-1170x449.png 1170w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-05-585x224.png 585w" sizes="(max-width: 1278px) 100vw, 1278px" /></a><br />
In Azure, go to <strong>Azure Active Directory</strong> and from the left, click on <strong>Enterprise applications</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-06.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-06.png" alt="" width="392" height="484" class="aligncenter size-full wp-image-8880" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-06.png 392w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-06-243x300.png 243w" sizes="(max-width: 392px) 100vw, 392px" /></a><br />
Click on <strong>New application</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-07.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-07.png" alt="" width="484" height="313" class="aligncenter size-full wp-image-8881" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-07.png 484w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-07-300x194.png 300w" sizes="(max-width: 484px) 100vw, 484px" /></a><br />
Search for <strong>AWS Single</strong> and choose <strong>AWS Single Sign-on</strong>. Make sure you choose this one if you have multi accounts in AWS. The setup is slightly different for the other single account access.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-08.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-08.png" alt="" width="742" height="501" class="aligncenter size-full wp-image-8882" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-08.png 742w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-08-300x203.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-08-585x395.png 585w" sizes="(max-width: 742px) 100vw, 742px" /></a><br />
Click on the <strong>Create </strong>button on the right and wait for about 30 seconds. When this screen shows up, click on <strong>Single sign-on</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-09.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-09.png" alt="" width="571" height="465" class="aligncenter size-full wp-image-8883" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-09.png 571w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-09-300x244.png 300w" sizes="(max-width: 571px) 100vw, 571px" /></a><br />
Choose <strong>SAML </strong>from the choices.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-10.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-10.png" alt="" width="1143" height="310" class="aligncenter size-full wp-image-8884" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-10.png 1143w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-10-300x81.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-10-1024x278.png 1024w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-10-768x208.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-10-585x159.png 585w" sizes="(max-width: 1143px) 100vw, 1143px" /></a><br />
When this screen shows up, choose <strong>Upload metadata file</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-11.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-11.png" alt="" width="798" height="510" class="aligncenter size-full wp-image-8885" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-11.png 798w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-11-300x192.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-11-768x491.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-11-585x374.png 585w" sizes="(max-width: 798px) 100vw, 798px" /></a><br />
Select the file that you just downloaded from the last step you did previously in AWS. You don&#8217;t have to do anything, just click <strong>Save</strong> and then close the blade on the right.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-12.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-12.png" alt="" width="780" height="564" class="aligncenter size-full wp-image-8887" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-12.png 780w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-12-300x217.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-12-768x555.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-12-585x423.png 585w" sizes="(max-width: 780px) 100vw, 780px" /></a><br />
You&#8217;ll get something like this, just click there as instructed to fix it.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-13.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-13.png" alt="" width="522" height="136" class="aligncenter size-full wp-image-8888" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-13.png 522w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-13-300x78.png 300w" sizes="(max-width: 522px) 100vw, 522px" /></a><br />
If you are asked if you want to test the SSO, just ignore the message and click on, <strong>No, I&#8217;ll test later</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-14.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-14.png" alt="" width="595" height="169" class="aligncenter size-full wp-image-8889" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-14.png 595w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-14-300x85.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-14-585x166.png 585w" sizes="(max-width: 595px) 100vw, 595px" /></a><br />
Scroll down a bit to step 4 and click on Install the extension. This is the easiest way to do this. You can go the manual way, but it&#8217;s not worth it. Don&#8217;t worry, you can always remove the extension after. It&#8217;s for a one time setup. I use Firefox and it works fine, which means it will definitely work on Chrome and Edge.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-15.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-15.png" alt="" width="804" height="197" class="aligncenter size-full wp-image-8890" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-15.png 804w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-15-300x74.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-15-768x188.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-15-585x143.png 585w" sizes="(max-width: 804px) 100vw, 804px" /></a><br />
Once you install the extension, click on it in the upper right corner.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-16.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-16.png" alt="" width="324" height="77" class="aligncenter size-full wp-image-8891" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-16.png 324w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-16-300x71.png 300w" sizes="(max-width: 324px) 100vw, 324px" /></a><br />
Click on <strong>Sign in to get started</strong> button.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-17.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-17.png" alt="" width="376" height="279" class="aligncenter size-full wp-image-8892" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-17.png 376w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-17-300x223.png 300w" sizes="(max-width: 376px) 100vw, 376px" /></a><br />
You should be automatically signed if you have the Azure session open in another tab. You&#8217;ll see something like this if everything is OK.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-18.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-18.png" alt="" width="804" height="378" class="aligncenter size-full wp-image-8893" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-18.png 804w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-18-300x141.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-18-768x361.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-18-585x275.png 585w" sizes="(max-width: 804px) 100vw, 804px" /></a><br />
Click on the button <strong>Set up AWS Single Sign-on</strong> under step 5. Azure will prompt you to save the federation XML file and just click OK for the Azure prompt.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-25.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-25.png" alt="" width="1108" height="736" class="aligncenter size-full wp-image-8908" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-25.png 1108w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-25-300x199.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-25-1024x680.png 1024w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-25-768x510.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-25-585x389.png 585w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-25-263x175.png 263w" sizes="(max-width: 1108px) 100vw, 1108px" /></a><br />
Azure will open a new AWS tab and ask you to confirm if it&#8217;s OK to make changes in AWS. Click OK.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-26.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-26.png" alt="" width="748" height="451" class="aligncenter size-full wp-image-8909" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-26.png 748w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-26-300x181.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-26-585x353.png 585w" sizes="(max-width: 748px) 100vw, 748px" /></a><br />
You&#8217;ll see some action on the screen like someone clicks in your browser. Don&#8217;t do anything. Just click Yes or OK when asked.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-27.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-27.png" alt="" width="714" height="414" class="aligncenter size-full wp-image-8910" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-27.png 714w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-27-300x174.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-27-585x339.png 585w" sizes="(max-width: 714px) 100vw, 714px" /></a><br />
The extension will ask you to upload the federation XML file from Azure that you saved earlier and then it will reconfigure AWS and you should see this at the end.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-28.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-28.png" alt="" width="1290" height="697" class="aligncenter size-full wp-image-8911" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-28.png 1290w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-28-300x162.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-28-1024x553.png 1024w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-28-768x415.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-28-1170x632.png 1170w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-28-585x316.png 585w" sizes="(max-width: 1290px) 100vw, 1290px" /></a><br />
You&#8217;ll end up at the initial screen for step 1 in Azure. Just click <strong>Save </strong>and you are OK.<br />
Now, if you don&#8217;t have any users or groups in Azure AD, go create some. In my case, I use free Azure AD so I am not gonna be able to use groups. It requires Azure AD P1 which is not free. But, I&#8217;ll show you how to assign a user in Azure AD. If you use Azure AD Connect to sync your on-prem AD with your Azure AD, you can choose that user as well. With your <strong>AWS Single Sign-on</strong> app selected, click on <strong>Users and groups</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-19.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-19.png" alt="" width="411" height="346" class="aligncenter size-full wp-image-8894" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-19.png 411w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-19-300x253.png 300w" sizes="(max-width: 411px) 100vw, 411px" /></a><br />
Click on Add user/group.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-20.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-20.png" alt="" width="405" height="232" class="aligncenter size-full wp-image-8895" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-20.png 405w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-20-300x172.png 300w" sizes="(max-width: 405px) 100vw, 405px" /></a><br />
As I mentioned earlier, I can&#8217;y choose groups because of my Azure AD free tier, so click on <strong>None Selected</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-21.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-21.png" alt="" width="722" height="320" class="aligncenter size-full wp-image-8896" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-21.png 722w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-21-300x133.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-21-585x259.png 585w" sizes="(max-width: 722px) 100vw, 722px" /></a><br />
Select the user and just click <strong>Assign </strong>at the bottom.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-22.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-22.png" alt="" width="364" height="234" class="aligncenter size-full wp-image-8897" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-22.png 364w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-22-300x193.png 300w" sizes="(max-width: 364px) 100vw, 364px" /></a><br />
I&#8217;ve assigned this guy from Azure AD (awsadmin). Just click on <strong>Provisioning </strong>on the left. We have to sync these users to AWS now.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-23.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-23.png" alt="" width="688" height="450" class="aligncenter size-full wp-image-8898" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-23.png 688w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-23-300x196.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-23-585x383.png 585w" sizes="(max-width: 688px) 100vw, 688px" /></a><br />
Click on <strong>Get started</strong> and choose <strong>Automatic</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-24.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-24.png" alt="" width="811" height="642" class="aligncenter size-full wp-image-8899" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-24.png 811w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-24-300x237.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-24-768x608.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-24-585x463.png 585w" sizes="(max-width: 811px) 100vw, 811px" /></a><br />
You&#8217;ll have to provide a <strong>Tenant URL</strong> and a <strong>Secret Token</strong>.<br />
Go back to AWS, then <strong>SSO</strong>, click on <strong>Settings</strong> and click on <strong>Enable automatic provisioning</strong> under <strong>Provisioning</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-31.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-31.png" alt="" width="922" height="609" class="aligncenter size-full wp-image-8916" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-31.png 922w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-31-300x198.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-31-768x507.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-31-780x516.png 780w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-31-585x386.png 585w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-31-263x175.png 263w" sizes="(max-width: 922px) 100vw, 922px" /></a><br />
Click on <strong>Show token</strong>. Copy both values on the clipboard, those are the <strong>Tenant URL</strong> and the <strong>token </strong>needed for Azure. Copy and paste them in Azure.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-29.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-29.png" alt="" width="1192" height="727" class="aligncenter size-full wp-image-8913" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-29.png 1192w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-29-300x183.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-29-1024x625.png 1024w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-29-768x468.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-29-1170x714.png 1170w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-29-585x357.png 585w" sizes="(max-width: 1192px) 100vw, 1192px" /></a><br />
Click <strong>Test Connection</strong> and make sure you get OK as a result. Click <strong>Save</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-30.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-30.png" alt="" width="1204" height="840" class="aligncenter size-full wp-image-8914" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-30.png 1204w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-30-300x209.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-30-1024x714.png 1024w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-30-768x536.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-30-1170x816.png 1170w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-30-585x408.png 585w" sizes="(max-width: 1204px) 100vw, 1204px" /></a><br />
You&#8217;ll be back here. Click on <strong>Edit attribute mappings</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-32.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-32.png" alt="" width="1144" height="715" class="aligncenter size-full wp-image-8917" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-32.png 1144w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-32-300x188.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-32-1024x640.png 1024w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-32-768x480.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-32-585x366.png 585w" sizes="(max-width: 1144px) 100vw, 1144px" /></a><br />
Change the <strong>Provisioning status</strong> to <strong>On </strong>and click <strong>Save</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-33.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-33.png" alt="" width="641" height="886" class="aligncenter size-full wp-image-8918" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-33.png 641w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-33-217x300.png 217w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-33-585x809.png 585w" sizes="(max-width: 641px) 100vw, 641px" /></a><br />
If you close that blade, you&#8217;ll see that one user synced successfully.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-34.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-34.png" alt="" width="733" height="540" class="aligncenter size-full wp-image-8919" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-34.png 733w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-34-300x221.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-34-585x431.png 585w" sizes="(max-width: 733px) 100vw, 733px" /></a><br />
Go to AWS and under <strong>Users </strong>you&#8217;ll see the same user. Yay!<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-35.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-35.png" alt="" width="1303" height="664" class="aligncenter size-full wp-image-8920" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-35.png 1303w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-35-300x153.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-35-1024x522.png 1024w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-35-768x391.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-35-1170x596.png 1170w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-35-585x298.png 585w" sizes="(max-width: 1303px) 100vw, 1303px" /></a><br />
OK, if you look at the User portal, you&#8217;ll see the URL for your Single Sign-on. You definitely want to customize the URL to suit your needs.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-36.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-36.png" alt="" width="1663" height="514" class="aligncenter size-full wp-image-8922" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-36.png 1663w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-36-300x93.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-36-1024x316.png 1024w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-36-768x237.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-36-1536x475.png 1536w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-36-1170x362.png 1170w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-36-585x181.png 585w" sizes="(max-width: 1663px) 100vw, 1663px" /></a><br />
Go to that URL, but use a separate browser or some private mode, so you don&#8217;t affect any open sessions. You&#8217;ll be redirected and prompted to log with your Azure AD. You might get a prompt to configure MFA, skip it for now, you can always configure it later.<br />
This is what you&#8217;ll see.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-37.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-37.png" alt="" width="1006" height="646" class="aligncenter size-full wp-image-8923" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-37.png 1006w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-37-300x193.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-37-768x493.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-37-585x376.png 585w" sizes="(max-width: 1006px) 100vw, 1006px" /></a><br />
But we assigned AWS app in Azure to this user. What&#8217;s going on?<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-38.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-38.png" alt="" width="744" height="610" class="aligncenter size-full wp-image-8924" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-38.png 744w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-38-300x246.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-38-585x480.png 585w" sizes="(max-width: 744px) 100vw, 744px" /></a><br />
Just go to <strong>AWS | SSO | AWS Accounts</strong>, select the accounts that you assign to a user and click <strong>Assign users</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-39.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-39.png" alt="" width="1327" height="886" class="aligncenter size-full wp-image-8925" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-39.png 1327w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-39-300x200.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-39-1024x684.png 1024w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-39-768x513.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-39-1170x781.png 1170w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-39-585x391.png 585w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-39-263x175.png 263w" sizes="(max-width: 1327px) 100vw, 1327px" /></a><br />
Select the user (in my case awsadmin) and click<strong> Permission sets</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-40.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-40.png" alt="" width="1608" height="979" class="aligncenter size-full wp-image-8926" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-40.png 1608w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-40-300x183.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-40-1024x623.png 1024w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-40-768x468.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-40-1536x935.png 1536w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-40-1170x712.png 1170w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-40-585x356.png 585w" sizes="(max-width: 1608px) 100vw, 1608px" /></a><br />
Click on <strong>Create new permission set</strong>. This will open a new tab.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-41.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-41.png" alt="" width="1594" height="634" class="aligncenter size-full wp-image-8927" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-41.png 1594w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-41-300x119.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-41-1024x407.png 1024w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-41-768x305.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-41-1536x611.png 1536w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-41-1170x465.png 1170w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-41-585x233.png 585w" sizes="(max-width: 1594px) 100vw, 1594px" /></a><br />
This is where you assign permission to that user or group (if you have license). Use the second option for custom policies, e.g. access to only a set of S3 buckets or assign tagging policies only. I&#8217;ll use the first option for the pre-made policies. Click on <strong>Details</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-42.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-42.png" alt="" width="1566" height="505" class="aligncenter size-full wp-image-8928" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-42.png 1566w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-42-300x97.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-42-1024x330.png 1024w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-42-768x248.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-42-1536x495.png 1536w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-42-1170x377.png 1170w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-42-585x189.png 585w" sizes="(max-width: 1566px) 100vw, 1566px" /></a><br />
I&#8217;ll use the <strong>Administrator access</strong>. Click <strong>Tags </strong>to proceed.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-43.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-43.png" alt="" width="1585" height="1090" class="aligncenter size-full wp-image-8929" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-43.png 1585w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-43-300x206.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-43-1024x704.png 1024w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-43-768x528.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-43-1536x1056.png 1536w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-43-1170x805.png 1170w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-43-585x402.png 585w" sizes="(max-width: 1585px) 100vw, 1585px" /></a><br />
Finish the rest and go back to the first AWS tab. On the right click the <strong>Refresh </strong>button.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-44.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-44.png" alt="" width="1633" height="295" class="aligncenter size-full wp-image-8930" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-44.png 1633w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-44-300x54.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-44-1024x185.png 1024w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-44-768x139.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-44-1536x277.png 1536w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-44-1170x211.png 1170w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-44-585x106.png 585w" sizes="(max-width: 1633px) 100vw, 1633px" /></a><br />
The permission set should show up. Select and click <strong>Finish</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-45.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-45.png" alt="" width="1561" height="399" class="aligncenter size-full wp-image-8931" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-45.png 1561w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-45-300x77.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-45-1024x262.png 1024w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-45-768x196.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-45-1536x393.png 1536w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-45-1170x299.png 1170w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-45-585x150.png 585w" sizes="(max-width: 1561px) 100vw, 1561px" /></a><br />
If the permission set doesn&#8217;t show up, don&#8217;t worry. Repeat the same same procedure from the AWS accounts menu to select accounts and users and you&#8217;ll see that this time the permission set will show up.<br />
Finally, go to the same URL where nothing showed up when we logged with that awsadmin user. Click Refresh in the browser and you&#8217;ll see the accounts now.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-46.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-46.png" alt="" width="1677" height="1132" class="aligncenter size-full wp-image-8934" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-46.png 1677w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-46-300x203.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-46-1024x691.png 1024w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-46-768x518.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-46-1536x1037.png 1536w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-46-1170x790.png 1170w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-46-585x395.png 585w" sizes="(max-width: 1677px) 100vw, 1677px" /></a><br />
Click to log to the Management Console and you are all set!<br />
<a href="https://blog.andreev.it/wp-content/uploads/2021/06/P155-47.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2021/06/P155-47.png" alt="" width="1189" height="226" class="aligncenter size-full wp-image-8935" srcset="https://blog.andreev.it/wp-content/uploads/2021/06/P155-47.png 1189w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-47-300x57.png 300w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-47-1024x195.png 1024w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-47-768x146.png 768w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-47-1170x222.png 1170w, https://blog.andreev.it/wp-content/uploads/2021/06/P155-47-585x111.png 585w" sizes="(max-width: 1189px) 100vw, 1189px" /></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.andreev.it/2021/06/azure-aws-use-azure-ad-with-aws-sso/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AWS, OKTA: Single sign-on in AWS Console using OKTA and on-prem Active Directory (AD)</title>
		<link>https://blog.andreev.it/2020/02/aws-okta-single-sign-on-in-aws-console-using-okta-and-on-prem-active-directory-ad/</link>
					<comments>https://blog.andreev.it/2020/02/aws-okta-single-sign-on-in-aws-console-using-okta-and-on-prem-active-directory-ad/#respond</comments>
		
		<dc:creator><![CDATA[Kliment Andreev]]></dc:creator>
		<pubDate>Sun, 16 Feb 2020 20:33:31 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[OKTA]]></category>
		<category><![CDATA[SSO]]></category>
		<guid isPermaLink="false">https://blog.andreev.it/?p=6483</guid>

					<description><![CDATA[AWS Console has its own authentication/authorization directory using IAM users, roles and policies. On&#8230;]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><p>AWS Console has its own authentication/authorization directory using IAM users, roles and policies. On top of that, they also offer multi-factor authentication, so your logins are much more secure. But, I wanted to see how I can use Okta for SSO between my AD domain at home and AWS. The setup is very simple as you can see from this diagram.<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-01.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-01.png" alt="" width="1778" height="1174" class="aligncenter size-full wp-image-6486" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-01.png 1778w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-01-300x198.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-01-1024x676.png 1024w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-01-768x507.png 768w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-01-1536x1014.png 1536w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-01-1170x773.png 1170w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-01-780x516.png 780w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-01-585x386.png 585w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-01-263x175.png 263w" sizes="(max-width: 1778px) 100vw, 1778px" /></a><br />
On the left side, AWS is missing &#8211; but you get the point. In my case, I&#8217;ll have two AD groups, <strong>AWS Full Admin</strong> and <strong>AWS Read Only</strong>. I also have two AD users, <strong>admin.user</strong> and <strong>ro.user</strong>. If you haven&#8217;t integrated your AD with Okta it&#8217;s time to do so. </p>
<h1>Okta</h1>
<p>Go to the Okta dashboard and from the menu go to <strong>Directory | Directory Integrations</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-02.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-02.png" alt="" width="742" height="500" class="aligncenter size-full wp-image-6490" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-02.png 742w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-02-300x202.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-02-585x394.png 585w" sizes="(max-width: 742px) 100vw, 742px" /></a><br />
Click on <strong>Add Active Directory</strong> and proceed so you can download an agent that you have to install on a member server with at least 8GB RAM. You can also install it on a domain controller, which I did in my lab, but I guess it&#8217;s not recommended. You&#8217;ll see this page telling you that Okta is waiting for your AD to connect.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-03.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-03.png" alt="" width="955" height="501" class="aligncenter size-full wp-image-6491" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-03.png 955w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-03-300x157.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-03-768x403.png 768w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-03-585x307.png 585w" sizes="(max-width: 955px) 100vw, 955px" /></a><br />
Go ahead and install the agent. You&#8217;ll be prompted to specify the domain name (<strong>andreev.local</strong> in my case), create a service account <strong>OktaService </strong>or choose an existing one, choose a proxy to connect to Okta servers over HTTPS (if needed) and finally you have to specify your Okta domain, e.g. the prefix for your Okta landing page, https://company.Okta.com. You have to type -company-.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-04.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-04.png" alt="" width="481" height="339" class="aligncenter size-full wp-image-6492" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-04.png 481w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-04-300x211.png 300w" sizes="(max-width: 481px) 100vw, 481px" /></a><br />
Once the service starts and authenticates with your Okta admin account to the Okta servers, your dashboard page will change asking you to specify what OUs in your AD you want to sync. Choose the OUs and choose your Okta username format.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-05.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-05.png" alt="" width="915" height="856" class="aligncenter size-full wp-image-6493" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-05.png 915w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-05-300x281.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-05-768x718.png 768w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-05-585x547.png 585w" sizes="(max-width: 915px) 100vw, 915px" /></a><br />
In my case I&#8217;ll use UPN which is <strong>username@andreev.local</strong>, but you can choose e-mail if your have a valid e-mail specified for the users, e.g. <strong>username@google.com</strong> or the SAM account which is your login that you use for AD, e.g. <strong>username</strong>. See below.<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-06.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-06.png" alt="" width="395" height="327" class="aligncenter size-full wp-image-6497" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-06.png 395w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-06-300x248.png 300w" sizes="(max-width: 395px) 100vw, 395px" /></a><br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-07.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-07.png" alt="" width="393" height="172" class="aligncenter size-full wp-image-6498" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-07.png 393w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-07-300x131.png 300w" sizes="(max-width: 393px) 100vw, 393px" /></a><br />
Click <strong>Next </strong>and unless you have some non-standard AD attributes that you want to map, it&#8217;s safe to proceed with the defaults. Under the settings for the AD in Okta, you can choose the scheduled interval for the AD sync. By default, this sync is disabled. To test the integration, go to the settings page of your AD in Okta, choose <strong>Test Delegated Authentication</strong> (bottom right) and enter the username and password for an AD account that you know it&#8217;s synced with Okta.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-08.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-08.png" alt="" width="1077" height="687" class="aligncenter size-full wp-image-6500" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-08.png 1077w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-08-300x191.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-08-1024x653.png 1024w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-08-768x490.png 768w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-08-585x373.png 585w" sizes="(max-width: 1077px) 100vw, 1077px" /></a><br />
You can also test the integration if you go to https://-company-.okta.com and log in with a synced AD user. </p>
<h2>Okta app for AWS</h2>
<p>Before we move to AWS part, click on <strong>Applications </strong>from the menu and click on <strong>Add Application</strong> menu. Type <strong>Amazon Web Services</strong> and select the app. Do not use AWS Console app, that&#8217;s a different one.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-09.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-09.png" alt="" width="764" height="353" class="aligncenter size-full wp-image-6503" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-09.png 764w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-09-300x139.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-09-585x270.png 585w" sizes="(max-width: 764px) 100vw, 764px" /></a><br />
Click <strong>Add </strong>and you can leave the settings under <strong>General Settings</strong> or change it to AWS Console. Click <strong>Next </strong>and on the next screen, use <strong>SAML 2.0</strong><br />
Click on the <strong>Identity Provider Metadata</strong> link and download the file. You&#8217;ll need this for later.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-10.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-10.png" alt="" width="680" height="313" class="aligncenter size-full wp-image-6505" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-10.png 680w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-10-300x138.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-10-585x269.png 585w" sizes="(max-width: 680px) 100vw, 680px" /></a><br />
Click <strong>Done </strong>and once this part is completed, we can go to AWS Console and configure AWS IAM and then come back to Okta. </p>
<h1>AWS Console</h1>
<p>Log to the AWS Console with an account with sufficient rights to create IAM polices, roles and users. Go to <strong>IAM </strong>and then <strong>Identity Providers</strong> on the left side. Click <strong>Create Provider</strong> and choose <strong>SAML </strong>for <strong>Provider Type</strong>, type a description (e.g. <strong>OKTA</strong>) and choose the <strong>metadata </strong>file that you&#8217;ve just downloaded.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-11.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-11.png" alt="" width="563" height="255" class="aligncenter size-full wp-image-6506" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-11.png 563w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-11-300x136.png 300w" sizes="(max-width: 563px) 100vw, 563px" /></a><br />
Click on<strong> Next Step</strong> and then <strong>Create</strong>. Click on the entry that you just created and make a note of the ARN. You&#8217;ll need this later.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-12.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-12.png" alt="" width="657" height="239" class="aligncenter size-full wp-image-6507" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-12.png 657w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-12-300x109.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-12-585x213.png 585w" sizes="(max-width: 657px) 100vw, 657px" /></a></p>
<h2>IAM</h2>
<p>We&#8217;ll create two new roles based on existing AWS policies for full admin access and read only access. Go to <strong>IAM </strong>| <strong>Roles</strong> and click on <strong>Create Role</strong>. Click on <strong>SAML 2.0 federation</strong>, choose the <strong>SAML </strong>provider that we just created, select <strong>Allow programmatic and AWS Management Console</strong> access and click on <strong>Next: Permissions</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-13.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-13.png" alt="" width="1007" height="819" class="aligncenter size-full wp-image-6509" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-13.png 1007w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-13-300x244.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-13-768x625.png 768w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-13-585x476.png 585w" sizes="(max-width: 1007px) 100vw, 1007px" /></a><br />
You can create your own policy if you want by clicking on <strong>Create policy</strong> or choose an existing one like I did by filtering the <strong>Read Only</strong> policies. Click on <strong>Next: Tags</strong> after.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-14.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-14.png" alt="" width="1027" height="809" class="aligncenter size-full wp-image-6510" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-14.png 1027w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-14-300x236.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-14-1024x807.png 1024w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-14-768x605.png 768w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-14-585x461.png 585w" sizes="(max-width: 1027px) 100vw, 1027px" /></a><br />
You can tag your role and click <strong>Next: Review</strong> after&#8230;and finally you can create the role.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-16.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-16.png" alt="" width="1033" height="792" class="aligncenter size-full wp-image-6511" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-16.png 1033w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-16-300x230.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-16-1024x785.png 1024w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-16-768x589.png 768w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-16-585x449.png 585w" sizes="(max-width: 1033px) 100vw, 1033px" /></a><br />
Do the same again <strong>IAM | Roles | SAML</strong>, but this time create a full admin role named <strong>rolFullAdminAccess </strong>(filter the policies by <strong>Administrator</strong>).<br />
Let&#8217;s connect AWS and Okta now, but creating a user that will be able to list the roles. Go to <strong>IAM | User</strong> and click on <strong>Add user</strong>. Name your user and allow <strong>Programmatic access</strong> only.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-17.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-17.png" alt="" width="889" height="490" class="aligncenter size-full wp-image-6513" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-17.png 889w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-17-300x165.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-17-768x423.png 768w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-17-585x322.png 585w" sizes="(max-width: 889px) 100vw, 889px" /></a><br />
Click on <strong>Create policy</strong>. This will open a new window. Do not close the previous one.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-18.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-18.png" alt="" width="769" height="249" class="aligncenter size-full wp-image-6514" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-18.png 769w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-18-300x97.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-18-585x189.png 585w" sizes="(max-width: 769px) 100vw, 769px" /></a><br />
Click on the <strong>JSON </strong>tab and paste this policy. Then click <strong>Review policy</strong>.</p>
<pre class="brush: xml; title: ; notranslate">
{
    &quot;Version&quot;: &quot;2012-10-17&quot;,
    &quot;Statement&quot;: &#x5B;
        {
          &quot;Effect&quot;: &quot;Allow&quot;,
          &quot;Action&quot;: &#x5B;
              &quot;iam:ListRoles&quot;,
              &quot;iam:ListAccountAliases&quot;
          ],
          &quot;Resource&quot;: &quot;*&quot;
        }
    ]
}
</pre>
<p>Name your policy and click on <strong>Create policy</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-19.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-19.png" alt="" width="1214" height="592" class="aligncenter size-full wp-image-6517" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-19.png 1214w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-19-300x146.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-19-1024x499.png 1024w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-19-768x375.png 768w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-19-1170x571.png 1170w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-19-585x285.png 585w" sizes="(max-width: 1214px) 100vw, 1214px" /></a><br />
Go back to the previous tab and click on the refresh button, right off the <strong>Create policy</strong> button. Then filter the policy and assign it. Click <strong>Next: Tags</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-20.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-20.png" alt="" width="1004" height="241" class="aligncenter size-full wp-image-6518" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-20.png 1004w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-20-300x72.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-20-768x184.png 768w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-20-585x140.png 585w" sizes="(max-width: 1004px) 100vw, 1004px" /></a><br />
Proceed to create the user, but make sure you download the CSV file with the credentials for this user.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-21.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-21.png" alt="" width="1003" height="191" class="aligncenter size-full wp-image-6520" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-21.png 1003w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-21-300x57.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-21-768x146.png 768w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-21-585x111.png 585w" sizes="(max-width: 1003px) 100vw, 1003px" /></a></p>
<h1>Okta &#8211; app config</h1>
<p>Go back to Okta and click on the<strong> Sign On</strong> tab and then <strong>Edit</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-22.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-22.png" alt="" width="748" height="283" class="aligncenter size-full wp-image-6522" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-22.png 748w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-22-300x114.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-22-585x221.png 585w" sizes="(max-width: 748px) 100vw, 748px" /></a><br />
Scroll down a little bit and paste your ARN value (the one that you got from AWS earlier) under <strong>Identity Provider ARN (Required only for SAML SSO</strong>. It&#8217;s under <strong>IAM | Providers | -your-provider</strong> in AWS. Click <strong>Save</strong> after.<br />
Click on the <strong>Provisioning </strong>tab next to <strong>Sign On</strong> and click on <strong>Configure API Integration</strong>. Click the checkmark, then copy and paste the access key and the secret from the CSV file from AWS. Click Test API Credentials and if everything is OK, click on Save.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-24.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-24.png" alt="" width="803" height="411" class="aligncenter size-full wp-image-6524" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-24.png 803w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-24-300x154.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-24-768x393.png 768w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-24-585x299.png 585w" sizes="(max-width: 803px) 100vw, 803px" /></a><br />
Under <strong>Provisioning </strong>make sure that <strong>Create Users</strong> and <strong>Update User Attributes</strong> are enabled.<br />
Finally, go to the <strong>Assignments </strong>tab and select <strong>Groups</strong>. Then, click the green button <strong>Assign </strong>and choose <strong>Assign to Groups</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-26.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-26.png" alt="" width="598" height="399" class="aligncenter size-full wp-image-6527" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-26.png 598w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-26-300x200.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-26-585x390.png 585w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-26-263x175.png 263w" sizes="(max-width: 598px) 100vw, 598px" /></a><br />
You will see your groups here, select the first one and click the <strong>Assign </strong>button.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-27.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-27.png" alt="" width="630" height="608" class="aligncenter size-full wp-image-6528" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-27.png 630w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-27-300x290.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-27-585x565.png 585w" sizes="(max-width: 630px) 100vw, 630px" /></a><br />
You will see your roles there. Select the admin role and Save.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-28.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-28.png" alt="" width="616" height="581" class="aligncenter size-full wp-image-6529" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-28.png 616w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-28-300x283.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-28-585x552.png 585w" sizes="(max-width: 616px) 100vw, 616px" /></a><br />
Do the same for the other group and role and pretty much you are all set. Open a new browser and this time log as one of the users, in my case I am logging as admin.user to https://mycompany.okta.com.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-29.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-29.png" alt="" width="697" height="686" class="aligncenter size-full wp-image-6531" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-29.png 697w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-29-300x295.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-29-585x576.png 585w" sizes="(max-width: 697px) 100vw, 697px" /></a><br />
You&#8217;ll get a note that you have a new app assigned.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-30.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-30.png" alt="" width="764" height="365" class="aligncenter size-full wp-image-6532" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-30.png 764w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-30-300x143.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-30-585x279.png 585w" sizes="(max-width: 764px) 100vw, 764px" /></a><br />
If you click on the app icon, you&#8217;ll get logged in to the AWS console without any passwords.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-31.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-31.png" alt="" width="933" height="473" class="aligncenter size-full wp-image-6533" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-31.png 933w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-31-300x152.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-31-768x389.png 768w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-31-585x297.png 585w" sizes="(max-width: 933px) 100vw, 933px" /></a></p>
<h1>Multi-factor authentication</h1>
<p>While the above setup looks good, you still need MFA to make things even more secure. Go to the app settings in Okta and click on the Sign On tab then click Edit.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-32.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-32.png" alt="" width="736" height="256" class="aligncenter size-full wp-image-6535" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-32.png 736w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-32-300x104.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-32-585x203.png 585w" sizes="(max-width: 736px) 100vw, 736px" /></a><br />
Scroll all the way down and click on Add Rule.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-33.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-33.png" alt="" width="741" height="360" class="aligncenter size-full wp-image-6536" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-33.png 741w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-33-300x146.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-33-585x284.png 585w" sizes="(max-width: 741px) 100vw, 741px" /></a><br />
Name the rule however you want and scroll all the way down.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-34.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-34.png" alt="" width="806" height="206" class="aligncenter size-full wp-image-6537" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-34.png 806w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-34-300x77.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-34-768x196.png 768w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-34-585x150.png 585w" sizes="(max-width: 806px) 100vw, 806px" /></a><br />
Click on Prompt for fact and choose whatever you want from the settings.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-35.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-35.png" alt="" width="784" height="536" class="aligncenter size-full wp-image-6538" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-35.png 784w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-35-300x205.png 300w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-35-768x525.png 768w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-35-585x400.png 585w" sizes="(max-width: 784px) 100vw, 784px" /></a><br />
Once configured, when you log in to your Okta dashboard, you&#8217;ll get in without prompted for MFA, but when you click on the AWS Console app, you&#8217;ll get redirected to AWS to configure your MFA. You can use the Okta mobile app for MFA or Authy which I prefer. This is because we configured the MFA to occur on the AWS level, not on Okta level.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2020/02/P145-36.png"><img loading="lazy" decoding="async" src="https://blog.andreev.it/wp-content/uploads/2020/02/P145-36.png" alt="" width="511" height="628" class="aligncenter size-full wp-image-6540" srcset="https://blog.andreev.it/wp-content/uploads/2020/02/P145-36.png 511w, https://blog.andreev.it/wp-content/uploads/2020/02/P145-36-244x300.png 244w" sizes="(max-width: 511px) 100vw, 511px" /></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.andreev.it/2020/02/aws-okta-single-sign-on-in-aws-console-using-okta-and-on-prem-active-directory-ad/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
