AWS Cloud9에 대한 추가 설정 옵션(팀 및 엔터프라이즈) - AWS Cloud9

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Cloud9에 대한 추가 설정 옵션(팀 및 엔터프라이즈)

이 주제에서는 Team Setup(팀 설정) 또는 Enterprise Setup(엔터프라이즈 설정)의 설정 단계를 이미 완료했다고 가정합니다.

Team Setup(팀 설정) 또는 Enterprise Setup(엔터프라이즈 설정)에서 그룹을 생성하고 그러한 그룹에 직접 AWS Cloud9 액세스 권한을 추가했습니다. 이는 해당 그룹의 사용자가 AWS Cloud9에 액세스할 수 있도록 하기 위한 것입니다. 이 주제에서는 그러한 그룹의 사용자가 생성할 수 있는 환경 종류를 제한하는 액세스 권한을 추가합니다. 그러면 AWS 계정 및 조직의 AWS Cloud9과 관련된 비용을 통제하는 데 도움이 됩니다.

이러한 액세스 권한을 추가하려면 적용하려는 AWS 액세스 권한을 정의하는 고유 정책 집합을 에 만듭니다. 이를 일컬어 각각 고객 관리형 정책이라고 합니다. 그런 다음, 사용자가 속한 그룹에 그러한 고객 관리형 정책을 연결합니다. 일부 시나리오에서는 그러한 그룹에 이미 연결된 기존 AWS 관리형 정책도 분리해야 합니다. 이를 설정하려면 이 주제의 절차를 따릅니다.

참고

다음 절차에서는 AWS Cloud9 사용자 그룹에 대해서만 정책을 연결 및 분리하는 방법을 다룹니다. 이 절차에서는 이미 별도의 AWS Cloud9 사용자 그룹과 AWS Cloud9 관리자 그룹이 있다고 가정합니다. 또한 AWS Cloud9 관리자 그룹의 사용자 수가 제한되어 있다고 가정합니다. 이 AWS 보안 모범 사례는 AWS 리소스 액세스와 관련된 문제를 더 효과적으로 제어, 추적 및 해결하는 데 도움이 됩니다.

1단계: 고객 관리형 정책 만들기

AWS Management Console 또는 AWS Command Line Interface(AWS CLI)를 사용하여 고객 관리형 정책을 만들 수 있습니다.

참고

이 단계에서는 IAM 그룹에 대한 고객 관리형 정책 생성만 다룹니다. AWS IAM Identity Center에서 그룹에 대한 사용자 지정 권한 세트를 만들려면 이 단계를 건너뛰고 대신 AWS IAM Identity Center 사용 설명서에서 권한 세트 생성의 지침을 따르세요. 이 주제에서는 이러한 지침에 따라 사용자 지정 권한 세트를 생성합니다. 관련 사용자 지정 권한 정책은 이 주제 뒷부분에 나오는 AWS Cloud9을 사용한 팀용 고객 관리형 정책 예를 참조하세요.

콘솔을 사용하여 고객 관리형 정책 만들기

  1. 아직 로그인하지 않았다면 AWS Management Console에 로그인합니다.

    AWS 계정의 관리자 사용자용 보안 인증 정보를 사용하여 로그인하는 것이 좋습니다. 이렇게 할 수 없으면 AWS 계정 관리자에게 문의하세요.

  2. IAM 콘솔(IAM console)을 엽니다. 이렇게 하려면 콘솔의 탐색 모음에서 서비스를 선택합니다. 그런 다음 IAM을 선택합니다.

  3. 서비스의 탐색 창에서 정책을 선택합니다.

  4. [정책 생성(Create policy)]을 선택합니다.

  5. JSON 탭에 제안된 고객 관리형 정책 예 중 하나를 붙여 넣습니다.

    참고

    고유한 고객 관리형 정책을 만들 수도 있습니다. 자세한 내용은 IAM 사용 설명서IAM JSON 정책 참조와 AWS 서비스의 문서를 참조하세요.

  6. Review policy(정책 검토)를 선택합니다.

  7. 정책 검토 페이지에 정책의 이름설명(선택 영역)을 입력한 후, 정책 생성을 선택합니다.

생성하려는 각 추가 고객 관리형 정책에 대해 이 단계를 반복합니다. 그런 다음, 콘솔을 사용하여 그룹에 고객 관리형 정책 추가로 건너뜁니다.

AWS CLI를 사용하여 고객 관리형 정책 만들기

  1. AWS CLI를 실행하는 컴퓨터에 정책을 설명하는 파일을 만듭니다(예: policy.json).

    다른 파일 이름으로 파일을 만들 경우, 이 절차 전체에서 해당 이름으로 바꿉니다.

  2. 제안된 고객 관리형 정책 예 중 하나를 policy.json 파일에 붙여 넣습니다.

    참고

    고유한 고객 관리형 정책을 만들 수도 있습니다. 자세한 내용은 IAM 사용 설명서IAM JSON 정책 참조와 AWS 서비스의 문서를 참조하세요.

  3. 터미널 또는 명령 프롬프트에서 policy.json 파일이 포함된 디렉터리로 전환합니다.

  4. 정책 이름과 policy.json 파일을 지정하여 IAM create-policy 명령을 실행합니다.

    aws iam create-policy --policy-document file://policy.json --policy-name MyPolicy

    앞의 명령에서 MyPolicy를 해당 정책의 이름으로 바꿉니다.

AWS CLI를 사용하여 그룹에 고객 관리형 정책 추가로 건너뜁니다.

2단계: 그룹에 고객 관리형 정책 추가

AWS Management Console 또는 AWS Command Line Interface(AWS CLI)를 사용하여 그룹에 고객 관리형 정책을 추가할 수 있습니다.

참고

이 단계에서는 IAM 그룹에 고객 관리형 정책을 추가하는 것만 다룹니다. AWS IAM Identity Center에서 그룹에 사용자 지정 권한 세트를 추가하려면 이 단계를 건너뛰고 대신 AWS IAM Identity Center 사용 설명서에서 사용자 액세스 권한 할당의 지침을 따르세요.

콘솔을 사용하여 그룹에 고객 관리형 정책 추가

  1. 이전 절차에서 IAM 콘솔을 연 상태로 서비스의 탐색 창에서 [그룹(Groups)]을 선택합니다.

  2. 그룹의 이름을 선택합니다.

  3. 권한 탭의 관리형 정책에서 정책 연결을 선택합니다.

  4. 정책 이름 목록에서 그룹에 연결하려는 각 고객 관리형 정책 옆의 상자를 선택합니다. 목록에서 특정 정책 이름이 보이지 않으면 표시할 정책 이름을 Filter(필터) 상자에 입력합니다.

  5. 정책 연결(Attach Policy)을 선택합니다.

AWS CLI를 사용하여 그룹에 고객 관리형 정책 추가

참고

AWS 관리형 임시 자격 증명을 사용하는 경우 AWS Cloud9 IDE의 터미널 세션을 사용하여 이 섹션의 일부 또는 모든 명령을 실행할 수 없습니다. AWS 보안 모범 사례를 따르기 위해 AWS 관리형 임시 자격 증명은 일부 명령의 실행을 허용하지 않습니다. 대신에 별도의 AWS Command Line Interface(AWS CLI) 설치에서 이러한 명령을 실행할 수 있습니다.

그룹의 이름과 정책의 Amazon 리소스 이름(ARN)을 지정하여 IAM attach-group-policy 명령을 실행합니다.

aws iam attach-group-policy --group-name MyGroup --policy-arn arn:aws:iam::123456789012:policy/MyPolicy

앞의 명령에서 MyGroup을 그룹의 이름으로 바꿉니다. 123456789012를 AWS 계정 ID로 바꿉니다. MyPolicy를 해당 고객 관리형 정책의 이름으로 바꿉니다.

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",를 제거합니다.

더 많은 예제는 고객 관리형 정책 예를 참조하세요.

다음 단계

작업 다음 주제 참조

생성AWS Cloud9개발 환경을 만든 다음AWS Cloud9IDE를 사용하여 새 환경에서 코드를 작업합니다.

환경 생성

AWS Cloud9 IDE를 사용하는 방법을 알아봅니다.

시작하기: 기본 자습서IDE 작업

나와 함께 다른 사람이 텍스트 채팅 지원을 통해 실시간으로 새 환경을 사용할 수 있도록 초대합니다.

공유 환경 사용