자습서: 조직 생성 및 구성 - AWS Organizations

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

자습서: 조직 생성 및 구성

이 자습서에서는 조직을 만들고 두 개의 AWS 구성원 계정으로 조직을 구성합니다. 조직 내 멤버 계정 하나를 만들고, 다른 계정을 조직에 초대합니다. 그런 다음에는 허용 목록 기법을 사용하여 명시적으로 나열된 서비스와 작업만 계정 관리자가 위임할 수 있도록 지정합니다. 이를 통해 관리자는 회사 내 다른 사람이 사용하도록 허용하기 전에 새로 AWS 도입되는 모든 서비스를 검증할 수 있습니다. 이렇게 하면 새 서비스를 AWS 도입하더라도 관리자가 해당 서비스를 해당 정책의 허용 목록에 추가할 때까지 서비스가 금지된 상태로 유지됩니다. 이 자습서에서는 거부 목록을 사용하여 구성원 계정의 사용자가 생성되는 감사 로그의 구성을 변경할 수 없도록 하는 방법도 보여줍니다. AWS CloudTrail

다음 그림은 자습서의 기본 단계를 보여줍니다.

1단계: 조직 만들기

이 단계에서는 현재 AWS 계정 계정을 관리 계정으로 사용하여 조직을 생성합니다. 한 계정을 조직에 AWS 계정 가입하도록 초대하고, 두 번째 계정을 구성원 계정으로 생성합니다.

2단계: 조직 단위 만들기

그런 다음에는 새로운 조직 내에 조직 단위(OU) 2개를 만들고 OU에 멤버 계정을 배치합니다.

3단계: 서비스 제어 정책 생성

서비스 제어 정책(SCP)을 사용하여 멤버 계정 사용자와 역할에 위임할 수 있는 작업을 제한할 수도 있습니다. 이 단계에서는 SCP 2개를 생성하고 조직의 OU에 연결해봅니다.

4단계: 조직 정책 테스트

각 테스트 계정에서 사용자로 로그인해 SCP가 해당 계정에 어떤 효과를 주는지 살펴보세요.

이 자습서의 어떤 단계에서도 청구서에 AWS 비용이 발생하지 않습니다. AWS Organizations 는 무료 서비스입니다.

사전 조건 

이 자습서에서는 사용자가 기존 두 개에 액세스할 수 있고 AWS 계정 (이 자습서의 일부로 세 번째 항목 생성) 각각에 대해 관리자로 로그인할 수 있다고 가정합니다.

이 자습서에서 계정은 다음과 같은 의미가 있습니다.

  • 111111111111 - 조직을 만들 때 사용하는 계정입니다. 이 계정은 관리 계정이 됩니다. 이 계정의 소유자는 OrgAccount111@example.com이라는 이메일 주소를 가집니다.

  • 222222222222 - 멤버 계정으로 조직에 초대한 계정입니다. 이 계정의 소유자는 member222@example.com이라는 이메일 주소를 가집니다.

  • 333333333333 - 조직의 멤버로 생성한 계정입니다. 이 계정의 소유자는 member333@example.com이라는 이메일 주소를 가집니다.

위의 값을 테스트 계정과 관련된 값으로 대체하세요. 이 자습서에서는 되도록 프로덕션 계정은 사용하지 마세요.

1단계: 조직 만들기

이번 단계에서는 111111111111 계정에 관리자로 로그인해 해당 계정을 관리 계정으로 이용해 조직을 생성하고, 기존 계정 222222222222를 멤버 계정으로 조직에 초대합니다.

AWS Management Console
  1. 1111111111 계정의 AWS 관리자로 로그인하고 콘솔을 엽니다.AWS Organizations

  2. 소개 페이지에서 조직 생성(Create organization)을 선택합니다.

  3. 확인 대화 상자에서 조직 생성Create organization)을 선택합니다.

    참고

    기본적으로 조직은 모든 기능이 활성화된 상태로 생성됩니다. 통합 결제 기능만 활성화하여 조직을 생성할 수도 있습니다.

    AWS 조직을 생성하고 페이지를 표시합니다. AWS 계정 다른 페이지에 있는 경우 왼쪽의 탐색 창에서 AWS 계정을 선택합니다.

    AWS에서 이메일 주소를 확인한 적이 없는 계정을 사용하는 경우 확인 이메일이 관리 계정과 연결된 주소로 자동 전송됩니다. 확인 이메일을 받기까지 어느 정도 시간이 걸릴 수 있습니다.

  4. 24시간 내에 이메일 주소를 확인하세요. 자세한 정보는 이메일 주소 확인 섹션을 참조하세요.

이제 여러분의 계정이 유일한 멤버 계정인 조직을 만들었습니다. 이것은 조직의 관리 계정입니다.

기존 계정을 조직에 가입하도록 초대

이제 조직을 확보했으니, 조직 내 계정 만들기를 시작할 수 있습니다. 이번 섹션의 단계에서는 기존 계정을 초대해 조직의 멤버가 되게 합니다.

AWS Management Console
기존 계정을 가입 초대하려면
  1. AWS 계정 페이지로 이동하고 AWS 계정추가(Add an AWS 계정)를 선택합니다.

  2. 페이지 추가에서 기존 AWS 계정 페이지 초대를 선택합니다 AWS 계정.

  3. 초대할 AWS 계정 의 이메일 주소 또는 계정 ID(Email address or account ID of an AWS 계정 to invite) 상자에서, 초대할 계정 소유자의 이메일 주소(예: member222@example.com)를 입력합니다. ID 번호를 알고 있는 경우 AWS 계정 ID 번호를 대신 입력할 수도 있습니다.

  4. 초대 이메일 메시지에 포함할 메시지(Message to include in the invitation email message) 상자에서, 원하는 텍스트를 입력합니다. 이 텍스트는 이메일에 포함되어 계정 소유자에게 전송됩니다.

  5. 초대 보내기를 선택합니다. AWS Organizations 계정 소유자에게 초대를 보냅니다.

    중요

    메시지가 길 경우 오류 메시지를 펼칩니다. 조직에 대한 계정 한도를 초과했거나 조직이 아직 초기화되고 있기 때문에 계정을 추가할 수 없음을 나타내는 오류인 경우 조직을 생성한 후 한 시간 동안 기다렸다가 다시 시도합니다. 오류가 지속될 경우 AWS 지원에 문의하세요.

  6. 자습서 목적 상 지금은 여러분 자신이 보낸 초대를 수락해야 합니다. 다음 중 하나를 수행하여 콘솔의 [Invitations] 페이지로 이동합니다.

    • 관리 계정에서 AWS 보낸 이메일을 열고 링크를 선택하여 초대를 수락합니다. 로그인 메시지가 나타나면, 초대받은 멤버 계정의 관리자로 로그인합니다.

    • AWS Organizations 콘솔을 열고 초대(Invitations) 페이지로 이동합니다.

  7. AWS 계정 페이지에서 수락(Accept)확인(Confirm)을 차례로 선택합니다.

    작은 정보

    초대 메시지의 수신이 지연될 수 있으며, 이 경우 초대를 수락하려면 기다려야 할 수 있습니다.

  8. 멤버 계정에서 로그아웃한 다음 관리 계정 관리자로 다시 로그인합니다.

멤버 계정 생성

이 섹션의 단계에서는 자동으로 기관의 구성원이 AWS 계정 되는 계정을 생성합니다. 자습서에서 이 계정을 333333333333이라고 하겠습니다.

AWS Management Console
멤버 계정을 만들려면
  1. AWS Organizations 콘솔의 AWS 계정페이지에서 추가를 선택합니다 AWS 계정.

  2. AWS 계정추가(Add an AWS 계정) 페이지에서 AWS 계정생성(Create an AWS 계정)을 선택합니다.

  3. AWS 계정 이름에 계정 이름을 입력합니다(예: MainApp Account).

  4. 계정 루트 사용자의 이메일 주소(Email address of the account’s root user)에서, 계정을 대표하여 소식을 받을 사람의 이메일 주소를 입력합니다. 이 값은 하나만 존재해야 합니다. 두 계정이 같은 이메일 주소를 가지면 안 됩니다. 예를 들면 mainapp@example.com 등을 사용할 수 있습니다.

  5. [IAM role name]을 공란으로 두어 기존 역할 이름인 OrganizationAccountAccessRole을 자동으로 사용하게 하거나, 이름을 직접 입력합니다. 이 역할은 사용자가 관리 계정의 IAM 사용자로 로그인하면 새로운 멤버 계정에 액세스할 수 있게 합니다. 본 자습서에서는 이 역할 이름을 공란으로 두어 AWS Organizations 가 기본 이름으로 역할을 생성하도록 할 것입니다.

  6. 생성 AWS 계정을 선택합니다. AWS 계정 페이지에 새 계정이 표시되려면 페이지를 새로 고치고 잠시 기다려야 합니다.

    중요

    조직에 대한 계정 한도를 초과했거나 조직이 아직 초기화되고 있기 때문에 계정을 추가할 수 없음을 나타내는 오류가 발생하면 조직을 생성한 후 한 시간 동안 기다렸다가 다시 시도하세요. 오류가 지속될 경우 AWS 지원에 문의하세요.

2단계: 조직 단위 만들기

이 섹션의 단계에서는 조직 단위(OU)를 만들고 조직 단위 내에 멤버 계정을 배치합니다. 작업이 완료되면 계층 구조가 다음 그림처럼 보일 것입니다. 관리 계정은 계속 루트에 남습니다. 한 구성원 계정은 프로덕션 OU로 이동되고 다른 구성원 계정은 프로덕션의 하위 계정인 MainApp OU로 이동됩니다.

AWS Management Console
OU를 만들거나 채우려면
참고

다음 단계에서는 객체 자체의 이름이나 객체 옆의 라디오 버튼을 선택할 수 있는 객체와 상호 작용합니다.

  • 객체 이름을 선택하면 객체 세부 정보를 표시하는 새 페이지가 열립니다.

  • 객체 옆에 있는 라디오 버튼을 선택하면 메뉴 옵션 선택 등의 다른 작업 시 해당 객체가 작업을 수행하게 됩니다.

다음 단계에서는 메뉴 선택 시 연결된 객체에 대해 작업을 수행할 수 있도록 라디오 버튼을 선택할 것입니다.

  1. AWS Organizations 콘솔에서 AWS 계정 페이지로 이동합니다.

  2. 루트(Root) 컨테이너 옆의 확인란 을 선택합니다.

  3. 작업 드롭다운을 선택한 다음 조직 단위에서 새로 만들기를 선택합니다.

  4. 루트에 조직 단위 생성(Create organizational unit in Root) 페이지에서 조직 단위 이름(Organizational unit name)Production을 입력한 다음 조직 단위 생성(Create organizational unit)을 선택합니다.

  5. Production OU 옆에 있는 확인란 을 선택합니다.

  6. 작업(Actions)을 선택한 다음 조직 단위(Organizational unit)에서 새로 만들기(Create new)를 선택합니다.

  7. Production에 조직 단위 생성(Create organizational unit in Production) 페이지에서 두 번째 OU 이름에 MainApp을 입력한 다음 조직 단위 생성(Create organizational unit)을 선택합니다.

    이제 멤버 계정을 이상의 OU로 이동할 수 있습니다.

  8. AWS 계정 페이지로 돌아가서 프로덕션 OU 옆에 있는 삼각형 을 선택해 그 아래의 트리를 확장합니다. 그러면 MainAppOU가 프로덕션의 하위 항목으로 표시됩니다.

  9. 333333333333 옆에 있는 확인란 (이름 아님)을(를) 선택하고 작업 선택 후 AWS 계정에서 이동을 선택합니다.

  10. AWS 계정 '333333333333' 이동 페이지에서 프로덕션 옆의 삼각형을 선택하여 확장하십시오. 옆에서 MainApp라디오 버튼 (이름이 아님) 을 선택한 다음 이동을 선택합니다. AWS 계정

  11. 222222222222 옆에 있는 확인란 (이름 아님)을(를) 선택하고 작업 선택 후 AWS 계정에서 이동을 선택합니다.

  12. 이동 AWS 계정 '222222222222' 페이지의 프로덕션 옆에서 라디오 버튼 (이름이 아님) 을 선택한 다음 이동을 선택합니다. AWS 계정

3단계: 서비스 제어 정책 생성

이 섹션의 단계에서는 3가지 서비스 제어 정책(SCP)을 만들고 루트와 OU에 연결해 사용자가 조직 계정으로 할 수 있는 일을 제한합니다. 첫 번째 SCP는 구성원 계정의 누구도 구성한 로그를 만들거나 수정할 수 없도록 합니다. AWS CloudTrail 관리 계정은 SCP의 영향을 받지 않으므로 SCP를 적용한 후에는 관리 계정에서 모든 로그를 만들어야 합니다. CloudTrail

조직에 대해 서비스 제어 정책 유형 활성화

루트 내의 OU에 특정 유형의 정책을 연결하려면, 먼저 해당 조직에 정책 유형을 활성화해야 합니다. 정책 유형은 기본적으로 비활성화되어 있습니다. 이 섹션의 단계에서는 조직에 대해 서비스 제어 정책(SCP) 유형을 활성화하는 방법을 확인할 수 있습니다.

AWS Management Console
조직에 대해 SCP를 활성화하려면
  1. 정책 페이지로 이동한 다음 서비스 제어 정책을 선택합니다.

  2. 서비스 제어 정책 페이지에서 서비스 제어 정책 활성화(Enable service control policies)를 선택합니다.

    이제 조직에서 SCP를 만들 수 있음을 알리는 녹색 배너가 나타납니다.

SCP 생성

이제 조직에서 서비스 제어 정책을 활성화했으므로 이 자습서에 필요한 세 가지 정책을 만들 수 있습니다.

AWS Management Console
구성 작업을 차단하는 첫 번째 SCP를 만들려면 CloudTrail
  1. 정책 페이지로 이동한 다음 서비스 제어 정책을 선택합니다.

  2. 서비스 제어 정책 페이지(Service control policies)에서 정책 생성(Create policy)을 선택합니다.

  3. 정책 이름(Policy name)Block CloudTrail Configuration Actions을 입력합니다.

  4. 정책 섹션의 오른쪽에 있는 서비스 목록에서 해당 서비스를 선택합니다 CloudTrail . 그런 다음 AddTags,,,, CreateTrail, DeleteTrail, RemoveTagsStartLoggingStopLogging, 등의 작업을 선택합니다 UpdateTrail.

  5. 오른쪽 창에서 리소스 추가 및 지정을 CloudTrail선택하고 모든 리소스를 선택합니다. 그런 다음 리소스 추가를 선택합니다.

    왼쪽의 정책 문은 다음과 유사해야 합니다.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1234567890123", "Effect": "Deny", "Action": [ "cloudtrail:AddTags", "cloudtrail:CreateTrail", "cloudtrail:DeleteTrail", "cloudtrail:RemoveTags", "cloudtrail:StartLogging", "cloudtrail:StopLogging", "cloudtrail:UpdateTrail" ], "Resource": [ "*" ] } ] }
  6. 정책 생성을 선택합니다.

두 번째 정책은 Production OU의 사용자와 역할에 대해 활성화하려는 서비스와 작업의 허용 목록을 정의합니다. 작업이 완료되면 Production OU의 사용자는 나열된 서비스 및 작업에만 액세스할 수 있습니다.

AWS Management Console
Production OU에 대해 승인된 서비스를 허용하는 두 번째 정책을 생성하려면
  1. 서비스 제어 정책(Service control policies) 페이지에서 정책 생성(Create policy)을 선택합니다.

  2. 정책 이름(Policy name)Allow List for All Approved Services을 입력합니다.

  3. 커서를 정책 섹션의 오른쪽 창에 놓고 다음과 같은 정책을 붙여 넣습니다.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1111111111111", "Effect": "Allow", "Action": [ "ec2:*", "elasticloadbalancing:*", "codecommit:*", "cloudtrail:*", "codedeploy:*" ], "Resource": [ "*" ] } ] }
  4. 정책 생성을 선택합니다.

최종 정책은 OU에서 사용이 차단된 서비스의 거부 목록을 제공합니다. MainApp 이 자습서에서는 OU에 있는 모든 계정에서 Amazon DynamoDB에 대한 액세스를 차단합니다. MainApp

AWS Management Console
OU에서 사용할 수 없는 서비스에 대한 액세스를 거부하는 세 번째 정책을 만들려면 MainApp
  1. 서비스 제어 정책(Service control policies) 페이지에서 정책 생성(Create policy)을 선택합니다.

  2. 정책 이름(Policy name)Deny List for MainApp Prohibited Services을 입력합니다.

  3. 정책(Policy) 섹션의 왼쪽에서 Amazon DynamoDB를 서비스로 선택합니다. 작업으로 모든 작업을 선택합니다.

  4. 왼쪽 창에서 리소스 추가(Add resource)를 선택하고 DynamoDB모든 리소스(All Resources)를 지정합니다. 그런 다음 리소스 추가를 선택합니다.

    오른쪽의 정책 문이 다음과 유사하게 업데이트됩니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "dynamodb:*" ], "Resource": [ "*" ] } ] }
  5. [Create policy]를 선택하여 SCP를 저장합니다.

OU에 SCP 연결

이제 SCP가 루트에서 활성화되었고, SCP를 루트와 OU에 연결할 수도 있습니다.

AWS Management Console
루트와 OU에 정책을 연결하려면
  1. AWS 계정 페이지로 이동합니다.

  2. AWS 계정 페이지에서 루트(Root)(라디오 버튼이 아닌 이름)를 선택하여 세부 정보 페이지로 이동합니다.

  3. 루트 세부 정보 페이지에서 정책(Policies) 탭을 선택한 다음 서비스 제어 정책(Service Control Policies)에서 연결(Attach)을 선택합니다.

  4. 서비스 제어 정책 연결(Attach a service control policy) 페이지에서 Block CloudTrail Configuration Actions라는 SCP 옆의 라디오 버튼을 선택한 다음 연결(Attach)을 선택합니다. 이 자습서에서는 구성한 방식을 다른 사람이 변경하지 못하도록 루트에 연결하여 모든 구성원 계정에 영향을 미치도록 합니다. CloudTrail

    루트(Root) 세부 정보 페이지의 정책(Policies) 탭에서 이제 2개의 SCP가 루트에 연결된 것이 보입니다. 방금 연결한 것과 기본 FullAWSAccess SCP입니다.

  5. 다시 AWS 계정 페이지로 이동해 프로덕션(Production) OU(라디오 버튼이 아닌 이름)를 선택하여 세부 정보 페이지로 이동합니다.

  6. Production OU의 세부 정보 페이지에서 정책(Policies) 탭을 선택합니다.

  7. 서비스 제어 정책(Service Control Policies)에서 연결(Attach)을 선택합니다.

  8. 서비스 제어 정책 연결(Attach a service control policy) 페이지에서 Allow List for All Approved Services 옆의 라디오 버튼을 선택한 다음 연결(Attach)을 선택합니다. 이렇게 하면 Production의 멤버 계정에 속한 사용자와 역할이 승인된 서비스에 액세스할 수 있습니다.

  9. 정책(Policies) 탭을 다시 선택하면 2개의 SCP가 OU에 연결된 것이 보입니다. 방금 연결한 것과 기본 FullAWSAccess SCP입니다. 하지만 FullAWSAccess SCP는 모든 서비스와 작업을 허용하는 허용 목록이기 때문에, 승인된 서비스만 허용되도록 하려면 이제 이 SCP를 분리해야 합니다.

  10. 프로덕션 OU에서 기본 정책을 제거하려면 라디오 버튼을 AWSAccess전체로 선택하고 분리를 선택한 다음 확인 대화 상자에서 정책 분리를 선택합니다.

    이 기본 정책을 제거하면, Production OU 아래에 있는 모든 멤버 계정은 이전 단계에서 연결한 허용 목록 SCP에 없는 모든 작업 및 서비스에 대한 액세스 권한을 즉시 잃어버리게 됩니다. 모든 승인된 서비스에 대한 허용 목록 SCP에 포함되지 않은 작업을 사용하기 위한 요청은 거부됩니다. 이러한 결과는 계정의 관리자가 멤버 계정 중 하나의 사용자에게 IAM 권한 정책을 연결하여 다른 서비스에 대한 액세스 권한을 부여하는 경우에도 마찬가지입니다.

  11. 이제 이름이 지정된 SCP를 연결하여 MainApp OU 계정의 다른 사용자가 제한된 서비스를 사용하지 Deny List for MainApp Prohibited services 못하도록 할 수 있습니다.

    이 작업을 수행하려면 AWS 계정페이지로 이동하여 삼각형 아이콘을 선택하여 프로덕션 OU의 분기를 확장한 다음 MainAppOU (라디오 버튼이 아닌 이름) 를 선택하여 해당 콘텐츠로 이동합니다.

  12. MainApp세부 정보 페이지에서 정책 탭을 선택합니다.

  13. 서비스 제어 정책에서 연결을 선택한 다음 사용 가능한 정책 목록에서 MainApp 금지된 서비스에 대한 거부 목록 옆의 라디오 버튼을 선택한 다음 정책 연결을 선택합니다.

4단계: 조직 정책 테스트

이제 멤버 계정의 사용자로 로그인해 다양한 AWS 작업을 수행해볼 수 있습니다.

  • 관리 계정 사용자로 로그인하면, IAM 권한 정책이 허용하는 모든 작업을 수행할 수 있습니다. SCP는 관리 계정이 어떤 루트나 OU에 있더라도 계정의 사용자나 역할에는 영향을 주지 않습니다.

  • 222222222222 계정에서 사용자로 로그인하면 허용 목록에서 허용하는 모든 작업을 수행할 수 있습니다. AWS Organizations 허용 목록에 없는 모든 서비스에서 작업을 수행하려는 시도를 거부합니다. 또한 CloudTrail 구성 작업 중 하나를 수행하려는 모든 시도를 AWS Organizations 거부합니다.

  • 333333333333 계정의 사용자로 로그인하면, 허용 목록에서 허용되고 거부 목록에서 차단되지 않는 모든 작업을 수행할 수 있습니다. AWS Organizations 는 허용 목록 정책에 없는 작업과 거부 목록 정책에 있는 작업을 수행하려는 시도를 거부합니다. 또한 CloudTrail 구성 작업 중 하나를 수행하려는 모든 시도를 AWS Organizations 거부합니다.