Google Cloud에서는 ID 및 액세스 관리(IAM)를 제공하므로 구체적인 Google Cloud 리소스에 더욱 세분화된 액세스 권한을 부여하고 다른 리소스에 대한 무단 액세스를 방지할 수 있습니다. 이 페이지에서는 Cloud DNS API 역할을 설명합니다. IAM에 대한 자세한 설명은 ID 및 액세스 관리 문서를 참조하세요.
IAM은 최소 권한의 보안 원칙을 채택하여 리소스에 대해 필요한 액세스 권한만 부여할 수 있게 해줍니다.
IAM을 사용하면 IAM 정책을 설정하여 누가 어떤 리소스에 무슨 권한을 갖는지를 제어할 수 있습니다. IAM 정책은 사용자에게 특정 역할을 부여하여 특정 권한을 줍니다. 예를 들어 특정 사용자가 DNS(도메인 이름 시스템) 레코드 리소스를 만들고 수정해야 할 수 있습니다. 이런 경우에는 해당 사용자(누가)에게 dns.changes.create
및 dns.resourceRecordSets.create
권한이 있는 /roles/dns.admin
역할(무슨)을 부여하여 리소스 레코드 집합(어떤)을 만들고 업데이트할 수 있도록 합니다. 반면 지원 부서는 기존 리소스 레코드 집합만 보면 되므로 /roles/dns.reader
역할을 부여받습니다.
Cloud DNS에서는 프로젝트 수준과 개별 DNS 영역 수준에서 IAM 권한을 지원합니다. 기본 권한은 프로젝트 수준입니다. 개별 DNS 영역(또는 리소스) 수준에서 권한을 구성하려면 특정 IAM 권한이 있는 영역 만들기를 참조하세요.
권한 및 역할
모든 Cloud DNS API 메서드는 호출자에게 필수 IAM 권한을 요구합니다. 사용자, 그룹, 서비스 계정에 역할을 부여하여 권한을 할당합니다. 기본 역할인 소유자, 편집자, 뷰어 이외에 프로젝트 사용자에게도 Cloud DNS API 역할을 부여할 수 있습니다.
권한
다음 표에서는 호출자가 각 메서드를 호출하는 데 필요한 권한 목록을 보여줍니다.
메서드 | 필수 권한 |
---|---|
리소스 레코드 집합 생성을 위한 dns.changes.create 권한 |
레코드 집합이 포함된 프로젝트에 대한 dns.changes.create 및 dns.resourceRecordSets.create 권한 |
리소스 레코드 집합 업데이트를 위한 dns.changes.create 권한 |
레코드 집합이 포함된 프로젝트에 대한 dns.changes.create 및 dns.resourceRecordSets.update 권한 |
리소스 레코드 집합 삭제를 위한 dns.changes.create 권한 |
레코드 집합이 포함된 프로젝트에 대한 dns.changes.create 및 dns.resourceRecordSets.delete 권한 |
dns.changes.get |
관리형 영역이 포함된 프로젝트에 대한 dns.changes.get 권한 |
dns.changes.list |
관리형 영역이 포함된 프로젝트에 대한 dns.changes.list 권한 |
dns.dnsKeys.get |
관리형 영역이 포함된 프로젝트에 대한 dns.dnsKeys.get 권한 |
dns.dnsKeys.list |
관리형 영역이 포함된 프로젝트에 대한 dns.dnsKeys.list 권한 |
dns.managedZoneOperations.get |
관리형 영역이 포함된 프로젝트에 대한 dns.managedZoneOperations.get 권한 |
dns.managedZoneOperations.list |
관리형 영역이 포함된 프로젝트에 대한 dns.managedZoneOperations.list 권한 |
dns.managedZones.create |
관리형 영역이 포함된 프로젝트에 대한 dns.managedZones.create 권한비공개 영역을 만드는 경우 영역에 대한 액세스 권한을 부여할 각 VPC 프로젝트가 포함된 각 프로젝트에 대한 GKE 통합으로 비공개 영역을 만드는 경우 영역에 대한 액세스 권한을 부여할 각 GKE 클러스터에 대한 |
dns.managedZones.delete |
관리형 영역이 포함된 프로젝트에 대한 dns.managedZones.delete 권한 |
dns.managedZones.get |
관리형 영역이 포함된 프로젝트에 대한 dns.managedZones.get 권한 |
dns.managedZones.list |
관리형 영역이 포함된 프로젝트에 대한 dns.managedZones.list 권한 |
dns.managedZones.update |
관리형 영역이 포함된 프로젝트에 대한 dns.managedZones.update 권한
비공개 영역을 만드는 경우 영역에 대한 액세스 권한을 부여할 각 VPC 프로젝트가 포함된 각 프로젝트에 대한 비공개 영역을 GKE 클러스터와 바인딩하는 경우 영역에 대한 액세스 권한을 부여할 각 GKE 클러스터에 대한 |
dns.policies.create |
정책이 포함된 프로젝트에 대한 dns.policies.create 권한
VPC 네트워크에서 정책을 만드는 경우 각 VPC 네트워크가 포함된 각 프로젝트에 대한 |
dns.policies.delete |
정책이 포함된 프로젝트에 대한 dns.policies.delete 권한 |
dns.policies.get |
정책이 포함된 프로젝트에 대한 dns.policies.get 권한 |
dns.policies.list |
정책이 포함된 프로젝트에 대한 dns.policies.list 권한 |
dns.policies.update |
정책이 포함된 프로젝트에 대한 dns.policies.update 권한
VPC 네트워크에서 정책을 업데이트하는 경우 각 VPC 네트워크가 포함된 각 프로젝트에 대한 |
dns.projects.get |
프로젝트에 대한 dns.projects.get |
dns.resourceRecordSets.create |
레코드 집합이 포함된 프로젝트에 대한 dns.resourceRecordSets.create 권한 |
dns.resourceRecordSets.delete |
레코드 집합이 포함된 프로젝트에 대한 dns.resourceRecordSets.delete 권한 |
dns.resourceRecordSets.get |
레코드 집합이 포함된 프로젝트에 대한 dns.resourceRecordSets.get 권한 |
dns.resourceRecordSets.list |
관리형 영역이 포함된 프로젝트에 대한 dns.resourceRecordSets.list 권한 |
dns.resourceRecordSets.update |
레코드 집합이 포함된 프로젝트에 대한 dns.resourceRecordSets.update 권한 |
dns.responsePolicies.create |
응답 정책이 포함된 프로젝트에 대한 dns.responsePolicies.create 권한
또한 요청을 검증하려면 GKE 클러스터와 연관된 응답 정책을 만들려면 |
dns.responsePolicies.delete |
응답 정책이 포함된 프로젝트에 대한 dns.responsePolicies.delete 권한 |
dns.responsePolicies.get |
응답 정책이 포함된 프로젝트에 대한 dns.responsePolicies.get 권한 |
dns.responsePolicies.list |
프로젝트에 대한 dns.responsePolicies.list |
dns.responsePolicies.update |
응답 정책이 포함된 프로젝트에 대한 dns.responsePolicies.update 권한
또한 요청을 검증하려면 GKE 클러스터와 연관된 응답 정책을 만들려면 |
dns.responsePolicyRules.create |
응답 정책 규칙이 포함된 프로젝트에 대한 dns.responsePolicyRules.create 권한 |
dns.responsePolicyRules.delete |
응답 정책 규칙이 포함된 프로젝트에 대한 dns.responsePolicyRules.delete 권한 |
dns.responsePolicyRules.get |
응답 정책 규칙이 포함된 프로젝트에 대한 dns.responsePolicyRules.get 권한 |
dns.responsePolicyRules.list |
응답 정책이 포함된 프로젝트에 대한 dns.responsePolicyRules.list 권한 |
dns.responsePolicyRules.update |
응답 정책 규칙이 포함된 프로젝트에 대한 dns.responsePolicyRules.update 권한 |
역할
다음 표에서는 Cloud DNS API IAM 역할과 각 역할에 포함된 모든 권한 목록을 보여줍니다. 모든 권한은 특정 리소스 유형에 적용할 수 있습니다.
기본 역할을 사용하여 DNS를 변경할 수도 있습니다.
Role | Permissions |
---|---|
DNS Administrator( Provides read-write access to all Cloud DNS resources. Lowest-level resources where you can grant this role:
|
compute.networks.get compute.networks.list dns.changes.*
dns.dnsKeys.*
dns.gkeClusters.*
dns.managedZoneOperations.*
dns.managedZones.create dns.managedZones.delete dns.managedZones.get dns.managedZones.getIamPolicy dns.managedZones.list dns.managedZones.update dns.networks.*
dns.policies.create dns.policies.delete dns.policies.get dns.policies.getIamPolicy dns.policies.list dns.policies.update dns.projects.get dns.resourceRecordSets.*
dns.responsePolicies.*
dns.responsePolicyRules.*
resourcemanager.projects.get resourcemanager.projects.list |
DNS Peer( Access to target networks with DNS peering zones |
dns. |
DNS Reader( Provides read-only access to all Cloud DNS resources. Lowest-level resources where you can grant this role:
|
compute.networks.get dns.changes.get dns.changes.list dns.dnsKeys.*
dns.managedZoneOperations.*
dns.managedZones.get dns.managedZones.list dns.policies.get dns.policies.list dns.projects.get dns.resourceRecordSets.get dns.resourceRecordSets.list dns.responsePolicies.get dns.responsePolicies.list dns.responsePolicyRules.get dns.responsePolicyRules.list resourcemanager.projects.get resourcemanager.projects.list |
액세스 제어 관리
Google Cloud Console을 사용하여 주제 및 프로젝트에 대한 액세스 제어를 관리할 수 있습니다.
프로젝트 수준에서 액세스 제어를 설정하려면 다음 단계를 따르세요.
Console
Google Cloud 콘솔에서 IAM 페이지로 이동합니다.
맨 위에 있는 드롭다운 메뉴에서 프로젝트를 선택합니다.
Add(추가)를 클릭합니다.
새 주 구성원에 새 주 구성원의 이메일 주소를 입력합니다.
드롭다운 메뉴에서 원하는 역할을 선택합니다.
저장을 클릭합니다.
부여한 역할과 함께 주 구성원이 나열되는지 확인합니다.
다음 단계
- Cloud DNS 사용을 시작하려면 빠른 시작: Cloud DNS로 도메인 이름에 대한 DNS 레코드 설정을 참조하세요.
- Cloud DNS를 사용할 때 발생할 수 있는 일반적인 문제에 대한 해결책을 찾으려면 문제 해결을 참조하세요.