Skip to content

Commit 2518e2e

Browse files
committed
Updating guidance.
1 parent f5f11c9 commit 2518e2e

File tree

3 files changed

+29
-10
lines changed

3 files changed

+29
-10
lines changed

README.md

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -163,28 +163,47 @@ Flags Notes:
163163
* `--group-match` works for both `--sync-method` values and also in combination with `--ignore-groups` and `--ignore-users`. This is the filter query passed to the [Google Workspace Directory API when search Groups](https://developers.google.com/admin-sdk/directory/v1/guides/search-groups), if the flag is not used, groups are not filtered.
164164
* `--user-match` works for both `--sync-method` values and also in combination with `--ignore-groups` and `--ignore-users`. This is the filter query passed to the [Google Workspace Directory API when search Users](https://developers.google.com/admin-sdk/directory/v1/guides/search-users), if the flag is not used, users are not filtered.
165165

166-
NOTES:
167-
166+
[!NOTE]
168167
1. Depending on the number of users and groups you have, maybe you can get `AWS SSO SCIM API rate limits errors`, and more frequently happens if you execute the sync many times in a short time.
169168
2. Depending on the number of users and groups you have, `--debug` flag generate too much logs lines in your AWS Lambda function. So test it in locally with the `--debug` flag enabled and disable it when you use a AWS Lambda function.
170169

171170
## AWS Lambda Usage
172171

173-
NOTE: Using Lambda may incur costs in your AWS account. Please make sure you have checked
172+
[!TIP]
173+
Using Lambda may incur costs in your AWS account. Please make sure you have checked
174174
the pricing for AWS Lambda and CloudWatch before continuing.
175175

176176
Additionally, before choosing to deploy with Lambda, please ensure that the [AWS Lambda SLAs](https://aws.amazon.com/lambda/sla/) are sufficient for your use cases.
177177

178178
Running ssosync once means that any changes to your Google directory will not appear in
179179
AWS SSO. To sync regularly, you can run ssosync via AWS Lambda.
180180

181-
:warning: You find it in the [AWS Serverless Application Repository](https://eu-west-1.console.aws.amazon.com/lambda/home#/create/app?applicationId=arn:aws:serverlessrepo:us-east-2:004480582608:applications/SSOSync).
181+
[!WARNING]
182+
You find it in the [AWS Serverless Application Repository](https://eu-west-1.console.aws.amazon.com/lambda/home#/create/app?applicationId=arn:aws:serverlessrepo:us-east-2:004480582608:applications/SSOSync).
183+
184+
[!WARNING]
185+
### v2.1 Changes
186+
* user and group selection fields in the Cloudformation template can now be left empty where not required and will not be added as environment variables to the Lambda function, this provides consistency with CLI use of ssosync.
187+
* Stronger validation of parameters in the Cloudformation template, to improve likelhood of success for new users.
188+
* Now supports multiple deployment patterns, defaults are consistent with previous versions.
189+
190+
**App + secrets**
191+
This is the default mode and fully backwards compatible with previous versions
192+
193+
**App only**
194+
This mode does not create the secrets but expects you to deployed a separate stack using the **Secrets only** mode within the same account
195+
[!TIP]
196+
If you want to use your own existing secrets then provide them as a comma separated list in the ##CrossStackConfigI## field in the following order: <GoogleCredentials ARN>,<GoogleAdminEmail ARN>,<SCIMEndpoint ARN>,<SCIMAccessToken AN>,<Region ARN>,<IdentityStoreID ARN>
182197

183-
:warning: v2.1 onwards now supports multiple deployment patterns, defaults are consistent with previous versions.
184-
**App + secrets** This is the default mode and fully backwards compatible with previous versions
185-
**App only** This mode does not create the secrets but expects you to deployed a separate stack using the **Secrets only** mode within the same account
186198
**App for cross-account** This mode is used where you have deployed the secrets in a separate account, the arns of the KMS key and secrets need to be passed into the CrossStackConfig field, It is easiest to have created the secrets in the other account using the ** Secrest for cross-account** mode, as the output can simply copied and pasted into the above field.
199+
200+
[!TIP]
201+
If you want to use your own existing secrets then provide them as a comma separated list in the ##CrossStackConfigI## field in the following order: <GoogleCredentials ARN>,<GoogleAdminEmail ARN>,<SCIMEndpoint ARN>,<SCIMAccessToken AN>,<Region ARN>,<IdentityStoreID ARN>,<KMS Key ARN>
202+
[!IMPORTANT]
203+
Be sure to allow access to the key and secrets in their respective policies to the role ##SSOSyncAppRole## in the app account.
204+
187205
**Secrets only** This mode creates a set of secrets but does not deploy the app itself, it requires the app is deployed in that same account using the **App only** mode. This allows for decoupling of the secrets and the app.
206+
188207
**Secrets for cross-account** This mode creates a set of secrets and KMS key but does not deploy the app itself, this is for use with an app stack, deployed using the **App for cross-account** mode. This allows for a single set of secrets to be shared with multipl app instance for testing, and improve secrets security.
189208

190209
## SAM

cicd/cloudformation/testing.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ Resources:
179179
Provider: CloudFormation
180180
Configuration:
181181
ActionMode: CREATE_UPDATE
182-
Capabilities: CAPABILITY_IAM,CAPABILITY_AUTO_EXPAND
182+
Capabilities: CAPABILITY_IAM,CAPABILITY_AUTO_EXPAND,CAPABILITY_NAMED_IAM
183183
StackName: SmokeTest
184184
RoleArn: !GetAtt [CloudFormationDeployerRole, Arn]
185185
TemplateConfiguration: !If [DeployManagement, 'Tests::deploy/management.json', !If [DeployDelegated, 'Tests::deploy/delegated.json', 'Tests::deploy/nondelegated.json']]

template.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -749,14 +749,14 @@ Outputs:
749749

750750
AppConfigLocal:
751751
Condition: OutputSecrets
752-
Description: "The Arn of the secret holding the Google Credentials"
752+
Description: "The Comma Separated list of secrets ARNs to copy and paste into the CrossStackConfig field of the App only stack."
753753
Value: !Sub ${SecretGoogleCredentials},${SecretGoogleAdminEmail},${SecretSCIMEndpoint},${SecretSCIMAccessToken},${SecretRegion},${SecretIdentityStoreID}
754754
Export:
755755
Name: AppConfig
756756

757757
AppConfigRemote:
758758
Condition: CreateKey
759-
Description: "The Arn of the secret holding the Google Credentials"
759+
Description: "The Comma Separated list of Secrets and KMS Key ARNs to copy and paste into the CrossStackConfig field of the app for cross-account stack."
760760
Value: !Sub ${SecretGoogleCredentials},${SecretGoogleAdminEmail},${SecretSCIMEndpoint},${SecretSCIMAccessToken},${SecretRegion},${SecretIdentityStoreID},arn:aws:kms:${AWS::Region}:${AWS::AccountId}:key/${KeyForSecrets}
761761
Export:
762762
Name: AppConfig

0 commit comments

Comments
 (0)