Skip to content
This repository was archived by the owner on Jun 14, 2023. It is now read-only.

Commit e765e66

Browse files
author
Dmitry Balabanov
authoredAug 11, 2022
doc: Rename SSO to IAM Identity Center (#203)
1 parent c0a6ded commit e765e66

File tree

8 files changed

+80
-78
lines changed

8 files changed

+80
-78
lines changed
 

‎README.md

+29-27
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,32 @@
11
# AWS Bootstrap Kit Examples Overview
22

33
- [AWS Bootstrap Kit Examples Overview](#aws-bootstrap-kit-examples-overview)
4-
* [Who is this for?](#who-is-this-for)
5-
* [What you will get with it?](#what-you-will-get-with-it)
6-
+ [As an Operator](#as-an-operator)
7-
+ [As a developer](#as-a-developer)
8-
+ [As a developer oncall](#as-a-developer-oncall)
9-
* [What you will get with it? (the AWS infrastructure)](#what-you-will-get-with-it-the-aws-infrastructure)
10-
* [Getting started](#getting-started)
11-
* [Tenets](#tenets)
12-
* [What you will find in this repository](#what-you-will-find-in-this-repository)
13-
* [What you won't find in this repository](#what-you-wont-find-in-this-repository)
14-
* [Do I need to be familiar with the AWS Services used under the hood?](#do-i-need-to-be-familiar-with-the-aws-services-used-under-the-hood)
15-
* [Concept](#concept)
16-
+ [Infrastructure as Code](#infrastructure-as-code)
17-
+ [CI/CD](#cicd)
18-
+ [Multi accounts strategy](#multi-accounts-strategy)
19-
+ [DNS hierarchy](#dns-hierarchy)
20-
* [Security](#security)
21-
+ [Control deployment](#control-deployment)
22-
+ [Control access to AWS](#control-access-to-aws)
23-
+ [Minimal security best practices](#minimal-security-best-practices)
24-
* [Costs](#costs)
25-
* [Cleaning up accounts](#cleaning-up-accounts)
26-
* [Known limitations](#known-limitations)
27-
+ [SDLC Organization](#sdlc-organization)
4+
- [Who is this for?](#who-is-this-for)
5+
- [What you will get with it?](#what-you-will-get-with-it)
6+
- [As an Operator](#as-an-operator)
7+
- [As a developer](#as-a-developer)
8+
- [As a developer oncall](#as-a-developer-oncall)
9+
- [What you will get with it? (the AWS infrastructure)](#what-you-will-get-with-it-the-aws-infrastructure)
10+
- [Getting started](#getting-started)
11+
- [Tenets](#tenets)
12+
- [What you will find in this repository](#what-you-will-find-in-this-repository)
13+
- [What you won't find in this repository](#what-you-wont-find-in-this-repository)
14+
- [Do I need to be familiar with the AWS Services used under the hood?](#do-i-need-to-be-familiar-with-the-aws-services-used-under-the-hood)
15+
- [Concept](#concept)
16+
- [Infrastructure as Code](#infrastructure-as-code)
17+
- [CI/CD](#cicd)
18+
- [Multi accounts strategy](#multi-accounts-strategy)
19+
- [DNS Hierarchy](#dns-hierarchy)
20+
- [Security](#security)
21+
- [Control deployment](#control-deployment)
22+
- [Control access to AWS](#control-access-to-aws)
23+
- [Minimal security best practices](#minimal-security-best-practices)
24+
- [Costs](#costs)
25+
- [Cleaning up accounts](#cleaning-up-accounts)
26+
- [Known limitations](#known-limitations)
27+
- [SDLC Organization](#sdlc-organization)
28+
- [Getting Help](#getting-help)
29+
- [Next](#next)
2830

2931
This repository contains examples of using the AWS Bootstrap Kit to set your development and deployment environment on AWS. The AWS Bootstrap Kit is a strongly opinionated CDK set of constructs built for companies looking to follow AWS best practices on Day 1.
3032

@@ -79,8 +81,8 @@ DNS hierarchy:
7981
Basically the same as above but:
8082
* Environments = [AWS Accounts](https://aws.amazon.com/organizations/faqs/#Organizing_AWS_accounts) (not a *user* account but actually a isolated environment tied to an email (& password) and unique id)
8183
* Set of Environments = Set of AWS Accounts under a main one = [AWS Organizations](https://aws.amazon.com/organizations/faqs/)
82-
* Users and Permissions management solution = [AWS SSO](https://aws.amazon.com/single-sign-on/faqs)
83-
* Login Web Portal = AWS SSO endpoint
84+
* Users and Permissions management solution = [AWS IAM Identity Center](https://aws.amazon.com/single-sign-on/faqs)
85+
* Login Web Portal = AWS access portal URL
8486
* Central Activity logs = Centralized [AWS Cloudtrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)
8587
* Central Bills = [AWS Consolidated Billing](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/consolidated-billing.html)
8688
* CI/CD Pipeline = [AWS CodePipeline](https://aws.amazon.com/codepipeline)
@@ -174,7 +176,7 @@ You will see that manual approvals are added by default in CI/CD pipelines givin
174176

175177
### Control access to AWS
176178

177-
Going with AWS SSO will enforce temporary credentials usage while simplifying developers environment setup.
179+
Going with AWS IAM Identity Center will enforce temporary credentials usage while simplifying developers environment setup.
178180

179181
### Minimal security best practices
180182

‎doc/control-tower.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# Path to AWS Control Tower
22

3-
[AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html) provides an easy way to setup a Landing Zone in AWS: it will create a multi-account structure with proper set of permissions (using [AWS SSO](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)) and guardrails (using [Service Control Policies](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) (SCPs) and [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html)).
3+
[AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html) provides an easy way to setup a Landing Zone in AWS: it will create a multi-account structure with proper set of permissions (using [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)) and guardrails (using [Service Control Policies](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) (SCPs) and [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html)).
44

55
Control Tower focuses on providing a secured multi-accounts environment. It creates multiples AWS resources for you:
66
- One Organization
77
- One or two Organizational Units (OUs): Security (mandatory) and Sandbox (optional)
88
- Two AWS Accounts in the Security OU: Log Archive and Audit
9-
- A directory in AWS SSO
9+
- A directory in AWS IAM Identity Center
1010
- A set of guardrails: proactive with SCPs and reactive with AWS Config.
1111
- ...
1212
You can get more details on Control Tower [here](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html).
@@ -176,4 +176,4 @@ Control Tower is now set up and governs the Bootstrap Kit resources (Org, OUs, a
176176

177177
Note that the Administrator user now has the following permissions: [AWSOrganizationsFullAccess](https://github.com/SummitRoute/aws_managed_policies/blob/master/policies/AWSOrganizationsFullAccess) on the bootstrap kit accounts (instead of AWSAdministratorAccess). See [docs](https://docs.aws.amazon.com/controltower/latest/userguide/sso.html):
178178

179-
![Administrator permissions in SSO portal](migration-ct-admin-permissions.png)
179+
![Administrator permissions in AWS access portal](migration-ct-admin-permissions.png)

‎source/1-SDLC-organization/README.md

+19-19
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Step # | Feature | Description
1515
2 | [Configure your local credentials](#configure-your-local-credentials) | `aws configure --profile main-admin`
1616
3 | [Fork and init the repo](#clone-and-init-the-repo) | Get the code
1717
4 | [Deploy the pipeline](#install-dependencies-and-deploy-the-pipeline) | Deploy your organization through a CI/CD pipeline
18-
5 | [Setup your SSO domain](#setup-your-sso-domain) | Prepare you user permissions and groups
18+
5 | [Setup your IAM Identity Center domain](#setup-your-sso-domain) | Prepare you user permissions and groups
1919
6 | [Setup your dev environment](#setup-your-dev-environment) | Prepare your local environment to be ready to develop
2020
7 | [Start coding](#next-step) | Jump to next section about developing and deploying your first web site
2121

@@ -283,15 +283,15 @@ If you added `domain_name` in your config file (`cdk.json`) earlier, a last step
283283
**Your Done! Now you can manage your domain through AWS Route53**
284284
</details>
285285

286-
### Enable SSO
286+
### Enable IAM Identity Center
287287

288-
In order to facilitate the management of permissions on the access to this different accounts we suggest to setup an SSO portal following the steps described bellow. That's going to give you the capability to centrally manage and access your different AWS account with a single identity (login and password) or even delegate this to a third party provider such as Google Workspace (GSuite).
288+
In order to facilitate the management of permissions on the access to this different accounts we suggest to setup an AWs access portal following the steps described bellow. That's going to give you the capability to centrally manage and access your different AWS account with a single identity (login and password) or even delegate this to a third party provider such as Google Workspace (GSuite).
289289

290290
Staying with IAM users and groups would means not getting a central portal with a single identity and would force you to remember the different account ID and role to login into:
291291

292292

293293

294-
![A diagram showing IAM sign in page versus SSO one](../../doc/sign-in-iam-vs-sso.png)
294+
![A diagram showing IAM sign in page versus AWS access portal one](../../doc/sign-in-iam-vs-sso.png)
295295

296296

297297
*Whatch this quick presentation video to learn more:*
@@ -300,15 +300,15 @@ Staying with IAM users and groups would means not getting a central portal with
300300
<img src="https://img.youtube.com/vi/_qNkFxp1Z_k/hqdefault.jpg" alt="AWS Single Sign On video"/>
301301
</a>
302302

303-
### Setup your SSO domain
303+
### Setup your IAM Identity Center domain
304304

305305
<details>
306306
<summary>Click to go through this step</summary>
307307

308308
Sorry we can't automate those step yet :cry:
309309

310310

311-
1. Go to the <a href="https://console.aws.amazon.com/singlesignon/home" target="_blank">AWS SSO Home page</a> and Click *Enable AWS SSO*
311+
1. Go to the <a href="https://console.aws.amazon.com/singlesignon/home" target="_blank">AWS IAM Identity Center Home page</a> and Click *Enable*
312312

313313
#### Create permission sets
314314

@@ -504,7 +504,7 @@ Now we are going to assign the **Administrators** group to all the accounts with
504504
505505
**Now let's create your Administrator user !**
506506
507-
#### Create your administrator SSO user
507+
#### Create your administrator user
508508
509509
510510
@@ -526,27 +526,27 @@ Now we are going to create an Administrator user, we basically will follow the s
526526
527527
1. Well done your account has been successfully activated! Click *Continue*
528528
529-
1. You have now access to your SSO app list. Click on *AWS Account* card to expand the list of accounts
529+
1. You have now access to your app list. Click on *AWS Account* card to expand the list of accounts
530530
531531
1. Click on your main account to expand the list of your access to this account
532532
533533
1. Click on *Management console* to access to the console of your main account
534534
535-
1. Your are now connected with your new SSO Administrator user
535+
1. Your are now connected with your new Administrator user
536536
537-
**Let's assign the Developers group to Dev, Staging and Prod accounts with this new SSO Administrator user**
537+
**Let's assign the Developers group to Dev, Staging and Prod accounts with this new Administrator user**
538538
539-
#### Customize your SSO endpoint
539+
#### Customize your AWS access portal URL
540540
541-
From now on, you or any of your developers won't have to login anymore directly to AWS console but directly through AWS SSO portal. In the previous step you might have noticed that your SSO console is accessible through a unique URL such as `https://d-123456789a.awsapps.com/start ` which is not that easy to remember, let's customize it to match your company domain:
541+
From now on, you or any of your developers won't have to login anymore directly to AWS console but directly through AWS access portal. In the previous step you might have noticed that your AWS user portal is accessible through a unique URL such as `https://d-123456789a.awsapps.com/start ` which is not that easy to remember, let's customize it to match your company domain:
542542
543-
1. Search for *SSO* on the console home page and go to the service
543+
1. Search for *Identity Center* on the console home page and go to the service
544544
545545
1. At the bottom of the page, click the *Customize* link located in *User portal* section
546546
547547
1. Type your domain name and click *Save*
548548
549-
**Tada !! You can now login to AWS Console through your SSO portal using your customized url !**
549+
**Tada !! You can now login to AWS Console through your AWS access portal using your customized url !**
550550
551551
</details>
552552
@@ -555,7 +555,7 @@ From now on, you or any of your developers won't have to login anymore directly
555555
<details>
556556
<summary>Click to go through this step</summary>
557557
558-
#### Create a developer SSO user
558+
#### Create a developer user
559559
560560
(This section is optional but will be one to use each time you want to onboard a new dev in your team)
561561
@@ -577,7 +577,7 @@ Now we are going to create a Developer user with enough rate to develop and publ
577577
578578
1. Well done your account has been successfully activated! Click *Continue*
579579
580-
1. You have now access to your SSO app list with your Developer user
580+
1. You have now access to your app list with your Developer user
581581
582582
583583
#### AWS CLI V2
@@ -606,7 +606,7 @@ aws sso login --profile dev
606606
607607
In order to interact with your different environment through the [awscli](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html) or any AWS SDKs locally, you will need to get your credentials.
608608
609-
To authenticate requests made using the CLI, we need to give the credentials generated by AWS SSO and link them to what we call `profile`. So for each environment you want to have access to through AWS CLI v2 and CDK you will have to configure a specific profile for it running the command below.
609+
To authenticate requests made using the CLI, we need to give the credentials generated by AWS IAM Identity Center and link them to what we call `profile`. So for each environment you want to have access to through AWS CLI v2 and CDK you will have to configure a specific profile for it running the command below.
610610
611611
Here we setup your first profile that will be used to replace your IAM user administrator one (`--profile dev`):
612612
@@ -667,9 +667,9 @@ aws sso login --profile dev
667667

668668
**Now you can interact with your different AWS Accounts using AWS CLI**
669669

670-
#### CDK and SSO
670+
#### CDK and IAM Identity Center
671671

672-
CDK and AWS SSO are not yet friends (see github issue [5455](https://github.com/aws/aws-cdk/issues/5455)). So since in the future we will have to deploy infrastructure as code apps into multiple environment, we will need to make it work.
672+
CDK and AWS IAM Identity Center are not yet friends (see github issue [5455](https://github.com/aws/aws-cdk/issues/5455)). So since in the future we will have to deploy infrastructure as code apps into multiple environment, we will need to make it work.
673673

674674
There is several workaround and here is one using a quick utility written in nodejs called "cdk-sso-sync":
675675

‎source/2-landing-page/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ As you can see in the [code](../lib/landing-page-stack.ts#L44), the public url w
8484
cdk deploy --profile dev
8585
```
8686
87-
> If you get the error message *Unable to resolve AWS account to use. It must be either configured when you define your CDK or through the environment*, you may need to refresh your SSO credentials by running the SSO login command described [here](../1-SDLC-organization/README.md#cdk-and-sso) to set up your dev profile with developer account credentials.
87+
> If you get the error message *Unable to resolve AWS account to use. It must be either configured when you define your CDK or through the environment*, you may need to refresh your IAM Identity Center credentials by running the AWS access portal login command described [here](../1-SDLC-organization/README.md#cdk-and-sso) to set up your dev profile with developer account credentials.
8888
8989
1. Retrieve the CloudFormation ouput called *LandingPageStack.LandingPageUrl* to navigate to your landing page
9090

0 commit comments

Comments
 (0)
This repository has been archived.