역할 및 권한

이 페이지에서는 연결 테스트 실행에 필요한 ID 및 액세스 관리(IAM) 역할과 권한을 설명합니다.

사용자 또는 서비스 계정에 권한이나 사전 정의된 역할을 부여하거나 지정된 권한을 사용하는 커스텀 역할을 만들 수 있습니다.

IAM 권한에서는 networkmanagement 프리픽스를 사용합니다.

IAM 정책을 가져오거나 설정하거나 Network Management API로 IAM 권한을 테스트하려면 액세스 제어 관리 정책을 참조하세요.

역할

이 섹션에서는 연결 테스트에 대한 권한을 부여할 때 사전 정의 된 커스텀 역할을 사용하는 방법에 대해 설명합니다.

각 권한에 대한 설명은 권한 테이블을 참조하세요.

프로젝트 역할 및 Google Cloud 리소스에 대한 자세한 내용은 다음 문서를 참조하세요.

사전 정의된 역할

연결 테스트에는 다음과 같은 사전 정의된 역할이 있습니다.

  • networkmanagement.admin: 이 역할에는 테스트 리소스에서 모든 작업을 수행할 수 있는 권한이 있습니다.
  • networkmanagement.viewer: 이 역할에는 특정 테스트 리소스를 나열하거나 가져올 수 있는 권한이 있습니다.

다음 표에는 사전 정의된 역할 및 각 역할에 적용되는 권한이 나와 있습니다.

Role Permissions

(roles/networkmanagement.admin)

Full access to Network Management resources.

Lowest-level resources where you can grant this role:

  • Project

networkmanagement.*

  • networkmanagement.config.get
  • networkmanagement.config.startFreeTrial
  • networkmanagement.config.update
  • networkmanagement.connectivitytests.create
  • networkmanagement.connectivitytests.delete
  • networkmanagement.connectivitytests.get
  • networkmanagement.connectivitytests.getIamPolicy
  • networkmanagement.connectivitytests.list
  • networkmanagement.connectivitytests.rerun
  • networkmanagement.connectivitytests.setIamPolicy
  • networkmanagement.connectivitytests.update
  • networkmanagement.locations.get
  • networkmanagement.locations.list
  • networkmanagement.operations.get
  • networkmanagement.operations.list
  • networkmanagement.topologygraphs.read

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/networkmanagement.viewer)

Read-only access to Network Management resources.

Lowest-level resources where you can grant this role:

  • Project

networkmanagement.config.get

networkmanagement.connectivitytests.get

networkmanagement.connectivitytests.getIamPolicy

networkmanagement.connectivitytests.list

networkmanagement.locations.*

  • networkmanagement.locations.get
  • networkmanagement.locations.list

networkmanagement.operations.*

  • networkmanagement.operations.get
  • networkmanagement.operations.list

networkmanagement.topologygraphs.read

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

커스텀 역할

연결 테스트에 대한 권한 테이블에서 권한 목록을 선택하여 커스텀 역할을 만들 수 있습니다.

예를 들어 reachabilityUsers라는 역할을 만들고 이 역할에 list, get, rerun 권한을 부여할 수 있습니다. 이 역할이 있는 사용자는 기존 연결 테스트를 다시 실행하고 최신 네트워크 구성을 기반으로 업데이트된 테스트 결과를 볼 수 있습니다.

프로젝트 역할

프로젝트 역할을 사용하여 Google Cloud 리소스에 대한 권한을 설정할 수 있습니다. 테스트를 실행하려면 연결 테스트에 Virtual Private Cloud(VPC) 네트워크의 Google Cloud 리소스 구성에 대한 읽기 액세스 권한이 있어야 하므로 해당 리소스에 테스트를 실행하는 사용자 또는 서비스 계정에 최소한 Compute 네트워크 뷰어 역할(roles/compute.networkViewer)을 부여해야 합니다. 커스텀 역할을 만들거나 특정 사용자의 이전 역할과 관련된 권한을 임시로 승인할 수도 있습니다.

또는 사용자나 서비스 계정에 Google Cloud 프로젝트에 대해 다음과 같은 사전 정의된 역할 중 하나를 부여할 수 있습니다.

권한

이 섹션에서는 연결 테스트에 대한 권한과 다른 유형의 네트워크 구성을 테스트할 때 사용하는 방법에 대해 설명합니다.

연결 테스트 권한

연결 테스트에는 다음과 같은 IAM 권한이 있습니다.

권한 설명
networkmanagement.connectivitytests.list 지정된 프로젝트에 구성된 모든 테스트를 나열합니다.
networkmanagement.connectivitytests.get 특정 테스트의 세부정보를 가져옵니다.
networkmanagement.connectivitytests.create 테스트에 지정한 데이터를 사용하여 지정된 프로젝트에 새 테스트 객체를 만듭니다. 이 권한에는 테스트 업데이트, 재실행 또는 삭제 권한이 포함됩니다.
networkmanagement.connectivitytests.update 기존 테스트에서 하나 이상의 필드를 업데이트합니다.
networkmanagement.connectivitytests.delete 지정된 테스트를 삭제합니다.
networkmanagement.connectivitytests.rerun 지정된 테스트에 대해 일회성 연결 가능성 확인을 다시 실행합니다.

테스트를 만들거나 업데이트할 권한이 없는 경우 해당 버튼이 비활성 상태가 됩니다. 이러한 버튼은 연결 테스트 만들기 버튼과 연결 테스트 세부정보 페이지의 수정 버튼입니다. 각 경우에 비활성 버튼 위로 마우스를 가져가면 연결 테스트에 필요한 권한을 설명하는 메시지가 표시됩니다.

테스트 결과 보기 권한

테스트 중인 네트워크 경로에서 Compute Engine 리소스를 볼 권한이 없어도 전체 테스트 결과를 볼 수 있지만 테스트된 리소스에 대한 세부정보를 볼 수 없습니다.

프로젝트 리소스

일반적으로 trace에 나열된 프로젝트 리소스에 대한 액세스 권한이 없으면 분석 결과에 No permission to view the resource라는 메시지가 표시됩니다. 연결 테스트는 리소스 유형, 리소스 이름, 기타 세부정보를 숨깁니다. 하지만 trace는 리소스와 연결된 프로젝트를 식별합니다.

계층식 방화벽 정책

trace에는 볼 수 있는 권한이 없는 계층식 방화벽 정책이 포함될 수 있습니다. 하지만 정책 세부정보를 볼 권한이 없는 경우에도 VPC 네트워크에 적용되는 정책 규칙을 볼 수 있습니다. 자세한 내용은 계층식 방화벽 정책 개요의 유효 방화벽 규칙을 참조하세요.

여러 프로젝트에 대한 권한

테스트하는 네트워크 구성이 VPC 네트워크 피어링 또는 공유 VPC를 사용하는 경우 연결 테스트는 이러한 네트워크가 사용하는 여러 프로젝트의 구성에 액세스할 수있는 충분한 권한을 가지고 있어야 합니다.

이러한 권한을 통해 연결 테스트는 다른 네트워크 및 프로젝트에서 하나 이상의 전체 패킷 경로 추적을 실행할 수 있습니다. 그렇지 않으면 연결 테스트는 해당 프로젝트 내의 구성에만 액세스할 수 있습니다.

공유 VPC 네트워크에 대한 권한

공유 VPC 네트워크의 서비스 프로젝트에서 테스트를 실행하려면 Compute 네트워크 뷰어 역할(roles/compute.networkViewer) 또는 호스트 프로젝트의 기존 프로젝트 뷰어 역할(roles/viewer)이 있어야 합니다. 이 요구사항은 네트워크의 방화벽 및 경로 구성 네트워크가 호스트 프로젝트에 있기 때문에 존재합니다. 테스트하는 리소스가 전부 단일 서비스 프로젝트 내에 있더라도 이러한 역할 중 하나가 있어야 합니다.

공유 VPC 호스트 프로젝트에서 서비스 프로젝트의 가상 머신(VM) 인스턴스로 테스트를 실행하려면 서비스 프로젝트에 이러한 역할(roles/compute.networkViewer 또는roles/viewer) 중 하나가 있어야 합니다. 또한 테스트를 만들 때 서비스 프로젝트 ID를 제공해야 합니다. 이 ID를 제공하지 않으면 연결 테스트에서 unknown IP address 메시지와 함께 Unreachable의 전반적인 연결 가능성 결과를 표시합니다.

VPC 네트워크 피어링, 클라우드 VPN, Cloud Interconnect에 대한 권한

VPC 네트워크 피어링을 통해 연결된 프로젝트 간의 연결 가능성을 검사하는 연결 테스트가 있으면 권한에 따라 표시되는 결과가 달라집니다.

전체 분석 결과를 보려면 두 프로젝트에서 Compute 네트워크 뷰어 역할(roles/compute.networkViewer) 또는 기존 프로젝트 뷰어 역할(roles/viewer)이 있어야 합니다.

소스 엔드포인트를 포함하는 네트워크의 이러한 역할 중 하나가 있지만 대상 엔드포인트를 포함하는 네트워크가 없으면 분석에 부분 결과가 표시됩니다. 즉, 분석 결과에 패킷이 VPC 네트워크 피어링 네트워크로 전송된 것으로 표시됩니다. 그러나 연결 테스트는 해당 네트워크에 대한 추가 정보를 제공할 수 없습니다.

다음 단계