home
navigate_next
Blog
navigate_next

AWS Workforce Identity Management - SSO & 2FA

AWS Workforce Identity Management - SSO & 2FA
Madhumita Yadav
AWS Workforce Identity Management - SSO & 2FA

Securing access to your IT resources is paramount. As the number of web-based applications that your employees use increases, so does the difficulty for them to remember their login credentials. Many companies have turned to single sign-on with a variety of identity providers to streamline access to resources and simplify their employees’ routines.

Single Sign-On (SSO) is an authentication method that allows users to log in to multiple applications and websites using only one set of credentials. Conceptually, this sounds simple, but as you might expect, it is difficult and expensive to implement correctly.

Developing a secure user identity and access management system without exposing your application to vulnerabilities requires a lot of effort and development time. At their most basic, authentication solutions must store at least a user name and a password hash. But it is rarely that simple.

For email verification, you will require an email address, and two-factor authentication requires a mobile number. Even if you have developed a secure authentication system, you are holding personally identifiable information (PII), so the system might have to be compliant with GDPR or similar local laws. A robust SSO solution might also require integrations with third-party applications like Active Directory, JIRA, Office 365, or Salesforce through the use of SAML 2.0.

Third-party Authentication Providers

Just as cloud infrastructure platforms (AWS, Azure, GCP) allow businesses to focus on building apps, third-party authentication providers serve as reliable outside solutions for SSO. A good provider will handle all the compliance requirements, integrations, and security concerns that make building SSO in-house so risky.

AWS SSO and Okta SSO are two well-known third-party single sign-on providers that both have a strong reputation in the industry. Both are secure, scalable authentication systems, and each company has the expertise and resources to keep your data safe.

Comparing Okta SSO and AWS SSO

In this article, we willcompare Okta SSO and AWS SSO. We will look at each service and compare theiravailable integrations, internal dashboards, security features, and developerexperience. Ultimately, both products are great options, but the subtledifferences might matter depending on your use case.

At their core, both OktaSSO and AWS SSO provide the ability to authenticate users into multipleservices with a single login system. This minimizes the risk associated withshared accounts and users neglecting to use strong passwords for someplatforms. Both platforms also give your IT department an audit log of whichusers accessed which services when.

Since many of the corefeatures are the same, we will look at what makes each service unique.

Integrations

Okta has built more than 7,000 pre-built integrations, connecting to over 1,400 SAML and OpenID Connect services. This means that almost any enterprise business tool you use is likely to be supported by Okta, and you can add your own custom integrations when necessary

AWS SSO, on the other hand, is primarily focused on authenticating users of AWS-based applications and services. While they support integrations with over 300 common business software tools, you get the most out of AWS SSO when interacting with applications built on Amazon Web Services.

Using AWS SSO, you can grant your users and groups permissions to AWS resources in all your accounts using their email addresses and name. The process is fast and secure as it limits access to the resources each user should have. Then, users can find and access all of their assigned SAML accounts in one place by signing into their user portal with existing corporate credentials.

Dashboards, Logging, and Insights

Both AWS SSO and Okta SSO provide tools for managing and monitoring usage. Okta Insights provides a single portal to view, manage, and secure all user access. It includes pre-built reporting to help you get a deeper understanding of how your end users are using your apps and where you might have security risks. It can even automatically identify and block malicious login attempts.

The AWS SSO dashboard is a little more utilitarian, but it does give you the ability to manage your users and their access rights. AWS SSO also pipes all account activity into CloudTrail where you can track, search, or audit access logs to mitigate unauthorized access attempts or see which services might have been accessed in the case of a breach.

Compliance and Security

Both Okta and AWS have expertise with enterprise customers in a variety of industries, so we can safely assume they handle most, if not all, the security and compliance requirements you have. Both enforce HTTPS across the board, support HIPAA, PCI, and other common compliance programs, and encrypt data at rest and in transit.

One of the biggest risks when using third-party single sign-on is a faulty implementation. Okta mitigates some of this risk by implementing application-level encryption which protects sensitive data even in the event of a partial compromise. Attackers cannot decrypt users’ data if they only get one or two of the three necessary pieces of data:

  • Master Key
  • Keystore
  • The user’s app context

AWS SSO also has advantages from a security perspective. As the product runs on Amazon’s infrastructure, and because it is optimized for their services, AWS SSO makes integrating with Amazon-hosted applications easier and less error-prone.

Identity Management

It is commonly believed that single sign-on and identity management are inexorably linked, but in modern enterprise architectures this is not necessarily the case. You can use Active Directory for your identity management and AWS SSO or Okta SSO for your sign-on service.

Of course, you do not have to use an external identity management tool. Again, Okta and AWS SSO are similar in that both have a bundled identity store that many will use by default. You can even mix-and-match AWS SSO and Okta by using AWS SSO for authentication and Okta’s identity provider for user management. This allows your users in Okta an easier way to get access to Amazon services. Developer Experience

Last but certainly not least is developer experience. Because your development teams will likely integrate their applications into your SSO provider, you want one that has great documentation, ease of use, and SDKs available for your languages and frameworks.

Okta has robust administrator documentation, developer documentation, and a frequently updated developer blog. AWS also has documentation for users, developers, and administrators, but because AWS provides so many services, it takes a while to get comfortable with the format. If you are already experienced and comfortable with AWS, you will appreciate the consistent formatting. However, if your cloud of choice is another provider, Okta’s docs may be easier to dive into for the first time.

Both tools have CLI integrations, but for different use cases. Okta’s CLI is a standalone command-line tool that allows developers to create, configure, and modify an entire SSO application on Okta. AWS SSO must be configured through the web interface or API, but then it can be set up as an access point for the AWS CLI. This allows developers who are interacting with AWS resources over the command line to use their SSO credentials instead of API keys.

Finally, both tools have SDKs available for developers in a wide range of languages. Amazon’s SDKs are bundled together and listed in the Tools to Build on AWS page. Here you will find links to libraries in JavaScript, Python, PHP, .NET, Ruby, Java, Go, Node.js, and C++ as well as several web and mobile frameworks. Of course, each SDK also has its own documentation site which is generally kept up-to-date with the latest changes to the AWS SSO API docs.

Okta also provides SDKs for many major languages and a few frameworks but has slightly fewer options overall. C++, Ruby, Ionic, and Flutter are notably absent from the options list, but Okta offers a REST API that can be accessed from virtually any web-connected application.

The difference in developer experience between Okta SSO and AWS SSO is largely preferential. If you are already comfortable in the AWS ecosystem, you will have no problem picking up the documentation and may already use the requisite SDKs. Okta may have fewer officially supported SDKs today, but their documentation might be slightly easier for non-AWS administrators to catch onto.

Conclusion

As you have seen in this comparison, there are good reasons for using both Okta SSO and AWS SSO.

While Okta may have more integrations and slightly cleaner documentation, AWS SSO is optimized for applications using Amazon’s hosting services. As the biggest web host in the world, that makes AWS SSO a pretty compelling option.

Fortunately, it is not necessarily an “either-or” choice. Since Okta can be used as the identity provider for AWS SSO, you can use Okta for managing single sign-on with external services and use AWS SSO for internal applications and AWS services.

arrow_back
Back to blog