기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Security Hub와 통합되도록 Microsoft Azure 구성
사전 필수 작업을 완료한 후 AWS Security Hub와의 통합을 지원하도록 Microsoft Azure 환경을 구성할 수 있습니다. 이를 위해 Security Hub 콘솔은 구성에 맞게 사용자 지정된 설정 스크립트를 생성합니다.
설정 스크립트를 생성하려면
-
AWS Security Hub 콘솔을 여시겠습니까? https://console.aws.amazon.com/securityhub/advanced/homeregion=us-east-1.
-
탐색 창에서 통합을 선택합니다.
-
Azure 커넥터 생성을 선택합니다.
-
커넥터 구성(테넌트 ID, 범위 및 이름)을 완료한 다음 생성된 설정 스크립트를 복사합니다.
스크립트를 실행하려면 Azure CLI를 사용하고 글로벌 관리자 계정()으로 인증합니다az login.
스크립트를 실행하면 일련의 작업이 수행됩니다. 다음 섹션에서는 스크립트가 수행하는 각 작업에 대해 설명합니다. 조직에서 스크립트 실행을 제한하는 경우이 주제를 지침으로 사용하여 이러한 작업을 수동으로 수행할 수 있습니다. Azure 환경을 구성한 후 Azure와 통합하도록 Security Hub를 구성할 수 있습니다.
1~7단계는 애플리케이션 등록, 페더레이션 자격 증명, Azure 역할 할당, Microsoft Graph 권한, Event Hub 및 로그 내보내기 등 모든 Security Hub 기능이 사용하는 공유 기반을 구성합니다. 8~10단계는 특정 기능에 대한 추가 Azure 리소스를 구성합니다.
-
취약성 관리(Amazon Inspector) - Azure VMs에서 Azure 컨테이너 레지스트리(ACR) 리포지토리 이벤트 내보내기 및 시스템 할당 관리형 ID를 구성합니다.
-
위협 탐지(클라우드용 Microsoft Defender) - 보안 알림을 Event Hub로 지속적으로 내보내도록 클라우드용 Microsoft Defender를 구성합니다.
참고
단일 Azure 앱 등록은 AWS 보안 서비스 간에 공유됩니다. 또한 Security Hub CSPM 또는 Azure용 Amazon Inspector를 사용하는 경우 동일한 앱 등록을 사용합니다. 각 AWS 서비스에 대해 별도의 등록을 생성할 필요는 없습니다.
작업
1단계: Azure 애플리케이션 등록
Microsoft Entra ID에 새 애플리케이션을 등록합니다. 이 애플리케이션은가 연합 자격 증명을 사용하여 Azure 환경에 인증하는 데 AWS 사용하는 자격 증명 역할을 합니다. 클라이언트 보안 암호는 필요하지 않습니다.
$az ad app create --display-name "AWSSecurityHubIntegration"
출력의 애플리케이션(클라이언트) ID(appId속성)를 기록해 둡니다. Security Hub 콘솔에서 커넥터를 생성할 때이 값을 제공합니다.
2단계: 서비스 보안 주체 생성
등록된 애플리케이션에 대한 서비스 보안 주체를 생성합니다. Azure 역할 할당을 사용하여 서비스 보안 주체에 권한을 부여합니다. 서비스 보안 주체는 Azure 환경에서 작업을 수행합니다.
$az ad sp create --idapplication-client-id
여기서 application-client-id는 이전 단계의 애플리케이션(클라이언트) ID입니다.
등록 시 애플리케이션 ID URI를 로 설정합니다api://.는 페더레이션 토큰을 애플리케이션과 교환하려면이 식별자가 AWS 필요합니다. 이 URI가 없으면가 유효한 페더레이션 토큰 대상을 생성할 AWS 수 없으며 모든 기능이 Azure에 인증하지 못합니다.application-client-id
$az ad app update \ --idapplication-client-id\ --identifier-uris "api://application-client-id"
3단계: 페더레이션 자격 증명 구성
가 클라이언트 보안 암호 없이 인증할 AWS 수 있도록 애플리케이션에서 페더레이션 자격 증명을 구성합니다. 이렇게 하면 AWS 와 Azure 간에 OIDC 신뢰가 설정됩니다. 수명이 긴 보안 암호 또는 자격 증명은 저장되지 않습니다.
Security Hub Azure 통합은 리소스 구성 검색, 취약성 관리 및 위협 탐지 기능당 하나의 AWS IAM 역할을 사용하여 인증합니다. 모든 기능이 Azure에 인증할 수 있도록 각 역할에 페더레이션 자격 증명을 추가합니다. AWS 는 커넥터를 생성할 때 서비스 연결 역할을 자동으로 생성합니다. VM 스캔에 Inspector2SSMFederationRole 사용되는는 서비스 연결 역할이 아닙니다. 9단계에 설명된 Amazon Inspector VM 스캔 설정의 일부로 생성합니다.
| 기능 | 제목(IAM 역할 ARN) |
|---|---|
| 리소스 구성 검색(AWS Config) | arn:aws:iam:: |
| 취약성 관리(조사자) | arn:aws:iam:: |
| 취약성 관리 - VM 스캔(Amazon EC2 Systems Manager) | arn:aws:iam:: |
| 위협 탐지(Security Hub) | arn:aws:iam:: |
위 표의 각 제목에 대해 다음 명령을 한 번 실행하여 매번 name 및 subject 값을 변경합니다. issuer 및 audiences 값은 모든 자격 증명에 대해 동일합니다.
$az ad app federated-credential create \ --idapplication-client-id\ --parameters '{ "name": "credential-name", "issuer": "token-issuer-url", "subject": "service-linked-role-arn", "audiences": ["api://AzureADTokenExchange"], "description": "AWS federation for Security Hub Azure integration" }'
키 값:
-
발급자 - IAM 아웃바운드 자격 증명 연동의 토큰 발급자 URL입니다. 형식에 따릅니다
https://.uuid.tokens.sts.global.api.aws -
제목 - 이전 테이블의 IAM 역할 ARN입니다. Amazon EC2 Systems Manager 역할의
테넌트 ID는 Azure 테넌트 ID입니다. -
대상 -
api://AzureADTokenExchange(워크로드 자격 증명 페더레이션의 표준 값). -
이름 - 애플리케이션 내에서 고유한 모든 이름입니다.
4단계: RBAC 역할 할당
서비스 보안 주체에 다음과 같은 기본 제공 역할을 할당합니다.
-
리더 - Security Hub가 리소스 구성을 검색하고 평가할 수 있도록 모든 Azure 리소스에 대한 읽기 전용 액세스 권한을 부여합니다. 루트 범위(
/)에서이 역할을 할당합니다. -
기여자 - Amazon Inspector가 Azure 가상 머신, 함수 앱 및 컨테이너 이미지의 취약성을 스캔하는 데 필요한 쓰기 액세스 권한을 부여합니다. 테넌트의 모든 구독에 전파되는 테넌트 루트 관리 그룹 범위에이 역할을 할당합니다.
-
Azure Event Hubs 데이터 수신기 -가 Event Hub에서 이벤트를 읽을 수 있도록 허용합니다 AWS . 테넌트 루트 관리 그룹 범위에서이 역할을 할당합니다.
루트 범위에서 리더 할당
테넌트 루트 관리 그룹 범위가 아닌 루트 범위(/)에서 리더 역할을 할당해야 합니다. Security Hub는 테넌트 루트에 범위가 지정된 할당을 포함하여 모든 범위에서 Azure 역할 할당 리소스를 읽습니다. 루트 관리 그룹의 리더 할당은 범위가 인 할당을 다루지 않으므로 /읽기가 실패하고 권한 부여 오류로 인해 커넥터가 성능 저하 상태가 될 수 있습니다.
기고자를 통해 테넌트 전체의 쓰기 액세스 권한 부여
테넌트 루트 관리 그룹 범위의 기여자 역할은 Azure 리소스에 대한 권한이 높은 테넌트 전체 쓰기 액세스 권한을 부여합니다. Amazon Inspector가 컴퓨팅 리소스의 취약성을 스캔할 수 있도록 Security Hub에이 액세스 권한이 필요합니다. 예를 들어 Inspector는 Contributor가 제공하는 가상 머신 실행 명령 권한을 사용합니다. Amazon EC2 Systems Manager Automation을 통해 Inspector는 Azure VMs에서 명령을 실행하여 VM 스캐너 에이전트를 설치하고 운영합니다.
$az role assignment create \ --assigneeapplication-client-id\ --role "Contributor" \ --scope "/providers/Microsoft.Management/managementGroups/tenant-id" $ az role assignment create \ --assigneeapplication-client-id\ --role "Azure Event Hubs Data Receiver" \ --scope "/providers/Microsoft.Management/managementGroups/tenant-id" $ az role assignment create \ --assigneeapplication-client-id\ --role "Reader" \ --scope "/"
루트 범위 할당에는 승격된 액세스가 필요합니다.
루트 범위(/)에서 역할을 할당하려면 승격된 액세스 권한이 필요합니다. 역할 할당에 실패하면 Microsoft Entra ID > 속성에서 Azure 리소스에 대한 액세스 관리가 예로 설정되어 있는지 확인합니다. 그런 다음 로그아웃했다가 다시 로그인하여 토큰을 새로 고칩니다.
임시 루트 고도 제거
Azure 리소스에 대한 액세스 관리를 활성화하면 로그인한 관리자에게 루트 범위(/)의 사용자 액세스 관리자 역할이 부여되며,이 역할은 테넌트의 모든 구독 및 관리 그룹에서 액세스를 관리할 수 있습니다. 온보딩이 완료되면 Azure 리소스에 대한 액세스 관리를 Microsoft Entra ID > 속성에서 아니요로 다시 설정하여이 고도가 활성 상태로 유지되지 않도록 합니다.
5단계: Microsoft Graph API 권한 구성
애플리케이션에 다음 Microsoft Graph API 권한(애플리케이션 유형)을 부여한 다음 관리자 동의를 부여합니다.
-
Application.Read.All -
AuditLog.Read.All -
DelegatedPermissionGrant.Read.All -
Device.Read.All -
Group.Read.All -
GroupMember.Read.All -
GroupSettings.Read.All -
Organization.Read.All -
Policy.Read.All -
RoleManagement.Read.Directory -
User.Read.All -
UserAuthenticationMethod.Read.All
$az ad app permission admin-consent --idapplication-client-id
6단계: Azure Event Hub 설정
AWS Config 는 Azure Event Hub를 사용하여 Azure 환경의 리소스 구성 변경 사항에 대한 알림을 거의 실시간으로 수신합니다. 설정 스크립트는 Event Hub 인프라를 생성하고 검색을 위해 태그를 지정합니다. Event Hub 검색은 태그 기반 확인을 사용합니다. Security Hub는 형식의 Event Hub 네임스페이스에서 태그를 찾아 통합AWSConfig-에 적합한 Event Hub 인스턴스를 식별합니다.account-id-region
$az group create \ --name "aws-securityhub-integration" \ --locationevent-hub-region$ az eventhubs namespace create \ --resource-group "aws-securityhub-integration" \ --name "aws-securityhub-account-id" \ --locationevent-hub-region\ --sku Standard $ az eventhubs eventhub create \ --resource-group "aws-securityhub-integration" \ --namespace-name "aws-securityhub-account-id" \ --name "activitylog" \ --message-retention 3 \ --partition-count 4 $ az eventhubs eventhub consumer-group create \ --resource-group "aws-securityhub-integration" \ --namespace-name "aws-securityhub-account-id" \ --eventhub-name "activitylog" \ --name "AWSConfig"
Event Hub를 생성한 후 검색할 네임스페이스에 태그를 지정하고 데이터 수신자 역할을 할당합니다. 네임스페이스에 다른 태그(예: 10단계의 위협 탐지 검색 태그)를 보존--operation merge하려면 az tag update와 함께를 사용합니다.
$az tag update \ --resource-idnamespace-resource-id\ --operation merge \ --tags "AWSConfig-account-id-region=activitylog" $ az role assignment create \ --assigneeapplication-client-id\ --role "Azure Event Hubs Data Receiver" \ --scopenamespace-resource-id
참고
태그 형식에서 AWSConfig- account-id-regionaccount-id는 12자리 AWS 계정 ID이고 region은 커넥터를 생성하는 AWS 리전 입니다(예: us-east-1). 이러한 값은이 Event Hub 통합을 소유한 AWS 계정 및 리전을 식별합니다.
주요 구성:
-
네임스페이스 SKU - 표준(소비자 그룹에 필요).
-
Event Hub 이름 -
activitylog. -
소비자 그룹 -
AWSConfig. -
태그 -
AWSConfig-값이 있는 입니다account-id-regionactivitylog. 이 태그를 사용하면 AWS Config 가 Event Hub를 자동으로 검색할 수 있습니다. -
역할 할당 - 네임스페이스의 Azure Event Hubs 데이터 수신기입니다.
위협 탐지를 위해 설정은 AWSSecurityHub 소비자 그룹과 함께 별도의 defender-alerts Event Hub를 생성하고 Security Hub가 직접 읽AWSSecurityHub-는 허브를 식별하는 형식으로 두 번째 검색 태그를 추가합니다. 자세한 내용은 10단계를 참조하세요.account-id-region
7단계: 활동 로그 및 Entra ID 감사 로그 내보내기 구성
활동 로그와 Microsoft Entra ID 로그를 Event Hub로 내보내도록 Azure를 구성합니다.
활동 로그 내보내기:
각 구독에 대한 진단 설정을 구성하여 활동 로그를 Event Hub로 내보냅니다. 설정 스크립트는 모니터링되는 모든 구독에 대해 이를 자동으로 구성합니다. 활동 로그는 역할 할당 및 리소스 변경을 포함한 구독 수준 활동을 캡처합니다.
Microsoft Entra ID 로그 내보내기:
Microsoft Entra ID에서 진단 설정을 구성하여 로그를 동일한 Event Hub로 내보냅니다. Microsoft Entra ID > 모니터링 > 진단 설정 > 진단 설정 추가로 이동합니다. AuditLogs, SignInLogs 및 NonInteractiveUserSignInLogs를 활성화하고 Event Hub로 라우팅합니다.
8단계: Azure 컨테이너 레지스트리 내보내기 구성
Security Hub는 Amazon Inspector를 통해 Azure 컨테이너 레지스트리(ACR) 컨테이너 이미지의 취약성을 스캔합니다. 이를 위해 Inspector는 레지스트리와 동일한 Azure 리전의 Event Hub로 내보낸 ACR 리포지토리 이벤트가 필요합니다. ACR 내보내기 설정은 Amazon Inspector 사용 설명서의 Microsoft Azure와 통합하도록 Amazon Inspector 구성을 참조하세요.
9단계: Azure VMs에서 관리형 자격 증명 활성화
Security Hub는 Inspector를 통해 Azure 가상 머신을 스캔합니다. 각 대상 Azure VM에는 시스템에서 할당한 관리형 ID가 활성화되어 있어야 합니다. VMs 자동으로 추가하려면 테넌트 루트 관리 그룹 범위에서 modify 효과를 사용하는 두 개의 Azure 정책을 할당합니다.
-
자격 증명이 없는 VM의 경우 정책은 시스템에서 할당한 관리형 자격 증명을 추가합니다.
-
사용자 할당 자격 증명만 있는 VM의 경우 정책은 기존 사용자 할당 자격 증명을 유지하면서 시스템 할당 관리형 자격 증명을 추가합니다.
이미 시스템에 할당된 관리형 ID가 있는 VM은 변경되지 않습니다. 정책은 modify 효과를 사용하므로 VM을 재배포하지 않고 자격 증명을 제자리에 조정합니다.
Inspector는 Amazon EC2 Systems Manager Automation을 사용하여 Azure VM에서 Inspector VM 스캐너 에이전트를 배포하고 관리합니다 VMs. 이를 위해서는 Microsoft Entra ID용 IAM OIDC 자격 증명 공급자와 여러 IAM 역할을 포함한 추가 AWS측 설정이 필요합니다. 전체 VM 스캔 설정은 Amazon Inspector 사용 설명서의 Microsoft Azure와 통합하도록 Amazon Inspector 구성을 참조하세요.
10단계: 클라우드 알림을 위해 Microsoft Defender 내보내기
Security Hub는 Microsoft Defender for Cloud 위협 탐지 알림을 수집하여 OCSF(Open Cybersecurity Schema Framework) 형식으로 매핑합니다. 이러한 알림을 전달하려면 전용 defender-alerts Event Hub를 생성하고 클라우드용 Microsoft Defender를 구성하여 보안 알림을 클라우드로 지속적으로 내보냅니다.
6단계의 Event Hub 네임스페이스에서 Event Hub, Security Hub가 읽을 AWSSecurityHub 소비자 그룹, Microsoft Defender for Cloud가 알림을 보내는 데 사용하는 전송 권한이 있는 허브 범위의 공유 액세스 서명(SAS) 권한 부여 규칙을 생성합니다. defender-alerts
$az eventhubs eventhub create \ --resource-group "aws-securityhub-integration" \ --namespace-name "aws-securityhub-account-id" \ --name "defender-alerts" \ --message-retention 3 \ --partition-count 4 $ az eventhubs eventhub consumer-group create \ --resource-group "aws-securityhub-integration" \ --namespace-name "aws-securityhub-account-id" \ --eventhub-name "defender-alerts" \ --name "AWSSecurityHub" $ az eventhubs eventhub authorization-rule create \ --resource-group "aws-securityhub-integration" \ --namespace-name "aws-securityhub-account-id" \ --eventhub-name "defender-alerts" \ --name "DefenderExportSend" \ --rights Send
그런 다음 Security Hub가 defender-alerts 허브를 검색하도록 두 번째 검색 태그를 네임스페이스에 병합합니다. 6단계의 AWSConfig 검색 태그를 보존--operation merge하려면 az tag update와 함께를 사용합니다. 6단계: Azure Event Hub 설정
$az tag update \ --resource-idnamespace-resource-id\ --operation merge \ --tags "AWSSecurityHub-account-id-region=defender-alerts"
마지막으로 보안 알림 데이터 유형을 defender-alerts Event Hub로 클라우드로 지속적으로 내보내도록 Microsoft Defender를 구성합니다. Azure 포털에서 Microsoft Defender for Cloud > 환경 설정으로 이동하여 구독을 선택하고 연속 내보내기 > Event Hub를 선택한 다음 보안 알림을 선택하고 defender-alerts Event Hub 및 DefenderExportSend SAS 규칙을 선택합니다.
참고
포털이 아닌 프로그래밍 방식으로(Azure Resource Manager API, ARM 템플릿 또는 Azure 정책을 통해) 연속 내보내기를 구성하는 경우 DefenderExportSend SAS 연결 문자열을 사용하여 Event Hub로 내보내기를 인증합니다. DefenderExportSend 규칙에 az eventhubs eventhub authorization-rule keys list 대해를 사용하여 검색하고 내보내기 작업의 연결 문자열로 설정합니다. 자세한 내용은 Microsoft Azure 설명서의 지속적 내보내기 설정을
참고
이러한 작업을 완료한 후 구성이 적용될 때까지 약 15~30분 정도 기다립니다. 그런 다음 Security Hub에서 커넥터를 생성하기 전에 Event Hub가 메시지(IncomingMessages 지표)를 수신하고 있는지 확인합니다.