Vertex AI Workbench에 대한 액세스 제어

GDCHRestrictedService 조직 정책을 구성하면 Google Distributed Cloud (GDC) 에어 갭에서 Vertex AI Workbench에 대한 액세스를 제어할 수 있습니다. 이 정책을 적용하면 참조하는 API가 차단되므로 제한되지 않은 조직 또는 프로젝트만 JupyterLab 노트북을 만들고 업데이트할 수 있습니다. 테스트 중에 Vertex AI Workbench를 특정 프로젝트로 제한하거나 조직 전체에서 액세스를 제한할 수 있습니다.

조직 정책에 대한 자세한 내용은 조직 정책 구성을 참조하세요.

시작하기 전에

  • 조직 또는 프로젝트의 Vertex AI Workbench에 대한 액세스 권한을 부여하거나 제한하는 데 필요한 권한을 얻으려면 IAM 조직 관리자에게 GDC 제한된 서비스 정책 관리자 (gdchrestrictedservice-policy-admin) 클러스터 역할을 부여해 달라고 요청하세요. 이 역할은 네임스페이스에 바인딩되지 않습니다. 이 역할에 대한 자세한 내용은 IAM 권한 준비를 참조하세요.

  • 관리 API 서버 kubeconfig의 경로를 정의합니다.

    export KUBECONFIG=MANAGEMENT_API_SERVER_KUBECONFIG
    

제한사항 만들기

다음 섹션에서는 프로젝트 네임스페이스 내에서 특정 서비스에 대한 제한사항을 만들고, 업데이트하고, 삭제하고, 보는 방법을 설명합니다.

제한사항 만들기 또는 업데이트

  • 조직의 제한사항을 만들거나 업데이트하려면 다음을 실행합니다.

    kubectl --kubeconfig=${KUBECONFIG} apply -f  - <<EOF
    apiVersion: constraints.gatekeeper.sh/v1beta1
    kind: GDCHRestrictedService
    metadata:
      name: NAME
    spec:
      match:
        scope: "Namespaced"
        namespaces: PROJECT_NAMESPACE
        kinds:
        - apiGroups:
          - "aiplatform.gdc.goog"
          kinds:
          - Notebook
    EOF
    

제한 삭제

  • 제한을 삭제하려면 다음을 실행합니다.

    kubectl delete GDCHRestrictedService NAME 
    

제한사항 설명

  • 제한사항을 설명하려면 다음을 실행합니다.

    kubectl describe GDCHRestrictedService NAME 
    

조직의 Vertex AI Workbench 액세스 제한

조직의 Vertex AI Workbench에 대한 액세스를 제한하려면 정책의 kinds 필드에 aiplatform.gdc.goog API 그룹과 Notebook 종류를 추가하여 GDCHRestrictedService 정책 유형을 수정합니다.

다음 예시에서는 전체 조직의 Vertex AI Workbench에 대한 액세스를 제한할 때 GDCHRestrictedService 정책 유형에서 kinds 필드가 어떻게 표시되는지 보여줍니다.

apiVersion: constraints.gatekeeper.sh/v1beta1
kind: GDCHRestrictedService
metadata:
  name: restrict-notebook-for-organization
spec:
  match:
    scope: "Namespaced"
    kinds:
    - apiGroups:
      - "aiplatform.gdc.goog"
      kinds:
      - Notebook

# [...]

조직의 Vertex AI Workbench 액세스 권한을 복원하려면 조직에 Vertex AI Workbench 액세스 권한 부여를 참고하세요.

프로젝트의 Vertex AI Workbench에 대한 액세스 제한

프로젝트의 Vertex AI Workbench에 대한 액세스를 제한하려면 프로젝트 네임스페이스의 정책 kinds 필드에 aiplatform.gdc.goog API 그룹과 Notebook 종류를 추가하여 GDCHRestrictedService 정책 유형을 수정합니다.

조직의 액세스 제한과의 차이점은 정책이 영향을 미치는 네임스페이스를 지정해야 한다는 것입니다. 프로젝트 네임스페이스를 사용하여 정책에 namespaces 필드를 추가합니다.

다음 예시에서는 프로젝트의 Vertex AI Workbench에 대한 액세스를 제한할 때 GDCHRestrictedService 정책 유형에서 kinds 필드가 어떻게 표시되는지 보여줍니다.

apiVersion: constraints.gatekeeper.sh/v1beta1
kind: GDCHRestrictedService
metadata:
  name: restrict-notebook-for-organization
spec:
  match:
    scope: "Namespaced"
    namespaces: [PROJECT_NAMESPACE]
    kinds:
    - apiGroups:
      - "aiplatform.gdc.goog"
      kinds:
      - Notebook

# [...]

PROJECT_NAMESPACE를 Vertex AI Workbench에 대한 액세스를 제한하려는 프로젝트의 네임스페이스로 바꿉니다.

조직에 Vertex AI Workbench에 대한 액세스 권한 부여

기본적으로 Distributed Cloud 조직은 Vertex AI Workbench에 액세스할 수 있습니다. 하지만 조직의 Vertex AI Workbench에 대한 액세스를 제한한 경우 액세스 권한을 다시 부여할 수 있습니다.

조직의 모든 프로젝트에 Vertex AI Workbench에 대한 액세스 권한을 부여하려면 다음 단계를 따르세요.

  1. 조직의 GDCHRestrictedService 정책 유형을 식별합니다.

  2. 정책에서 aiplatform.gdc.goog API 그룹과 Notebook 종류를 찾습니다.

  3. aiplatform.gdc.goog API 그룹과 Notebook 종류가 정책의 kinds 필드에 있는 유일한 콘텐츠인 경우 GDCHRestrictedService 리소스를 삭제합니다.

  4. GDCHRestrictedService 정책에 다른 제한된 서비스가 포함된 경우 kinds 필드에서 aiplatform.gdc.goog API 그룹과 Notebook 종류를 삭제하고 정책에 변경사항을 저장합니다.