초대를 통한 GuardDuty 계정 관리 - 아마존 GuardDuty

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

초대를 통한 GuardDuty 계정 관리

조직 외부의 계정을 관리하려면 레거시 초대 방법을 사용할 수 있습니다. 이 방법을 사용할 경우, 다른 계정이 멤버 계정 가입 초대를 수락하면 본인의 계정이 관리자 계정으로 지정됩니다.

계정이 관리자 계정이 아닌 경우 다른 계정의 초대를 수락할 수 있습니다. 수락하면 이 계정은 멤버 계정이 됩니다. AWS 계정은 GuardDuty 관리자 계정과 멤버 계정을 동시에 사용할 수 없습니다.

한 계정의 초대를 수락하면 다른 계정의 초대는 수락할 수 없습니다. 다른 계정의 초대를 수락하려면 먼저 기존 관리자 계정에서 계정 연결을 끊어야 합니다. 또는 관리자 계정에서 사용자 계정을 분리하고 조직에서 계정을 제거할 수도 있습니다.

에 설명된 대로 초대를 통해 연결된 계정은 연결된 계정과 동일한 전체 관리자 account-to-member 관계를 갖습니다. AWS Organizations GuardDuty 관리자 계정과 구성원 계정 간의 관계 이해 하지만 초대 관리자 계정 사용자는 연결된 구성원 계정을 GuardDuty 대신하여 활성화하거나 AWS Organizations 조직 내 다른 비구성원 계정을 볼 수 없습니다.

중요

이 방법을 사용하여 구성원 계정을 GuardDuty 생성할 경우 지역 간 데이터 전송이 발생할 수 있습니다. 회원 계정의 이메일 주소를 확인하기 위해 미국 동부 (버지니아 북부) 지역에서만 운영되는 이메일 확인 서비스를 GuardDuty 사용합니다.

초대를 통한 계정 추가 및 관리

액세스 방법 중 하나를 선택하여 계정을 추가하고 GuardDuty 관리자 계정으로 가입할 계정을 GuardDuty 회원 계정으로 초대하십시오.

Console
1단계 - 계정 추가
  1. https://console.aws.amazon.com/guardduty/ 에서 GuardDuty 콘솔을 엽니다.

  2. 탐색 창에서 Accounts(계정)를 선택합니다.

  3. 상단 패널에서 초대 기준으로 계정 추가를 선택합니다.

  4. 구성원 계정 추가 페이지의 계정 세부 정보 입력에 추가하려는 계정과 연결된 AWS 계정 ID와 이메일 주소를 입력합니다.

  5. 다른 행을 추가하여 계정 세부 정보를 한 번에 하나씩 입력하려면 다른 계정 추가를 선택합니다. 계정 세부 정보가 포함된.csv 파일 업로드를 선택하여 계정을 대량으로 추가할 수도 있습니다.

    중요

    .csv 파일의 첫 줄에는 다음 예시에 표시된 것처럼 Account ID,Email 헤더가 포함되어 있어야 합니다. 이어지는 각 줄에는 유효한 AWS 계정 ID 하나와 관련 이메일 주소가 포함되어야 합니다. 행 형식은 AWS 계정 ID가 하나이고 관련 이메일 주소를 쉼표로 구분한 경우에만 유효합니다.

    Account ID,Email 555555555555,user@example.com
  6. 모든 계정 세부 정보를 추가한 후 다음을 선택합니다. 계정 테이블에서 새로 추가된 계정을 볼 수 있습니다. 이러한 계정의 상태초대를 전송하지 않음으로 표시됩니다. 추가된 하나 이상의 계정에 초대를 보내는 방법에 대한 자세한 내용은 Step 2 - Invite an account 섹션을 참조하세요.

2단계 - 계정 초대
  1. https://console.aws.amazon.com/guardduty/ 에서 GuardDuty 콘솔을 엽니다.

  2. 탐색 창에서 Accounts(계정)를 선택합니다.

  3. Amazon에 초대하려는 계정을 하나 이상 선택합니다 GuardDuty.

  4. 작업 드롭다운 메뉴를 선택한 다음 초대를 선택합니다.

  5. 초대 대상 GuardDuty 대화 상자에 초대 메시지 (선택 사항) 를 입력합니다.

    초대된 계정이 이메일에 액세스할 수 없는 경우 초대 대상자의 AWS 계정 계정에 있는 루트 사용자에게 이메일 알림 전송과 초대 대상자의 AWS Health Dashboard에서 알림 생성 확인란을 선택합니다.

  6. [Send invitation]을 선택합니다. 초대받은 사람이 지정된 이메일 주소에 액세스할 수 있는 경우 https://console.aws.amazon.com/guardduty/ GuardDuty 콘솔을 열어 초대를 볼 수 있습니다.

  7. 초대 대상자가 초대를 수락하면 상태 열 값이 초대됨으로 변경됩니다. 초대 수락에 대한 자세한 내용은 Step 3 - Accept an invitation 섹션을 참조하세요.

3단계 - 초대 수락
  1. https://console.aws.amazon.com/guardduty/ 에서 GuardDuty 콘솔을 엽니다.

    중요

    멤버십 초대를 보거나 수락하려면 GuardDuty 먼저 활성화해야 합니다.

  2. GuardDuty 아직 활성화하지 않은 경우에만 다음 단계를 수행하십시오. 그렇지 않으면 이 단계를 건너뛰고 다음 단계를 계속할 수 있습니다.

    아직 GuardDuty 활성화하지 않은 경우 Amazon GuardDuty 페이지에서 시작하기를 선택하십시오.

    시작 GuardDuty 페이지에서 활성화를 선택합니다 GuardDuty.

  3. 계정을 GuardDuty 활성화한 후 다음 단계에 따라 멤버십 초대를 수락하십시오.

    1. 탐색 창에서 설정을 선택합니다.

    2. 계정을 선택합니다.

    3. 계정에서 초대를 수락한 계정의 소유자를 확인해야 합니다. 수락을 켜서 멤버십 초대를 수락합니다.

  4. 초대를 수락하면 계정이 GuardDuty 회원 계정이 됩니다. 소유자가 초대를 보낸 계정이 GuardDuty 관리자 계정이 됩니다. 관리자 계정은 초대를 수락했음을 알 수 있습니다. 해당 계정의 계정 테이블이 업데이트됩니다. GuardDuty 회원 계정 ID에 해당하는 상태 열의 값이 활성화됨으로 변경됩니다. 이제 관리자 계정 소유자는 계정을 GuardDuty 대신하여 보호 계획 구성을 보고 관리할 수 있습니다. 또한 관리자 계정은 구성원 계정에 대해 생성된 GuardDuty 결과를 보고 관리할 수 있습니다.

API/CLI

GuardDuty 관리자 계정을 지정하고 API 작업을 통해 초대를 통해 GuardDuty 구성원 계정을 만들거나 추가할 수 있습니다. 에서 관리자 계정과 멤버 계정을 지정하려면 다음 GuardDuty API 작업을 실행합니다. GuardDuty

GuardDuty 관리자 계정으로 지정하려는 사용자의 자격 증명을 사용하여 다음 절차를 완료하십시오. AWS 계정

멤버 계정 생성 또는 추가
  1. GuardDuty 활성화한 AWS 계정의 자격 증명을 사용하여 CreateMembersAPI 작업을 실행합니다. 이 계정은 관리자 계정 계정으로 사용하려는 GuardDuty 계정입니다.

    현재 AWS 계정의 탐지기 ID와 GuardDuty 회원이 되려는 계정의 계정 ID 및 이메일 주소를 지정해야 합니다. 이 API 작업을 이용해 한 명 이상의 멤버를 만들 수 있습니다.

    AWS 명령줄 도구를 사용하여 다음 CLI 명령을 실행하여 관리자 계정을 지정할 수도 있습니다. 유효한 감지기 ID, 계정 ID 및 이메일을 사용해야 합니다.

    계정 및 현재 지역의 계정을 detectorId 찾으려면 https://console.aws.amazon.com/guardduty/ 콘솔의 설정 페이지를 참조하십시오.

    aws guardduty create-members --detector-id 12abc34d567e8fa901bc2d34e56789f0 --account-details AccountId=111122223333,Email=guardduty-member@organization.com
  2. InviteMembers GuardDuty 활성화한 AWS 계정의 자격 증명을 사용하여 실행하십시오. 이 계정은 관리자 계정 계정으로 사용하려는 GuardDuty 계정입니다.

    현재 AWS 계정의 탐지기 ID와 GuardDuty 구성원이 되려는 계정의 계정 ID를 지정해야 합니다. 이 API 작업을 이용해 한 명 이상의 멤버를 초대할 수 있습니다.

    참고

    message 요청 파라미터를 사용하여 초대 메시지를 지정할 수도 있습니다.

    다음 명령을 AWS Command Line Interface 실행하여 멤버 계정을 지정하는 데 사용할 수도 있습니다. 초대하려는 계정에 대해 본인의 유효한 감지기 ID 및 유효한 계정 ID를 사용해야 합니다.

    계정과 현재 지역에 detectorId 맞는 계정을 찾으려면 https://console.aws.amazon.com/guardduty/ 콘솔의 설정 페이지를 참조하십시오.

    aws guardduty invite-members --detector-id 12abc34d567e8fa901bc2d34e56789f0 --account-ids 111122223333
초대 수락

GuardDuty 회원 계정으로 지정하려는 각 AWS 계정의 자격 증명을 사용하여 다음 절차를 완료하십시오.

  1. GuardDuty 구성원 AWS 계정으로 초대되었고 초대를 수락하려는 각 계정에 대해 CreateDetectorAPI 작업을 실행합니다.

    GuardDuty서비스를 사용하여 탐지기 리소스를 활성화할지 여부를 지정해야 합니다. 작동하려면 탐지기를 만들고 활성화해야 합니다. GuardDuty 초대를 수락하려면 GuardDuty 먼저 활성화해야 합니다.

    다음 CLI AWS 명령을 사용하여 명령줄 도구를 사용하여 이 작업을 수행할 수도 있습니다.

    aws guardduty create-detector --enable
  2. 멤버십 초대를 수락하려는 각 AWS 계정에 대해 해당 계정의 자격 증명을 사용하여 AcceptAdministratorInvitationAPI 작업을 실행합니다.

    멤버 AWS 계정의 이 계정의 감지기 ID, 초대를 보낸 관리자 계정의 계정 ID, 수락하려는 초대의 초대 ID를 지정해야 합니다. 관리자 계정의 계정 ID는 초대 이메일에서 확인하거나 API의 ListInvitations 작업을 사용하여 찾을 수 있습니다.

    AWS 명령줄 도구를 사용하여 다음 CLI 명령을 실행하여 초대를 수락할 수도 있습니다. 유효한 탐지기 ID, 관리자 계정 ID 및 초대 ID를 사용해야 합니다.

    계정과 현재 지역의 계정을 찾으려면 https://console.aws.amazon.com/guardduty/ 콘솔의 설정 페이지를 참조하십시오. detectorId

    aws guardduty accept-invitation --detector-id 12abc34d567e8fa901bc2d34e56789f0 --administrator-id 444455556666 --invitation-id 84b097800250d17d1872b34c4daadcf5

GuardDuty 관리자 계정을 단일 조직 위임 GuardDuty 관리자 계정으로 통합

GuardDuty 연결을 통해 위임된 GuardDuty 관리자 계정으로 구성원 계정을 관리할 AWS Organizations 것을 권장합니다. 아래에 설명된 예제 프로세스를 사용하여 관리자 계정과 조직의 초대를 통해 연결된 구성원을 하나의 GuardDuty GuardDuty 위임된 관리자 계정으로 통합할 수 있습니다.

참고

위임된 관리자 계정으로 이미 관리하고 있는 계정이나 위임된 GuardDuty 관리자 계정과 연결된 활성 구성원 계정을 다른 위임된 GuardDuty 관리자 계정에 추가할 수 없습니다. GuardDuty 각 조직은 지역당 하나의 위임된 GuardDuty 관리자 계정만 가질 수 있으며, 각 구성원 계정에는 위임된 관리자 계정을 하나만 가질 수 있습니다. GuardDuty

접근 방법 중 하나를 선택하여 GuardDuty 관리자 계정을 단일 GuardDuty 위임된 관리자 계정으로 통합하십시오.

Console
  1. https://console.aws.amazon.com/guardduty/ 에서 GuardDuty 콘솔을 엽니다.

    로그인하려면 조직의 관리 계정 보안 인증 정보를 사용합니다.

  2. 관리하려는 모든 계정은 조직의 GuardDuty 일부여야 합니다. 조직에 계정을 추가하는 방법에 대한 자세한 내용은 조직에 AWS 계정 가입하도록 초대하기를 참조하십시오.

  3. 모든 구성원 계정이 단일 위임 GuardDuty 관리자 계정으로 지정하려는 계정과 연결되어 있는지 확인하십시오. 기존 관리자 계정과 아직 연결되어 있는 모든 멤버 계정의 연결을 해제합니다.

    다음 단계는 기존 관리자 계정에서 회원 계정을 분리하는 데 도움이 됩니다.

    1. https://console.aws.amazon.com/guardduty/ 에서 GuardDuty 콘솔을 엽니다.

    2. 로그인하려면 기존 관리자 계정의 보안 인증 정보를 사용합니다.

    3. 탐색 창에서 Accounts(계정)를 선택합니다.

    4. 계정 페이지에서 관리자 계정과 연결을 해제할 계정을 하나 이상 선택합니다.

    5. 작업을 선택한 다음 계정 연결 해제를 선택합니다.

    6. 확인 선택하여 단계를 완료합니다.

  4. https://console.aws.amazon.com/guardduty/ 에서 GuardDuty 콘솔을 엽니다.

    로그인하려면 관리 계정 보안 인증 정보를 사용합니다.

  5. 탐색 창에서 설정을 선택합니다. 설정 페이지에서 조직의 위임된 GuardDuty 관리자 계정을 지정합니다.

  6. 지정된 위임된 GuardDuty 관리자 계정으로 로그인합니다.

  7. 조직에서 멤버를 추가합니다. 자세한 정보는 를 통한 GuardDuty 계정 관리 AWS Organizations을 참조하세요.

API/CLI
  1. 관리하려는 모든 계정은 조직의 GuardDuty 일부여야 합니다. 조직에 계정을 추가하는 방법에 대한 자세한 내용은 조직에 AWS 계정 가입하도록 초대하기를 참조하십시오.

  2. 모든 구성원 계정이 단일 위임 GuardDuty 관리자 계정으로 지정하려는 계정과 연결되어 있는지 확인하십시오.

    1. 기존 관리자 계정과 아직 연결되어 있는 모든 구성원 계정의 연결을 DisassociateMembers끊으려면 실행하십시오.

    2. 또는 다음 명령을 AWS Command Line Interface 실행하여 777777777777을 구성원 계정 연결을 끊으려는 기존 관리자 계정의 탐지기 ID로 바꿀 수 있습니다. 666666666666을 연결 해제하려는 멤버 계정의 AWS 계정 ID로 바꿉니다.

      aws guardduty disassociate-members --detector-id 777777777777 --account-ids 666666666666
  3. EnableOrganizationAdminAccount실행하여 위임된 관리자 계정으로 를 위임합니다. AWS 계정 GuardDuty

    또는 다음 명령을 AWS Command Line Interface 실행하여 위임된 관리자 계정을 위임할 수 있습니다. GuardDuty

    aws guardduty enable-organization-admin-account --admin-account-id 777777777777
  4. 조직에서 멤버를 추가합니다. 자세한 정보는 Create or add member member accounts using API을 참조하세요.

중요

지역 서비스의 GuardDuty 효율성을 극대화하려면 위임된 GuardDuty 관리자 계정을 지정하고 모든 지역에 모든 구성원 계정을 추가하는 것이 좋습니다.

여러 GuardDuty 계정에서 동시에 활성화할 수 있습니다.

다음 방법을 사용하여 여러 GuardDuty 계정에서 동시에 활성화할 수 있습니다.

Python 스크립트를 사용하여 여러 GuardDuty 계정에서 동시에 활성화하세요

Amazon GuardDuty 다중 계정 스크립트의 샘플 리포지토리에 GuardDuty 있는 스크립트를 사용하여 여러 계정의 활성화 또는 비활성화를 자동화할 수 있습니다. 이 섹션의 프로세스를 사용하여 Amazon EC2를 사용하는 회원 계정 목록을 활성화할 수 GuardDuty 있습니다. 비활성화 스크립트를 사용하거나 로컬에서 스크립트를 설정하는 방법에 대한 자세한 내용은 공유 링크의 지침을 참조하십시오.

enableguardduty.py스크립트는 관리자 계정에서 초대를 활성화하고 GuardDuty, 초대를 보내고, 모든 구성원 계정에서 초대를 수락합니다. 그 결과 모든 구성원 GuardDuty 계정에 대한 모든 보안 탐지 결과를 포함하는 관리자 계정이 생성됩니다. 지역별로 GuardDuty 분리되어 있기 때문에 각 구성원 계정의 검색 결과는 관리자 계정의 해당 지역으로 롤업됩니다. 예를 들어 GuardDuty 관리자 계정의 us-east-1 지역에는 모든 관련 구성원 계정의 모든 us-east-1 검색 결과에 대한 보안 조사 결과가 포함됩니다.

이러한 스크립트는 AWS 관리형 정책: AmazonGuardDutyFullAccess 관리형 정책이 포함된 공유 IAM 역할에 종속되어 있습니다. 이 정책은 엔티티가 관리자 계정 GuardDuty 및 활성화하려는 각 계정에 대한 액세스 권한을 제공하며 해당 계정에 존재해야 합니다. GuardDuty

다음 프로세스는 기본적으로 사용 가능한 모든 GuardDuty 지역에서 활성화됩니다. 선택적 --enabled_regions 인수를 사용하고 쉼표로 구분된 지역 목록을 제공하여 지정된 GuardDuty 지역에서만 활성화할 수 있습니다. 또한 선택적으로 enableguardduty.py를 열고 gd_invite_message 문자열을 편집하여 멤버 계정으로 전송되는 초대 메시지를 사용자 지정할 수 있습니다.

  1. GuardDuty 관리자 계정에서 IAM 역할을 생성하고 활성화할 정책을 연결합니다. AWS 관리형 정책: AmazonGuardDutyFullAccess GuardDuty

  2. GuardDuty 관리자 계정으로 관리하려는 각 구성원 계정에 IAM 역할을 생성합니다. 이 역할은 1단계에서 만든 역할과 이름이 같아야 하고, 관리자 계정을 신뢰할 수 있는 주체로 허용해야 하며, 앞서 설명한 것과 동일한 AmazonGuardDutyFullAccess 관리형 정책을 가져야 합니다.

  3. 인스턴스가 서비스 역할을 수임할 수 있도록 다음과 같은 신뢰 관계를 가지고 있는 연결된 역할로 새 Amazon Linux 인스턴스를 시작합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  4. 새 인스턴스에 로그인하고 다음 명령을 실행하여 설정합니다.

    sudo yum install git python sudo yum install python-pip pip install boto3 aws configure git clone https://github.com/aws-samples/amazon-guardduty-multiaccount-scripts.git cd amazon-guardduty-multiaccount-scripts sudo chmod +x disableguardduty.py enableguardduty.py
  5. 2단계에서 역할을 추가한 멤버 계정의 계정 ID 및 이메일 목록이 포함된 CSV 파일을 만듭니다. 계정은 다음 예시와 같이 한 줄에 하나씩 표시해야 하며, 계정 ID와 이메일 주소는 쉼표로 구분해야 합니다.

    111122223333,guardduty-member@organization.com
    참고

    CSV 파일은 enableguardduty.py 스크립트와 동일한 위치에 있어야 합니다. 다음과 같은 방법을 사용하여 기존 CSV 파일을 Amazon S3에서 현재 디렉터리로 복사할 수 있습니다.

    aws s3 cp s3://my-bucket/my_key_name example.csv
  6. Python 스크립트를 실행합니다. GuardDuty 관리자 계정 ID, 첫 단계에서 만든 역할 이름, CSV 파일 이름을 인수로 제공해야 합니다.

    python enableguardduty.py --master_account 444455556666 --assume_role roleName accountID.csv