사용자 역할 및 권한

클라우드용 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 역할 기반 액세스 제어를 사용하여 사용자에게 권한을 할당하고 각 역할에 허용된 조치를 식별하는 방법을 설명했습니다. 이제 구독의 보안 상태를 모니터링하고, 보안 정책을 편집하고, 권장 사항을 적용하는 데 필요한 역할 할당에 익숙해졌으므로 다음을 수행하는 방법을 알아봅니다.