Mengelola tag project

Dokumen ini menjelaskan cara mengelola pasangan nilai kunci tag yang ada yang mengatur project Anda di Google Distributed Cloud (GDC) yang terisolasi. Tag dapat dilihat oleh administrator dengan menggunakan izin Identity and Access Management (IAM). Anda dapat menetapkan izin untuk key-value pair tag guna menentukan siapa yang dapat melihatnya saat key-value pair tersebut terikat ke project. Anda juga dapat melihat atribut tag yang ada untuk membantu melacak cara penerapan tag di organisasi Anda, seperti berikut:

Untuk mengetahui informasi selengkapnya tentang tag, lihat Ringkasan tag.

Dokumen ini ditujukan bagi administrator IT dalam grup administrator platform, yang bertanggung jawab untuk mengatur dan mengelola project di semesta GDC. Untuk mengetahui informasi selengkapnya, lihat Audiens untuk dokumentasi GDC yang terisolasi dari internet.

Sebelum memulai

  • Untuk mendapatkan izin yang diperlukan untuk memberikan izin tag kepada pengguna lain atau memeriksa namespace pasangan nilai kunci tag, minta Admin IAM Organisasi Anda untuk memberi Anda peran Tag Admin (tag-admin).

  • Untuk mendapatkan izin yang diperlukan guna mencantumkan project dengan tag, minta Admin IAM Organisasi Anda untuk memberi Anda peran Project Viewer (project-viewer).

Menerapkan izin ke pasangan nilai kunci tag

Setiap kunci tag dan nilai tag memerlukan binding peran tertentu agar pengguna dapat mengakses dan mengelolanya.

Tetapkan peran yang sesuai untuk kunci dan nilai tag Anda guna menerapkan izin.

  1. Identifikasi nama peran yang Anda inginkan dan namespace yang diperlukan untuk menerapkan peran tersebut. Untuk mengetahui informasi selengkapnya, lihat Penggunaan tag.

  2. Berikan izin peran untuk tag dengan menerapkan resource RoleBinding untuk setiap namespace yang ditentukan:

    kubectl apply -f - <<EOF
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: BINDING_NAME
      namespace: NAMESPACE
    subjects:
    - kind: GROUP_SUBJECT
      name: GROUP_NAME
      apiGroup: rbac.authorization.k8s.io
    roleRef:
      kind: Role
      name: TAG_ROLE_NAME
      apiGroup: rbac.authorization.k8s.io
    EOF
    

    Ganti kode berikut:

    • BINDING_NAME: nama kustom untuk binding peran.

    • NAMESPACE: namespace untuk menerapkan binding peran, seperti platform, namespace pengelolaan kunci tag, atau namespace kebijakan nilai tag.

    • GROUP_SUBJECT: jenis subjek untuk menerapkan izin peran. Nilai ini dapat berupa User, Group, atau ServiceAccount. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Kubernetes tentang Merujuk subjek.

    • GROUP_NAME: nama grup kustom.

    • TAG_ROLE_NAME: nama peran tag yang akan diterapkan, seperti tag-admin atau tag-KEY_NAME-admin.

    Misalnya, untuk memberikan izin peran tag-admin kepada pengguna untuk pasangan nilai kunci tag, deploy resource kustom RoleBinding berikut ke namespace platform, managementNamespace kunci tag, dan policyNamespace nilai tag:

    kubectl apply -f - <<EOF
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: tag-admin-binding
      namespace: platform
    subjects:
    - kind: User
      name: user-1
      apiGroup: rbac.authorization.k8s.io
    roleRef:
      kind: Role
      name: tag-admin
      apiGroup: rbac.authorization.k8s.io
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: tag-admin-mgmt-binding
      namespace: g-t-tag-key-1
    subjects:
    - kind: User
      name: user-1
      apiGroup: rbac.authorization.k8s.io
    roleRef:
      kind: Role
      name: tag-admin
      apiGroup: rbac.authorization.k8s.io
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: tag-admin-policy-binding
      namespace: g-t-tag-value-1
    subjects:
    - kind: User
      name: user-1
      apiGroup: rbac.authorization.k8s.io
    roleRef:
      kind: Role
      name: tag-admin
      apiGroup: rbac.authorization.k8s.io
    EOF
    

Menemukan namespace pengelolaan

Namespace pengelolaan adalah namespace yang dibuat sistem untuk kunci tag.

  • Temukan namespace pengelolaan kunci tag tertentu:

    kubectl get tagkey TAG_KEY_NAME --namespace platform \
        -o jsonpath='{.status.managementNamespace}'
    

    Ganti TAG_KEY_NAME dengan nama kunci tag Anda.

Menemukan namespace kebijakan

Namespace kebijakan adalah namespace yang dibuat sistem untuk nilai tag.

  • Temukan namespace kebijakan dari nilai tag tertentu:

    kubectl get tagvalue TAG_VALUE_NAME --namespace MANAGEMENT_NAMESPACE \
        -o jsonpath='{.status.policyNamespace}'
    

    Ganti kode berikut:

    • TAG_VALUE_NAME: nama nilai tag.
    • MANAGEMENT_NAMESPACE: nama namespace pengelolaan untuk kunci tag yang sesuai dengan nilai tag. Untuk mengetahui informasi selengkapnya, lihat Menemukan namespace pengelolaan.

Mencantumkan project dengan tag

Untuk mencantumkan semua project yang terikat dengan pasangan nilai kunci tertentu, selesaikan langkah-langkah berikut:

  • Mencantumkan semua project yang cocok dengan pasangan nilai kunci tag Anda:

    kubectl get project --namespace platform --label tag.resourcemanager.gdc.goog/TAG_KEY_NAME=TAG_VALUE_NAME
    

    Ganti kode berikut:

    • TAG_KEY_NAME: nama kunci tag.
    • TAG_VALUE_NAME: nama nilai tag.

    Outputnya mirip dengan hal berikut ini:

    NAME            AGE
    project-1       17d
    project-2       10d
    project-3       4d
    

Langkah berikutnya