Skip to content

Commit 2743866

Browse files
authored
Merge branch 'main' into Swara-changes
2 parents 3b92471 + 6a902d2 commit 2743866

File tree

2 files changed

+46
-2
lines changed

2 files changed

+46
-2
lines changed

Service-specific-controls/README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
|[Enforce TLS version](S3-Enforce-TLS-version.json) | Require a minimum TLS version of 1.2 for access to S3 buckets.|
1212
|[Deny users from deleting Amazon S3 Buckets or objects](S3-Deny-users-from-deleting-Amazon-S3-Buckets-or-objects.json) | Restrict users or roles in any affected account from deleting S3 bucket or objects. This control can be implemented using either SCP or RCP.|
1313
|[Deny ACL disablement for all new buckets (bucket owner enforced)](S3-Deny-ACL-disablement-for-all-new-buckets-(bucket-owner-enforced).json)| Require that all new buckets are created with ACLs disabled. Note: When you apply this setting, ACLs are disabled and you automatically own and have full control over all objects in your bucket. This control can be implemented using either SCP or RCP.|
14-
|[Deny users from modifying S3 Block Public Access (Account-Level)](S3-Deny-users-from-modifying-S3-Block-Public-Access-(Account-Level).json) |Deny users or roles in any affected account from modifying the S3 Block Public Access Account level settings.Note: When you apply block public access settings to an account, the settings apply to all AWS Regions globally. This control can be implemented using either SCP or RCP.|
15-
|[Prevent S3 buckets from being made public (Bucket level)](S3-Prevent-S3-buckets-from-being-made-public-(Bucket-level).json) |Deny users or roles in any affected account from modifying the S3 Block Public Access bucket level settings. This control can be implemented using either SCP or RCP.|
14+
|[Deny users from modifying S3 Block Public Access (Account-Level)](S3-Deny-users-from-modifying-S3-Block-Public-Access-(Account-Level).json) |Deny users or roles in any affected account from modifying the S3 Block Public Access Account level settings.Note: When you apply block public access settings to an account, the settings apply to all AWS Regions globally. **Note:** This control can be implemented using either SCP or RCP or [S3 policies](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_s3.html). S3 policies is recommended.|
15+
|[Prevent S3 buckets from being made public (Bucket level)](S3-Prevent-S3-buckets-from-being-made-public-(Bucket-level).json) |Deny users or roles in any affected account from modifying the S3 Block Public Access bucket level settings. **Note:** This control can be implemented using either SCP or RCP or [S3 policies](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_s3.html). S3 policies is recommended.|
1616
|[Prevents usage of customer-provided encryption keys (SSE-C) for S3 buckets (Bucket level)](S3-Deny-SSE-C.json) |Deny the use of customer-provided encryption keys (SSE-C) across the organization. This security measure helps ensure all S3 bucket encryption remains under organizational control by denying the use of S3 with SSE-C.|
1717
|[Prevents long term presigned URLs](S3-Prevent-long-term-presigned-url.json) |Deny the use of presigned URL with a signature age greater than the configured expiration time.|
1818

@@ -43,6 +43,7 @@
4343

4444
**AWS STS**
4545

46+
4647
| Included Policy | Rationale |
4748
|-------------|-------------|
4849
|[Protect EKS Pod Identity Session Tags](STS-Protect-EKS-pod-identities-tags.json) | Protect the session tags set by EKS pod identities. This RCP helps ensure that only AWS service principals can assume IAM role sessions with the EKS pod identity specific session tags, while allowing the role-sessions assumed by EKS pod identities to continue to set them as transitive session tags. This pairs well with a [service control policy that restricts the ability for someone to use the iam:TagRole and iam:TagUser permission from creating tags on IAM roles and users with the expected keys and values by EKS pod identities](https://github.com/aws-samples/service-control-policy-examples/blob/main/Service-specific-controls/Amazon-EKS/ProtectPodIdentitiesTagsOnRolesAndUsers.json). The logic is that "Only an AWS service Principal can make a request for a role-session with any of those tags, or a session/role/user that already has one of those tags set". |
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
{
2+
"Version": "2012-10-17",
3+
"Statement": [
4+
{
5+
"Sid": "EnforceOnlyAWSServicePrincipalsAndRolesAssumedByIAMRACanSetIAMRASessionTags",
6+
"Effect": "Deny",
7+
"Principal": "*",
8+
"Action": [
9+
"sts:TagSession"
10+
],
11+
"Resource": "*",
12+
"Condition": {
13+
"ForAnyValue:Stringlike": {
14+
"aws:TagKeys": [
15+
"x509Issuer*",
16+
"x509Subject*",
17+
"x509SAN*"
18+
]
19+
},
20+
"BoolIfExists": {
21+
"aws:PrincipalIsAwsService": "false"
22+
},
23+
"Null": {
24+
"aws:PrincipalTag/x509Subject/OU": "true",
25+
"aws:PrincipalTag/x509Subject/CN": "true",
26+
"aws:PrincipalTag/x509Subject/O": "true",
27+
"aws:PrincipalTag/x509Subject/C": "true",
28+
"aws:PrincipalTag/x509Subject/ST": "true",
29+
"aws:PrincipalTag/x509Subject/L": "true",
30+
"aws:PrincipalTag/x509Issuer/C": "true",
31+
"aws:PrincipalTag/x509Issuer/O": "true",
32+
"aws:PrincipalTag/x509Issuer/OU": "true",
33+
"aws:PrincipalTag/x509Issuer/ST": "true",
34+
"aws:PrincipalTag/x509Issuer/L": "true",
35+
"aws:PrincipalTag/x509Issuer/CN": "true"
36+
"aws:PrincipalTag/x509SAN/DNS": "true"
37+
"aws:PrincipalTag/x509SAN/URI": "true"
38+
"aws:PrincipalTag/x509SAN/Name/CN": "true"
39+
}
40+
}
41+
}
42+
]
43+
}

0 commit comments

Comments
 (0)