AWS Cloud9를 사용한 팀용 고객 관리형 정책 예 - AWS Cloud9

신규 고객은 더 이상 AWS Cloud9를 사용할 수 없습니다. AWS Cloud9의 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세히 알아보기

AWS Cloud9를 사용한 팀용 고객 관리형 정책 예

다음은 그룹의 사용자가 AWS 계정에 생성할 수 있는 환경을 제한할 때 사용할 수 있는 정책의 일부 예입니다.

그룹의 사용자가 환경을 생성하지 못하게 차단

다음 고객 관리형 정책은 AWS Cloud9 사용자 그룹에 연결할 경우 해당 사용자가 AWS 계정에 환경을 생성하지 못하게 합니다. 이는 AWS 계정의 관리자 사용자가 환경 생성을 관리하게 하려는 경우에 유용합니다. 그렇지 않으면 AWS Cloud9 사용자 그룹의 사용자가 이 작업을 수행합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "cloud9:CreateEnvironmentEC2", "cloud9:CreateEnvironmentSSH" ], "Resource": "*" } ] }

위의 고객 관리형 정책은 AWS Cloud9 사용자 그룹에 이미 연결된 AWSCloud9User 관리형 정책에 있는 "Resource": "*""Action": "cloud9:CreateEnvironmentEC2""cloud9:CreateEnvironmentSSH"에 대한 "Effect": "Allow"를 명시적으로 재정의합니다.

그룹의 사용자가 EC2 환경을 생성하지 못하게 차단

다음 고객 관리형 정책은 AWS Cloud9 사용자 그룹에 연결할 경우 해당 사용자가 AWS 계정에 EC2 환경을 생성하지 못하게 합니다. 이는 AWS 계정의 관리자 사용자가 EC2 환경 생성을 관리하게 하려는 경우에 유용합니다. 그렇지 않으면 AWS Cloud9 사용자 그룹의 사용자가 이 작업을 수행합니다. 또한 이 정책은 해당 그룹의 사용자가 SSH 환경을 생성하지 못하게 하는 정책을 연결하지 않았다고 가정합니다. 그렇지 않으면 해당 사용자가 환경을 만들 수 없습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "cloud9:CreateEnvironmentEC2", "Resource": "*" } ] }

위의 고객 관리형 정책은 AWS Cloud9 사용자 그룹에 이미 연결된 AWSCloud9User 관리형 정책에 있는 "Resource": "*""Action": "cloud9:CreateEnvironmentEC2"에 대한 "Effect": "Allow"를 명시적으로 재정의합니다.

그룹의 사용자가 특정 Amazon EC2 인스턴스 유형이 있는 EC2 환경만 생성하도록 허용

다음 고객 관리형 정책은 AWS Cloud9 사용자 그룹에 연결할 경우 해당 사용자가 AWS 계정에서 t2로 시작하는 인스턴스 유형만 사용하는 EC2 환경을 생성하도록 허용합니다. 이 정책은 해당 그룹의 사용자가 EC2 환경을 생성하지 못하게 하는 정책을 연결하지 않았다고 가정합니다. 그렇지 않으면 해당 사용자가 EC2 환경을 만들 수 없습니다.

다음 정책의 "t2.*"를 다른 인스턴스 클래스(예: "m4.*")로 바꿀 수 있습니다. 또는 여러 인스턴스 클래스 또는 인스턴스 유형(예: [ "t2.*", "m4.*" ] 또는 [ "t2.micro", "m4.large" ])으로 제한할 수 있습니다.

AWS Cloud9 사용자 그룹의 경우, 그룹에서 AWSCloud9User 관리형 정책을 분리합니다. 그런 다음, 그 자리에 다음 고객 관리형 정책을 추가합니다. AWSCloud9User 관리형 정책을 분리하지 않으면 다음 고객 관리형 정책이 작동하지 않습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:CreateEnvironmentSSH", "cloud9:ValidateEnvironmentName", "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",를 제거합니다.

그룹의 사용자가 AWS 리전당 하나의 EC2 환경만 생성하도록 허용

다음 고객 관리형 정책은 AWS Cloud9 사용자 그룹에 연결할 경우 각 해당 사용자가 AWS Cloud9를 사용할 수 있는 AWS 리전당 최대 하나의 EC2 환경을 생성하도록 허용합니다. 이를 위해 환경 이름을 해당 AWS 리전의 특정 이름으로 제한합니다. 이 예에서는 환경이 my-demo-environment로 제한됩니다.

참고

AWS Cloud9는 특정 AWS 리전에 대한 환경이 생성되지 않도록 제한할 수 없습니다. 또한 AWS Cloud9는 만들 수 있는 전체 환경 수를 제한할 수 없습니다. 유일한 예외는 게시된 서비스 한도입니다.

AWS Cloud9 사용자 그룹의 경우, 그룹에서 AWSCloud9User 관리형 정책을 분리한 후 그 자리에 다음 고객 관리형 정책을 추가합니다. AWSCloud9User 관리형 정책을 분리하지 않으면 다음 고객 관리형 정책이 작동하지 않습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:CreateEnvironmentSSH", "cloud9:ValidateEnvironmentName", "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",를 제거합니다.

더 많은 예제는 고객 관리형 정책 예를 참조합니다.