Amazon EC2 Linux 인스턴스를 AWS 관리형 Microsoft AD 액티브 디렉터리에 원활하게 조인합니다. - AWS Directory Service

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

Amazon EC2 Linux 인스턴스를 AWS 관리형 Microsoft AD 액티브 디렉터리에 원활하게 조인합니다.

이 절차는 Amazon EC2 Linux 인스턴스를 관리형 AWS Microsoft AD Active Directory에 원활하게 연결합니다. 여러 AWS 계정에서 원활한 도메인 조인을 수행해야 하는 경우 디렉터리 공유를 활성화하도록 선택할 수도 있습니다.

다음과 같은 Linux 인스턴스 배포판과 버전이 지원됩니다.

  • 아마존 리눅스 AMI 2018.03.0

  • Amazon Linux 2(64비트 x86)

  • 레드햇 엔터프라이즈 리눅스 8 (HVM) (64비트 x86)

  • 우분투 서버 18.04 및 우분투 서버 16.04 LTS LTS

  • CentOS 7 x86-64

  • SUSE리눅스 엔터프라이즈 서버 15 SP1

참고

Ubuntu 14 및 Red Hat Enterprise Linux 7 이전의 배포판은 원활한 도메인 조인 기능을 지원하지 않습니다.

Linux 인스턴스를 AWS 관리형 Microsoft AD Active Directory에 원활하게 연결하는 프로세스에 대한 데모는 다음 YouTube 비디오를 참조하십시오.

사전 조건

Linux 인스턴스에 원활한 도메인 조인을 설정하려면 먼저 이 섹션의 절차를 완료해야 합니다.

원활한 도메인 가입 서비스 계정을 선택합니다

Linux 컴퓨터를 AWS 관리형 Microsoft AD Active Directory 도메인에 원활하게 가입할 수 있습니다. 이렇게 하려면 컴퓨터 계정 생성 권한이 있는 사용자 계정을 사용하여 컴퓨터를 도메인에 조인해야 합니다. AWS 위임된 관리자 또는 다른 그룹의 구성원은 컴퓨터를 도메인에 조인할 수 있는 충분한 권한을 가질 수 있지만, 이러한 권한은 사용하지 않는 것이 좋습니다. 가장 좋은 방법은 컴퓨터를 도메인에 조인하는 데 필요한 최소 권한이 있는 서비스 계정을 사용하는 것입니다.

컴퓨터를 도메인에 가입시키는 데 필요한 최소 권한이 있는 계정을 위임하려면 다음 PowerShell 명령을 실행할 수 있습니다. 도메인에 조인된 Windows 컴퓨터에 AWS 관리형 Microsoft AD용 액티브 디렉터리 관리 도구 설치이(가) 설치되어 있는 상태에서 이러한 명령을 실행해야 합니다. 또한 컴퓨터 OU 또는 컨테이너에 대한 권한을 수정할 권한이 있는 계정을 사용해야 합니다. 이 PowerShell 명령은 서비스 계정이 도메인의 기본 컴퓨터 컨테이너에 컴퓨터 개체를 만들 수 있도록 권한을 설정합니다.

$AccountName = 'awsSeamlessDomain' # DO NOT modify anything below this comment. # Getting Active Directory information. Import-Module 'ActiveDirectory' $Domain = Get-ADDomain -ErrorAction Stop $BaseDn = $Domain.DistinguishedName $ComputersContainer = $Domain.ComputersContainer $SchemaNamingContext = Get-ADRootDSE | Select-Object -ExpandProperty 'schemaNamingContext' [System.GUID]$ServicePrincipalNameGuid = (Get-ADObject -SearchBase $SchemaNamingContext -Filter { lDAPDisplayName -eq 'Computer' } -Properties 'schemaIDGUID').schemaIDGUID # Getting Service account Information. $AccountProperties = Get-ADUser -Identity $AccountName $AccountSid = New-Object -TypeName 'System.Security.Principal.SecurityIdentifier' $AccountProperties.SID.Value # Getting ACL settings for the Computers container. $ObjectAcl = Get-ACL -Path "AD:\$ComputersContainer" # Setting ACL allowing the service account the ability to create child computer objects in the Computers container. $AddAccessRule = New-Object -TypeName 'System.DirectoryServices.ActiveDirectoryAccessRule' $AccountSid, 'CreateChild', 'Allow', $ServicePrincipalNameGUID, 'All' $ObjectAcl.AddAccessRule($AddAccessRule) Set-ACL -AclObject $ObjectAcl -Path "AD:\$ComputersContainer"

그래픽 사용자 인터페이스 (GUI) 를 사용하려는 경우 에 설명된 수동 프로세스를 사용할 수 서비스 계정에 권한 위임 있습니다.

도메인 서비스 계정을 저장할 보안 암호 생성

를 AWS Secrets Manager 사용하여 도메인 서비스 계정을 저장할 수 있습니다.

보안 암호를 만들고 도메인 서비스 계정 정보를 저장하려면
  1. 에서 AWS Management Console 로그인하고 AWS Secrets Manager 콘솔을 엽니다 https://console.aws.amazon.com/secretsmanager/.

  2. 새 보안 암호 저장(Store a new secret)을 선택합니다.

  3. 새 보안 암호 저장(Store a new secret) 페이지에서 다음을 수행합니다.

    1. 암호 유형에서 다른 암호 유형을 선택합니다.

    2. 키/값 쌍에서 다음을 수행하십시오.

      1. 첫 번째 상자에 awsSeamlessDomainUsername를 입력합니다. 같은 행의 다음 상자에 서비스 계정의 사용자 이름을 입력합니다. 예를 들어 이전에 PowerShell 명령을 사용한 경우 서비스 계정 이름은 다음과 같습니다awsSeamlessDomain.

        참고

        있는 그대로 awsSeamlessDomainUsername을 입력해야 합니다. 선행 공백이나 끝 공백이 없어야 합니다. 그렇지 않으면 도메인 조인에 실패합니다.

        AWS Secrets Manager 콘솔의 암호 유형 선택 페이지에서 암호 유형에서 다른 유형의 암호가 awsSeamlessDomainUsername 선택되며 키 값으로 입력됩니다.
      2. Add row(행 추가)를 선택합니다.

      3. 새 행의 첫 번째 상자에 awsSeamlessDomainPassword를 입력합니다. 같은 행의 다음 상자에 서비스 계정의 암호를 입력합니다.

        참고

        있는 그대로 awsSeamlessDomainPassword을 입력해야 합니다. 선행 공백이나 끝 공백이 없어야 합니다. 그렇지 않으면 도메인 조인에 실패합니다.

      4. 암호화 키에서 기본값을 그대로 유지합니다aws/secretsmanager. AWS Secrets Manager 이 옵션을 선택하면 항상 암호를 암호화합니다. 사용자가 생성한 키를 선택할 수도 있습니다.

        참고

        사용하는 비밀번호에 따라 수수료가 부과됩니다. AWS Secrets Manager현재 기준의 전체적인 요금 목록은 AWS Secrets Manager 요금을 참조하세요.

        Secrets Manager에서 생성한 AWS 관리 키를 aws/secretsmanager 사용하여 비밀을 무료로 암호화할 수 있습니다. 암호를 암호화하기 위해 자체 KMS 키를 생성하는 경우 현재 AWS KMS 요율로 AWS 요금이 부과됩니다. 자세한 내용은 AWS Key Management Service 요금을 참조하세요.

      5. Next(다음)를 선택합니다.

  4. 암호 이름 아래에 다음 형식을 사용하여 디렉토리 ID가 포함된 비밀 이름을 입력합니다.d-xxxxxxxxx 디렉터리 ID로:

    aws/directory-services/d-xxxxxxxxx/seamless-domain-join

    이는 애플리케이션에서 보안 암호를 검색하는 데 사용됩니다.

    참고

    있는 aws/directory-services/d-xxxxxxxxx/seamless-domain-join 그대로 입력하되 바꾸어야 합니다.d-xxxxxxxxxx 디렉터리 ID를 입력하세요. 선행 공백이나 끝 공백이 없어야 합니다. 그렇지 않으면 도메인 가입에 실패합니다.

    AWS Secrets Manager 콘솔의 시크릿 구성 페이지에서 암호 이름을 입력하고 강조 표시합니다.
  5. 다른 모든 항목은 기본값으로 설정한 후 Next(다음)를 선택합니다.

  6. Configure automatic rotation(자동 교체 구성)Disable automatic rotation(자동 교체 사용 안 함)으로 선택하고 Next(다음)를 선택합니다.

    저장한 후 이 비밀의 로테이션을 켤 수 있습니다.

  7. 설정을 검토한 다음 Store(저장)를 선택하여 변경 내용을 저장합니다. 이제 Secrets Manager 콘솔에서 새 보안 암호가 목록에 포함된 계정의 보안 암호 목록으로 돌아갑니다.

  8. 목록에서 새로 만든 암호 이름을 선택하고 암호 ARN 값을 기록해 둡니다. 다음 섹션에서 이 값을 사용하게 됩니다.

도메인 서비스 계정 비밀번호에 대한 로테이션을 켜세요.

보안 태세를 개선하려면 정기적으로 암호를 교체하는 것이 좋습니다.

도메인 서비스 계정 비밀번호에 대한 순환 기능을 켜려면

필요한 IAM 정책 및 역할을 생성하십시오.

다음 사전 필수 단계를 사용하여 Secrets Manager 원활한 도메인 조인 암호 (이전에 생성함) 에 대한 읽기 전용 액세스를 허용하는 사용자 지정 정책을 생성하고 새 Linux 역할을 생성합니다. EC2DomainJoin IAM

Secrets Manager IAM 읽기 정책 생성

IAM콘솔을 사용하여 Secrets Manager 비밀번호에 대한 읽기 전용 액세스 권한을 부여하는 정책을 생성합니다.

Secrets Manager를 만들려면 정책을 IAM 읽으세요.
  1. IAM정책을 생성할 권한이 있는 AWS Management Console 사용자로 로그인합니다. 그런 다음 에서 IAM 콘솔을 엽니다 https://console.aws.amazon.com/iam/.

  2. 탐색 창의 액세스 관리에서 정책을 선택합니다.

  3. 정책 생성을 선택합니다.

  4. JSON탭을 선택하고 다음 JSON 정책 문서의 텍스트를 복사합니다. 그런 다음 JSON텍스트 상자에 붙여넣습니다.

    참고

    지역 및 리소스를 ARN 실제 지역 및 ARN 이전에 만든 비밀번호로 바꿔야 합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource": [ "arn:aws:secretsmanager:us-east-1:xxxxxxxxx:secret:aws/directory-services/d-xxxxxxxxx/seamless-domain-join" ] } ] }
  5. 마쳤으면 [Next]를 선택합니다. 정책 검사기가 모든 구문 오류를 보고합니다. 자세한 내용은 IAM정책 검증을 참조하십시오.

  6. Review policy(정책 검토) 페이지에서 SM-Secret-Linux-DJ-d-xxxxxxxxxx-Read와 같은 정책의 이름을 입력합니다. Summary(요약)을 검토하여 정책이 부여하는 권한을 확인합니다. 그런 다음 Create policy(정책 생성)를 선택하여 변경 내용을 저장합니다. 새로운 정책이 관리형 정책 목록에 나타나며 ID 연결 준비가 완료됩니다.

참고

보안 암호당 정책을 하나씩 생성하는 것이 좋습니다. 이렇게 하면 인스턴스가 적절한 보안 암호에만 액세스할 수 있고 인스턴스가 손상될 경우 미치는 영향이 최소화됩니다.

Linux EC2DomainJoin 역할 생성

IAM콘솔을 사용하여 Linux EC2 인스턴스를 도메인 조인하는 데 사용할 역할을 생성합니다.

Linux EC2DomainJoin 역할을 만들려면
  1. IAM정책을 만들 권한이 있는 AWS Management Console 사용자로 에 로그인합니다. 그런 다음 에서 IAM 콘솔을 엽니다 https://console.aws.amazon.com/iam/.

  2. 탐색 창의 액세스 관리에서 역할을 선택합니다.

  3. 콘텐츠 창에서 Create role(역할 생성)을 선택합니다.

  4. 신뢰할 수 있는 엔티티 유형 선택 아래에서 AWS 서비스를 선택합니다.

  5. 사용 사례에서 EC2을 선택하고 다음을 선택합니다.

    IAM콘솔의 신뢰할 수 있는 엔티티 선택 페이지에서 AWS 서비스 및 EC2 가 선택되었습니다.
  6. Filter policies(필터 정책)의 경우 다음을 수행합니다.

    1. AmazonSSMManagedInstanceCore을 입력합니다. 그런 다음 목록에서 해당 항목의 확인란을 선택합니다.

    2. AmazonSSMDirectoryServiceAccess을 입력합니다. 그런 다음 목록에서 해당 항목의 확인란을 선택합니다.

    3. SM-Secret-Linux-DJ-d-xxxxxxxxxx-Read(또는 이전 절차에서 생성한 IAM 정책의 이름)을(를) 입력합니다. 그런 다음 목록에서 해당 항목의 확인란을 선택합니다.

    4. 위에 나열된 세 가지 정책을 추가한 후 역할 생성을 선택합니다.

    참고

    A는 인스턴스를 Active Directory 관리자에 조인할 수 있는 권한을 mazonSSMDirectory ServiceAccess 제공합니다 AWS Directory Service. A는 AWS Systems Manager 서비스를 사용하는 데 필요한 최소 권한을 mazonSSMManaged InstanceCore 제공합니다. 이러한 권한이 있는 역할을 생성하는 방법에 대한 자세한 내용과 역할에 할당할 수 있는 기타 권한 및 정책에 대한 자세한 내용은 사용 AWS Systems Manager 설명서의 Systems Manager용 IAM 인스턴스 프로필 만들기를 참조하십시오. IAM

  7. 새 역할의 이름 (예: 역할 이름) LinuxEC2DomainJoin 또는 원하는 다른 이름을 역할 이름 필드에 입력합니다.

  8. (선택 사항)역할 설명에 설명을 입력합니다.

  9. (선택 사항) 3단계: 태그를 추가할 태그 추가에서 새 태그 추가를 선택합니다. 태그 키-값 쌍은 이 역할에 대한 액세스를 구성, 추적 또는 제어하는 데 사용됩니다.

  10. 역할 생성을 선택합니다.

Linux 인스턴스에 원활하게 가입하세요.

Linux 인스턴스에 원활하게 연결하려면
  1. 에서 Amazon EC2 콘솔에 AWS Management Console 로그인하고 엽니다 https://console.aws.amazon.com/ec2/.

  2. 탐색 표시줄의 지역 선택기에서 기존 디렉토리와 AWS 리전 동일한 디렉토리를 선택합니다.

  3. EC2대시보드의 시작 인스턴스 섹션에서 인스턴스 시작을 선택합니다.

  4. 인스턴스 시작 페이지의 이름 및 태그 섹션에서 Linux EC2 인스턴스에 사용할 이름을 입력합니다.

  5. (선택 사항) 추가 태그를 선택하여 하나 이상의 태그 키-값 쌍을 추가하여 이 EC2 인스턴스에 대한 액세스를 구성, 추적 또는 제어할 수 있습니다.

  6. 애플리케이션 및 OS 이미지 (Amazon 머신 이미지) 섹션에서 AMI 시작하려는 Linux를 선택합니다.

    참고

    사용자는 AWS Systems Manager (SSM에이전트) 버전 2.3.1644.0 이상이어야 합니다. AMI 인스턴스를 AMI 실행하여 설치된 SSM 에이전트 버전을 확인하려면 현재 설치된 에이전트 버전 가져오기를 참조하십시오. AMI SSM SSM에이전트를 업그레이드해야 하는 경우 Linux용 EC2 인스턴스에 SSM 에이전트 설치 및 구성을 참조하십시오.

    SSMLinux 인스턴스를 Active Directory 도메인에 가입시킬 때 aws:domainJoin 플러그인을 사용합니다. 플러그인은 Linux 인스턴스의 호스트 이름을 다음과 같은 형식으로 EC2AMAZ 변경합니다.XXXXXXX. 에 대한 aws:domainJoin 자세한 내용은 AWS Systems Manager 사용 설명서의 AWS Systems Manager 명령 문서 플러그인 참조를 참조하십시오.

  7. 인스턴스 유형 섹션의 인스턴스 유형 드롭다운 목록에서 사용하려는 인스턴스 유형을 선택합니다.

  8. 키 페어(로그인) 섹션에서 새 키 페어 생성을 선택하거나 기존 키 페어에서 선택할 수 있습니다. 새로운 키 페어를 생성하려면 새 키 페어 생성을 선택합니다. 키 페어의 이름을 입력하고 키 페어 유형프라이빗 키 파일 형식에 대한 옵션을 선택합니다. SSHOpen과 함께 사용할 수 있는 형식으로 개인 키를 저장하려면.pem을 선택합니다. TTYPu에서 사용할 수 있는 형식으로 개인 키를 저장하려면.ppk를 선택합니다. Create key pair(키 페어 생성)를 선택합니다. 브라우저에서 프라이빗 키 파일이 자동으로 다운로드됩니다. 안전한 장소에 프라이빗 키 파일을 저장합니다.

    중요

    이때가 사용자가 프라이빗 키 파일을 저장할 수 있는 유일한 기회입니다.

  9. 인스턴스 시작 페이지의 네트워크 설정 섹션에서 편집을 선택합니다. VPC- 필수 드롭다운 목록에서 디렉토리를 생성할 때 사용한 디렉토리를 선택합니다. VPC

  10. 서브넷 드롭다운 목록에서 퍼블릭 서브넷 중 하나를 선택합니다. VPC 선택한 서브넷에서는 인터넷 게이트웨이로 모든 외부 트래픽이 라우팅되어야 합니다. 그렇지 않으면 인스턴스를 원격으로 연결할 수 없게 됩니다.

    인터넷 게이트웨이에 연결하는 방법에 대한 자세한 내용은 Amazon VPC User Guide의 인터넷 게이트웨이를 사용한 인터넷 연결을 참조하십시오.

  11. Auto-assign Public IP(퍼블릭 IP 자동 할당)에서 Enable(활성화)을 선택합니다.

    퍼블릭 및 프라이빗 IP 주소 지정에 대한 자세한 내용은 Amazon EC2사용 설명서의 Amazon EC2 인스턴스 IP 주소 지정을 참조하십시오.

  12. 방화벽(보안 그룹) 설정의 경우 기본 설정을 사용하거나 필요에 맞게 변경할 수 있습니다.

  13. 스토리지 구성 설정의 경우 기본 설정을 사용하거나 필요에 맞게 변경할 수 있습니다.

  14. 고급 세부 정보 섹션을 선택하고 도메인 조인 디렉터리 드롭다운 목록에서 도메인을 선택합니다.

    참고

    도메인 조인 디렉터리를 선택하면 다음이 표시될 수 있습니다.

    도메인 조인 디렉터리를 선택할 때 오류 메시지가 표시됩니다. 기존 SSM 문서에 오류가 있습니다.

    이 오류는 EC2 시작 마법사가 예상치 못한 속성을 가진 기존 SSM 문서를 식별할 때 발생합니다. 다음 중 하나를 수행할 수 있습니다.

    • 이전에 SSM 문서를 편집했는데 속성이 예상된 경우 [닫기] 를 선택하고 변경 없이 EC2 인스턴스를 계속 시작하십시오.

    • 문서를 삭제하려면 여기에서 기존 SSM 문서 삭제 링크를 선택합니다. SSM 이렇게 하면 올바른 속성을 가진 SSM 문서를 만들 수 있습니다. EC2인스턴스를 시작하면 SSM 문서가 자동으로 생성됩니다.

  15. IAM인스턴스 프로필의 경우 사전 요구 사항 섹션 2단계: Linux IAM EC2DomainJoin 역할 생성에서 이전에 생성한 역할을 선택합니다.

  16. 인스턴스 시작을 선택합니다.

참고

SUSELinux에서 원활한 도메인 가입을 수행하는 경우 인증이 작동하려면 재부팅해야 합니다. Linux SUSE 터미널에서 재부팅하려면 sudo reboot 를 입력합니다.