AWS Cloud9 不再向新客户提供。 AWS Cloud9 的现有客户可以继续正常使用该服务。了解更多
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 AWS Cloud9的团队的客户托管式策略示例
以下是一些策略示例,您可以使用它们来限制组中的用户可以在 AWS 账户中创建的环境。
防止组中的用户创建环境
以下客户托管策略附加到 AWS Cloud9 用户组时,会阻止这些用户在中创建环境 AWS 账户。如果您想让管理员用户管理创建环境,则 AWS 账户 此功能非常有用。否则,用户组中的 AWS Cloud9 用户会这样做。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": [
"cloud9:CreateEnvironmentEC2",
"cloud9:CreateEnvironmentSSH"
],
"Resource": "*"
}
]
}
在已附加到 AWS Cloud9 用户组"Effect":
"Allow"的托管策略"Resource": "*"中,前面的客户AWSCloud9User托管策略会明确替换"Action": "cloud9:CreateEnvironmentEC2"和"cloud9:CreateEnvironmentSSH"启用。
阻止群组中的用户创建 EC2 环境
以下客户托管策略附加到 AWS Cloud9 用户组时,会阻止这些用户在中创建 EC2 环境 AWS 账户。如果您想让管理员用户管理创建 EC2 环境,则 AWS 账户 此功能非常有用。否则,用户组中的 AWS Cloud9 用户会这样做。这假定您尚未附加策略以阻止该组中的用户创建 SSH 环境。否则,这些用户无法创建环境。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "cloud9:CreateEnvironmentEC2",
"Resource": "*"
}
]
}
在已附加到 AWS Cloud9 用户组"Effect":
"Allow"的托管策略"Resource": "*"中,前面的客户AWSCloud9User托管策略显式替换为 "Action": "cloud9:CreateEnvironmentEC2" on。
仅允许群组中的用户创建具有特定 Amazon EC2 实例类型的 EC2 环境
以下客户托管策略附加到 AWS Cloud9 用户组后,允许该用户组中的用户创建仅使用以t2中开头的实例类型的 EC2 环境 AWS 账户。此策略假设您并未附加阻止该群组中的用户创建 EC2 环境的策略。否则,这些用户将无法创建 EC2 环境。
您可以将以下策略中的 "t2.*" 替换为其他实例类 (例如,"m4.*")。或者,您可以将其限制为多个实例类或实例类型(例如,[ "t2.*", "m4.*" ] 或 [
"t2.micro", "m4.large" ])。
对于 AWS Cloud9 用户组,将AWSCloud9User托管策略与该组分离。然后,将以下客户管理型策略添加到其位置。如果不分离 AWSCloud9User 托管式策略,以下客户管理型策略将没有效果。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloud9:CreateEnvironmentSSH",
"cloud9:GetUserPublicKey",
"cloud9:UpdateUserSettings",
"cloud9:GetUserSettings",
"iam:GetUser",
"iam:ListUsers",
"ec2:DescribeVpcs",
"ec2:DescribeSubnets"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "cloud9:CreateEnvironmentEC2",
"Resource": "*",
"Condition": {
"StringLike": {
"cloud9:InstanceType": "t2.*"
}
}
},
{
"Effect": "Allow",
"Action": [
"cloud9:DescribeEnvironmentMemberships"
],
"Resource": [
"*"
],
"Condition": {
"Null": {
"cloud9:UserArn": "true",
"cloud9:EnvironmentId": "true"
}
}
},
{
"Effect": "Allow",
"Action": [
"iam:CreateServiceLinkedRole"
],
"Resource": "*",
"Condition": {
"StringLike": {
"iam:AWSServiceName": "cloud9.amazonaws.com"
}
}
}
]
}
前面的客户管理型策略还允许这些用户创建 SSH 环境。要同时防止这些用户创建 SSH 环境,请从前面的客户托管式策略中删除 "cloud9:CreateEnvironmentSSH",。
允许群组中的用户在每个群组中仅创建一个 EC2 环境 AWS 区域
以下客户托管策略附加到 AWS Cloud9 用户组后,允许这些用户在每个用户组中最多创建一个 AWS Cloud9 可 AWS 区域 用的 EC2 环境。这通过将环境的名称限制为该 AWS 区域中的一个特定名称来实现。在此示例中,环境仅限于 my-demo-environment。
AWS Cloud9 不允许将环境限制为特定环境 AWS 区域 的创建。 AWS Cloud9 也无法限制可以创建的环境总数。唯一的例外是已发布的服务限制。
对于 AWS Cloud9 用户组,将AWSCloud9User托管策略与该组分离,然后在其位置添加以下客户托管策略。如果不分离 AWSCloud9User 托管式策略,以下客户管理型策略没有效果。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloud9:CreateEnvironmentSSH",
"cloud9:GetUserPublicKey",
"cloud9:UpdateUserSettings",
"cloud9:GetUserSettings",
"iam:GetUser",
"iam:ListUsers",
"ec2:DescribeVpcs",
"ec2:DescribeSubnets"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"cloud9:CreateEnvironmentEC2"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"cloud9:EnvironmentName": "my-demo-environment"
}
}
},
{
"Effect": "Allow",
"Action": [
"cloud9:DescribeEnvironmentMemberships"
],
"Resource": [
"*"
],
"Condition": {
"Null": {
"cloud9:UserArn": "true",
"cloud9:EnvironmentId": "true"
}
}
},
{
"Effect": "Allow",
"Action": [
"iam:CreateServiceLinkedRole"
],
"Resource": "*",
"Condition": {
"StringLike": {
"iam:AWSServiceName": "cloud9.amazonaws.com"
}
}
}
]
}
前面的客户管理型策略允许这些用户创建 SSH 环境。要同时防止这些用户创建 SSH 环境,请从前面的客户托管式策略中删除 "cloud9:CreateEnvironmentSSH",。
有关更多示例,请参阅客户管理型策略示例。