사용자 역할 및 권한
클라우드용 Microsoft Defender는 기본 제공 역할을 제공하기 위해 Azure 역할 기반 액세스 제어(Azure 역할 기반 액세스 제어)를 사용합니다. Azure의 사용자, 그룹, 서비스에 이러한 역할을 할당하여 역할에 정의된 액세스 권한에 따라 리소스에 대한 액세스 권한을 사용자에게 부여할 수 있습니다.
클라우드용 Defender는 리소스 구성을 평가하고 보안 문제 및 취약성을 식별합니다. 클라우드용 Defender에서는 리소스가 속한 구독 또는 리소스 그룹에 대해 소유자, 기여자, 또는 읽기 전용 사용자 역할 중 하나가 할당된 경우 해당 리소스에 관련된 정보를 볼 수 있습니다.
기본 제공 역할 외에도 Defender for Cloud와 관련된 두 가지 역할이 있습니다.
- 보안 읽기 권한자: 이 역할에 속한 사용자는 클라우드용 Defender에 대한 읽기 전용 액세스 권한이 있습니다. 권장 사항, 경고, 보안 정책, 보안 상태를 볼 수 있지만 변경할 수는 없습니다.
- 보안 관리자: 이 역할에 속하는 사용자는 보안 읽기 권한자와 동일한 액세스가 있으며 보안 정책을 업데이트하고 경고 및 권장 사항을 해제할 수도 있습니다.
사용자가 작업을 완료하기 위해 필요한 최소 허용 역할을 할당하는 것이 권장됩니다.
예를 들어, 아무 작업도 수행하지 않고 리소스의 보안 상태 정보만 볼 필요가 있는 사용자에게는 읽기 권한자 역할을 할당할 수 있습니다. 읽기 권한자 역할을 가진 사용자는 권장 사항 또는 편집 정책을 적용할 수 있습니다.
역할 및 허용되는 작업
다음 표에는 Defender for Cloud에서 역할과 허용되는 작업이 나와 있습니다.
작업 | 보안 읽기 권한자 판독기 |
보안 관리자 | 기여자 / 소유자 | 기여자 | 담당자 |
---|---|---|---|---|---|
(리소스 그룹 수준) | (구독 수준) | (구독 수준) | |||
이니셔티브 추가/할당(규정 준수 표준 포함) | - | ✔ | - | - | ✔ |
보안 정책 편집 | - | ✔ | - | - | ✔ |
Microsoft Defender 계획 사용/사용 안 함 | - | ✔ | - | ✔ | ✔ |
경고 해제 | - | ✔ | - | ✔ | ✔ |
리소스에 대한 보안 권장 사항 적용 (수정 사용) |
- | - | ✔ | ✔ | ✔ |
경고 및 권장 사항 보기 | ✔ | ✔ | ✔ | ✔ | ✔ |
보안 권장 사항 면제 | - | ✔ | - | - | ✔ |
전자 메일 알림 구성 | - | ✔ | ✔ | ✔ | ✔ |
참고 항목
Defender 계획을 사용하고 사용하지 않도록 설정하는 데는 언급된 세 가지 역할이면 충분하지만, 계획의 모든 기능을 사용하도록 설정하려면 소유자 역할이 필요합니다.
모니터링 구성 요소를 배포하는 데 필요한 특정 역할은 배포 중인 확장에 따라 달라집니다. 구성 요소 모니터링에 대해 자세히 알아봅니다.
에이전트 및 확장을 자동으로 프로비전하는 데 사용되는 역할
보안 관리자 역할이 클라우드용 Defender 플랜에 사용되는 에이전트 및 확장을 자동으로 프로비전할 수 있도록 클라우드용 Defender는 Azure Policy와 유사한 방식으로 정책 수정을 사용합니다. 수정을 사용하려면 클라우드용 Defender가 구독 수준에서 역할을 할당하는 관리 ID라고도 하는 서비스 주체를 만들어야 합니다. 예를 들어 컨테이너용 Defender 플랜의 서비스 주체는 다음과 같습니다.
서비스 주체 | Roles |
---|---|
AKS(Azure Kubernetes Service) 보안 프로필을 프로비저닝하는 컨테이너용 Defender | • Kubernetes Extension Contributor • Contributor • Azure Kubernetes Service Contributor • Log Analytics Contributor |
Arc 지원 Kubernetes를 프로비전하는 컨테이너용 Defender | • Azure Kubernetes Service Contributor • Kubernetes Extension Contributor • Contributor • Log Analytics Contributor |
Kubernetes에 대한 Azure Policy를 프로비전하는 컨테이너용 Defender | • Kubernetes Extension Contributor • Contributor • Azure Kubernetes Service Contributor |
Arc 지원 Kubernetes에 대한 컨테이너용 Defender 프로비전 정책 확장 | • Azure Kubernetes Service Contributor • Kubernetes Extension Contributor • Contributor |
AWS에 대한 권한
AWS(Amazon Web Services) 커넥터를 온보딩하면 클라우드용 Defender는 역할을 생성하며 AWS 계정에 대한 권한을 할당합니다. 다음 표에서는 AWS 계정의 각 플랜에서 할당한 역할 및 권한을 보여 줍니다.
클라우드용 Defender 플랜 | 만든 역할 | AWS 계정에 할당된 권한 |
---|---|---|
Defender CSPM(클라우드 보안 태세 관리) | CspmMonitorAws | AWS 리소스 권한을 검색하려면 다음을 제외한 모든 리소스를 읽습니다. consolidatedbilling: freetier: 청구: 결제: 청구: 세금: cur:* |
Defender CSPM 서버용 Defender |
DefenderForCloud-AgentlessScanner | 디스크 스냅샷을 만들고 정리하려면(태그로 범위 지정) "CreatedBy": "클라우드용 Microsoft Defender" 권한: ec2:DeleteSnapshot ec2:ModifySnapshotAttribute ec2:DeleteTags ec2:CreateTags ec2:CreateSnapshots ec2:CopySnapshot ec2:CreateSnapshot ec2:DescribeSnapshots ec2:DescribeInstanceStatus EncryptionKeyCreation kms:CreateKey에 대한 권한 kms:ListKeys EncryptionKeyManagement kms:TagResource에 대한 권한 kms:GetKeyRotationStatus kms:PutKeyPolicy kms:GetKeyPolicy kms:CreateAlias kms:TagResource kms:ListResourceTags kms:GenerateDataKeyWithoutPlaintext kms:DescribeKey kms:RetireGrant kms:CreateGrant kms:ReEncryptFrom |
Defender CSPM 스토리지용 Defender |
SensitiveDataDiscovery | AWS 계정에서 S3 버킷을 검색할 수 있는 권한, 클라우드용 Defender 스캐너가 S3 버킷의 데이터에 액세스할 수 있는 권한입니다. S3 읽기 전용, KMS는 kms:Decrypt의 암호를 해독합니다. |
CIEM | DefenderForCloud-Ciem DefenderForCloud-OidcCiem |
Ciem 검색에 대한 권한 sts:AssumeRole sts:AssumeRoleWithSAML sts:GetAccessKeyInfo sts:GetCallerIdentity sts:GetFederationToken sts:GetServiceBearerToken sts:GetSessionToken sts:TagSession |
서버용 Defender | DefenderForCloud-DefenderForServers | JIT 네트워크 액세스를 구성할 수 있는 권한: ec2:RevokeSecurityGroupIngress ec2:AuthorizeSecurityGroupIngress ec2:DescribeInstances ec2:DescribeSecurityGroupRules ec2:DescribeVpcs ec2:CreateSecurityGroup ec2:DeleteSecurityGroup ec2:ModifyNetworkInterfaceAttribute ec2:ModifySecurityGroupRules ec2:ModifyInstanceAttribute ec2:DescribeSubnets ec2:DescribeSecurityGroups |
컨테이너용 Defender | DefenderForCloud-Containers-K8s | EKS 클러스터를 나열하고 EKS 클러스터에서 데이터를 수집할 수 있는 권한입니다. eks:UpdateClusterConfig eks:DescribeCluster |
컨테이너용 Defender | DefenderForCloud-DataCollection | 클라우드용 Defender에서 만든 CloudWatch 로그 그룹에 대한 권한 “logs:PutSubscriptionFilter logs:DescribeSubscriptionFilters logs:DescribeLogGroups autp logs:PutRetentionPolicy 클라우드용 Defender에서 만든 SQS 큐를 사용할 수 있는 권한 sqs:ReceiveMessage sqs:DeleteMessage |
컨테이너용 Defender | DefenderForCloud-Containers-K8s-cloudwatch-to-kinesis | 클라우드용 Defender에서 만든 Kinesis Data Firehose 배달 스트림에 액세스할 수 있는 권한 firehose:* |
컨테이너용 Defender | DefenderForCloud-Containers-K8s-kinesis-to-s3 | 클라우드용 Defender에서 만든 S3 버킷에 액세스할 수 있는 권한 s3:GetObject s3:GetBucketLocation s3:AbortMultipartUpload s3:GetBucketLocation s3:GetObject s3:ListBucket s3:ListBucketMultipartUploads s3:PutObject |
컨테이너용 Defender Defender CSPM |
MDCContainersAgentlessDiscoveryK8sRole | EKS 클러스터에서 데이터를 수집할 수 있는 권한입니다. IP 제한을 지원하고 EKS 클러스터에 대한 iamidentitymapping을 만들도록 EKS 클러스터 업데이트 "eks:DescribeCluster" "eks:UpdateClusterConfig*" |
컨테이너용 Defender Defender CSPM |
MDCContainersImageAssessmentRole | ECR 및 ECR 퍼블릭에서 이미지를 검사할 수 있는 권한입니다. AmazonEC2ContainerRegistryReadOnly AmazonElasticContainerRegistryPublicReadOnly AmazonEC2ContainerRegistryPowerUser AmazonElasticContainerRegistryPublicPowerUser |
서버용 Defender | DefenderForCloud-ArcAutoProvisioning | SSM을 사용하여 모든 EC2 인스턴스에 Azure Arc를 설치할 수 있는 권한 ssm:CancelCommand ssm:DescribeInstanceInformation ssm:GetCommandInvocation ssm:UpdateServiceSetting ssm:GetServiceSetting ssm:GetAutomationExecution ec2:DescribeIamInstanceProfileAssociations ec2:DisassociateIamInstanceProfile ec2:DescribeInstances ssm:StartAutomationExecution iam:GetInstanceProfile iam:ListInstanceProfilesForRole ssm:GetAutomationExecution ec2:DescribeIamInstanceProfileAssociations ec2:DisassociateIamInstanceProfile ec2:DescribeInstances ssm:StartAutomationExecution iam:GetInstanceProfile iam:ListInstanceProfilesForRole |
Defender CSPM | DefenderForCloud-DataSecurityPostureDB | AWS 계정에서 RDS 인스턴스를 검색하고 RDS 인스턴스 스냅샷을 만들 수 있는 권한, - 모든 RDS DB/클러스터 나열 - 모든 DB/클러스터 스냅샷 나열 - 모든 DB/클러스터 스냅샷 복사 - 접두사 defenderfordatabases를 사용하여 DB/클러스터 스냅샷 삭제/업데이트 - 모든 KMS 키 나열 - 원본 계정의 RDS에만 모든 KMS 키 사용 - 태그 접두사 DefenderForDatabases를 사용하여 KMS 키 나열 - KMS 키 별칭 만들기 RDS 인스턴스를 검색하는 데 필요한 권한 rds:DescribeDBInstances rds:DescribeDBClusters rds:DescribeDBClusterSnapshots rds:DescribeDBSnapshots rds:CopyDBSnapshot rds:CopyDBClusterSnapshot rds:DeleteDBSnapshot rds:DeleteDBClusterSnapshot rds:ModifyDBSnapshotAttribute rds:ModifyDBClusterSnapshotAttribute rds:DescribeDBClusterParameters rds:DescribeDBParameters rds:DescribeOptionGroups kms:CreateGrant kms:ListAliases kms:CreateKey kms:TagResource kms:ListGrants kms:DescribeKey kms:PutKeyPolicy kms:Encrypt kms:CreateGrant kms:EnableKey kms:CancelKeyDeletion kms:DisableKey kms:ScheduleKeyDeletion kms:UpdateAlias kms:UpdateKeyDescription |
GCP에 대한 권한
GCP(Google Cloud Platforms) 커넥터를 온보딩하면 클라우드용 Defender가 역할을 생성하며 GCP 프로젝트에 대한 권한을 할당합니다. 다음 표에서는 GCP 프로젝트의 각 플랜에서 할당한 역할 및 권한을 보여 줍니다.
클라우드용 Defender 플랜 | 만든 역할 | AWS 계정에 할당된 권한 |
---|---|---|
Defender CSPM | MDCCspmCustomRole | 이러한 권한을 통해 CSPM 역할은 조직 내의 리소스를 발견하고 검사할 수 있습니다. 해당 역할이 조직, 프로젝트 및 폴더를 볼 수 있도록 허용합니다. resourcemanager.folders.get resourcemanager.folders.list resourcemanager.folders.getIamPolicy resourcemanager.organizations.get resourcemanager.organizations.getIamPolicy storage.buckets.getIamPolicy 새 프로젝트의 자동 프로비저닝 프로세스 및 삭제된 프로젝트의 제거를 허용합니다. resourcemanager.projects.get resourcemanager.projects.list 리소스 검색에 사용되는 Google Cloud 서비스를 사용하도록 설정하는 역할을 허용합니다. serviceusage.services.enable IAM 역할을 만들고 나열하는 데 사용됩니다. iam.roles.create iam.roles.list 이 역할을 서비스 계정으로 작동시키고 리소스에 대한 권한을 얻을 수 있도록 합니다. iam.serviceAccounts.actAs 역할이 프로젝트 세부 정보를 보고 일반적인 인스턴스 메타데이터를 설정할 수 있도록 허용합니다. compute.projects.get compute.projects.setCommonInstanceMetadata |
서버용 Defender | microsoft-defender-for-servers azure-arc-for-servers-onboard |
컴퓨팅 엔진 가져오기 및 나열을 위한 읽기 전용 액세스 resources compute.viewer iam.serviceAccountTokenCreator osconfig.osPolicyAssignmentAdmin osconfig.osPolicyAssignmentReportViewer |
데이터베이스용 Defender | defender-for-databases-arc-ap | 데이터베이스용 Defender ARC 자동 프로비전에 대한 권한 compute.viewer iam.workloadIdentityUser iam.serviceAccountTokenCreator osconfig.osPolicyAssignmentAdmin osconfig.osPolicyAssignmentReportViewer |
Defender CSPM 스토리지용 Defender |
data-security-posture-storage | 클라우드용 Defender 스캐너가 GCP 스토리지 버킷을 검색하고 GCP 스토리지 버킷의 데이터에 액세스할 수 있는 권한 storage.objects.list storage.objects.get storage.buckets.get |
Defender CSPM 스토리지용 Defender |
data-security-posture-storage | 클라우드용 Defender 스캐너가 GCP 스토리지 버킷을 검색하고 GCP 스토리지 버킷의 데이터에 액세스할 수 있는 권한 storage.objects.list storage.objects.get storage.buckets.get |
Defender CSPM | microsoft-defender-ciem | 조직 리소스에 대한 세부 정보를 가져올 수 있는 권한입니다. resourcemanager.folders.getIamPolicy resourcemanager.folders.list resourcemanager.organizations.get resourcemanager.organizations.getIamPolicy storage.buckets.getIamPolicy |
Defender CSPM 서버용 Defender |
MDCAgentlessScanningRole | 에이전트 없는 디스크 검사에 대한 권한: compute.disks.createSnapshot compute.instances.get |
Defender CSPM 서버용 Defender |
cloudkms.cryptoKeyEncrypterDecrypter | 기존 GCP KMS 역할에 대한 권한이 부여되어 CMEK로 암호화된 디스크 검사를 지원합니다. |
Defender CSPM 컨테이너용 Defender |
mdc-containers-artifact-assess | GAR 및 GCR에서 이미지를 검사할 수 있는 권한입니다. artifactregistry.reader storage.objectViewer |
컨테이너용 Defender | mdc-containers-k8s-operator | GKE 클러스터에서 데이터를 수집할 수 있는 권한입니다. IP 제한을 지원하도록 GKE 클러스터를 업데이트합니다. container.viewer MDCGkeClusterWriteRole: container.clusters.update* MDCGkeContainerResponseActionsRole: container.pods.update, container.networkPolicies.create container.networkPolicies.update container.networkPolicies.delete |
컨테이너용 Defender | microsoft-defender-containers | 로그 싱크를 만들고 관리하여 로그를 Cloud Pub/Sub 토픽으로 라우팅할 수 있는 권한입니다. logging.sinks.list logging.sinks.get logging.sinks.create logging.sinks.update logging.sinks.delete resourcemanager.projects.getIamPolicy resourcemanager.organizations.getIamPolicy iam.serviceAccounts.get iam.workloadIdentityPoolProviders.get |
컨테이너용 Defender | ms-defender-containers-stream | 로깅이 pub sub에 로그를 보낼 수 있도록 허용하는 권한: pubsub.subscriptions.consume pubsub.subscriptions.get |
다음 단계
이 문서에서는 클라우드용 Defender가 Azure 역할 기반 액세스 제어를 사용하여 사용자에게 권한을 할당하고 각 역할에 허용된 조치를 식별하는 방법을 설명했습니다. 이제 구독의 보안 상태를 모니터링하고, 보안 정책을 편집하고, 권장 사항을 적용하는 데 필요한 역할 할당에 익숙해졌으므로 다음을 수행하는 방법을 알아봅니다.