สร้างนโยบายการเข้าถึงและกลุ่มการเข้าถึง
เมื่อสร้าง instance ใน IBM Quantum® Platform ระบบจะสร้างกลุ่มการเข้าถึงให้อัตโนมัติสำหรับผู้ร่วมงานเพื่อใช้ instance นั้น ถ้าต้องการปรับแต่งกลุ่มการเข้าถึงหรือสร้างกลุ่มเพิ่มเติม ให้ใช้ IBM® Cloud console สำหรับ Access groups
กลุ่มการเข้าถึง ประกอบด้วย นโยบาย ที่กำหนดว่าสมาชิกในกลุ่มสามารถทำอะไรกับทรัพยากรใดได้บ้าง เช่น บริการต่าง ๆ ในคู่มือนี้ ทรัพยากรโดยทั่วไปคือ IBM Quantum service instance
สามารถสร้างกลุ่มการเข้าถึงเพิ่มเติมได้โดยใช้ IBM Cloud® console, CLI, API, หรือ Terraform.
เพื่อดูว่าแต่ละ role อนุญาตให้ทำอะไรได้บ้าง ให้ไปที่หน้า IAM Roles แล้วเลือก Qiskit Runtime ในเมนูแบบเลื่อนลงที่ด้านบนของหน้า สำหรับรายการที่ละเอียดกว่า ให้คลิกตัวเลขในคอลัมน์ถัดจากชื่อ role ตัวอย่างเช่น เมื่อเข้าหน้านั้นและคลิกตัวเลขข้าง Manager role จะเห็นว่า role นี้รวมความสามารถในการลบ job (quantum-computing.job.delete)
ส่วน เปรียบเทียบ service role actions ที่กำหนดไว้ล่วงหน้า จะแสดงการเปรียบเทียบ Manager, Writer แ ละ Reader roles ที่กำหนดไว้ล่วงหน้า
สร้างกลุ่มการเข้าถึง IBM Quantum Administrators
หลังตั้งค่าบัญชีสำหรับองค์กรแล้ว แนะนำให้สร้างกลุ่มการเข้าถึง IBM Quantum Administrators กลุ่มนี้ช่วยให้ผู้ใช้คนอื่นสร้างและจัดการ instance รวมถึงจัดการสิทธิ์การเข้าถึงของผู้ใช้สำหรับ Qiskit Runtime service ได้
เมื่อสร้างกลุ่มการเข้าถึงนี้ ให้รวมนโยบายต่อไปนี้:
- Qiskit Runtime service - ให้สิทธิ์จัดการ IBM Quantum instances ทั้งหมดในบัญชีและดูข้อมูลวิเคราะห์การใช้งานบัญชี
- Manager service access role
- Administrator platform management access role
- All account management services - ให้สิทธิ์แสดงรายการ resource groups ทั้งหมดในบัญชี
- Viewer platform management access role
- All IAM Account Management services - ให้สิทธิ์เชิญผู้ใช้ จัดการกลุ่มการเข้าถึง และสร้างนโยบายการเข้าถึง
- Administrator platform management access role
- Support Center service - ให้สิทธิ์ผู้ใช้เปิด support cases ผ่าน IBM Cloud Support Center
- Administrator platform management access role
ผู้ใช้ที่มี viewer platform management role บน "all account management services" จะสามารถดูบริการอื่น ๆ เช่น billing ได้ด้วย ถ้าต้องการป้องกันสิทธิ์ดูเพิ่มเติมนี้ ให้ใช้ IBM Cloud CLI เพื่อให้สิทธิ์เฉพาะ Resource groups:
ibmcloud iam access-group-policy-create <group name> --roles Viewer --resource-type resource-group
ทำตามตัวอย่างเหล่านี้เพื่อสร้างกลุ่มการเข้าถึง IBM Quantum Administrators โดยใช้ IBM Cloud CLI หรือ console
ใช้ IBM Cloud CLI
เพื่อสร้าง กลุ่มการเข้าถึง โดยใช้ CLI ให้ใช้คำสั่ง ibmcloud iam access-group-create
ibmcloud iam access-group-create GROUP_NAME [-d, --description DESCRIPTION]
เพื่อสร้าง นโยบาย กลุ่มการเข้าถึงโดยใช้ CLI ให้ใช้คำสั่ง ibmcloud iam access-group-policy-create
ibmcloud iam access-group-policy-create GROUP_NAME {-f, --file @JSON_FILE | --roles ROLE_NAME1,ROLE_NAME2... [--service-name SERVICE_NAME] [--service-instance SERVICE_INSTANCE] [--region REGION] [--resource-type RESOURCE_TYPE] [--resource RESOURCE] [--resource-group-name RESOURCE_GROUP_NAME] [--resource-group-id RESOURCE_GROUP_ID]}
สามารถใช้โค้ด JSON ต่อไปนี้เพื่อสร้างนโยบายสำหรับกลุ่มการเข้าถึง Administrators:
- All Account Management services (viewer)
{
"type": "access",
"roles": [
{
"role_id": "crn:v1:bluemix:public:iam::::role:Viewer"
}
],
"resources": [
{
"attributes": [
{
"name": "accountId",
"value": "[ACCOUNT_ID]"
},
{
"name": "serviceType",
"value": "platform_service"
}
]
}
]
}
- Qiskit Runtime Service (Manager, Administrator)
{
"type": "access",
"roles": [
{
"role_id": "crn:v1:bluemix:public:iam::::serviceRole:Manager"
},
{
"role_id": "crn:v1:bluemix:public:iam::::role:Administrator"
}
],
"resources": [
{
"attributes": [
{
"name": "accountId",
"value": "[ACCOUNT_ID]"
},
{
"name": "serviceName",
"value": "quantum-computing"
}
]
}
]
}
- All IAM Account Management services (administrator)
{
"type": "access",
"roles": [
{
"role_id": "crn:v1:bluemix:public:iam::::role:Administrator"
}
],
"resources": [
{
"attributes": [
{
"name": "accountId",
"value": "[ACCOUNT_ID]"
},
{
"name": "service_group_id",
"value": "IAM"
}
]
}
]
}
- Support Center service (administrator)
{
"type": "access",
"roles": [
{
"role_id": "crn:v1:bluemix:public:iam::::role:Administrator"
},
],
"resources": [
{
"attributes": [
{
"name": "accountId",
"value": "[ACCOUNT_ID]"
},
{
"name": "serviceName",
"value": "support"
}
]
}
]
}
ใช้ IBM Cloud IAM console
ในฐานะเจ้าของบัญชีหรือผู้ดูแลระบบ ทำตามขั้นตอนเหล่านี้เพื่อสร้างกลุ่มการเข้าถึง IBM Quantum Administrator
- ไปที่ Manage > Access (IAM) ใน IBM Cloud console
- ในแผงด้านซ้ายในส่วน Manage access คลิก Access groups แล้วคลิก Create
- ในหน้าต่าง Create access group ที่เปิดขึ้น ใส่ชื่อและคำอธิบายที่แทนกลุ่มผู้ใช้ที่จะเชิญ เช่น IBM Quantum Administrators แล้วคลิก Create
ถัดไป สร้างนโยบายสำหรับ Qiskit Runtime service สำหรับ All IAM Account Management services และสำหรับ All Account Management services
-
ในกลุ่มการเข้าถึงที่เพิ่งสร้าง คลิกแท็บ Access แล้วคลิก Assign access
-
ในหน้า Create policy ที่เป ิดขึ้น กำหนดองค์ประกอบเหล่านี้:
- Service - ค้นหา Qiskit Runtime และเลือก แล้วคลิก Next
- Resources - เลือก All resources แล้วคลิก Next หมายเหตุ: ถ้าต้องการสร้างนโยบายที่ใช้กับ instance บางตัวเท่านั้น ให้เลือก Specific resources, Service instance, string equals แล้วเลือก instance แทน
- Roles and actions - เลือกค่าต่อไปนี้:
- สำหรับ Service access เลือก Manager
- สำหรับ Platform access เลือก Administrator
ที่ด้านล่าง คลิก Add จะเห็นนโยบายในแผงด้านขวา คลิก Assign ที่ด้านล่างของแผงนั้น
สร้างกลุ่มการเข้าถึงพร้อมนโยบายหนึ่งสำเร็จแล้ว ถัดไป สร้างนโยบายที่สองสำหรับ instance เดียวกัน
- ในกลุ่มการเข้าถึงเดียวกัน คลิกแท็บ Access แล้วคลิก Assign access
- ในหน้า Create policy ที่เปิดขึ้น กำหนดองค์ประกอบเหล่านี้:
- Service - เลือก All IAM Account Management services แล้วคลิก Next
- Roles and actions - สำหรับ Platform access เลือก Administrator แล้วคลิก Next ที่ด้านล่าง คลิก Add แล้วคลิก Assign
สร้างนโยบายที่สามสำหรับ instance เดียวกัน
- ในกลุ่มการเข้าถึงเดียวกัน คลิกแท็บ Access แล้วคลิก Assign access
- ในหน้า Create policy ที่เปิดขึ้น กำหนดองค์ประกอบเหล่านี้:
- Service - เลือก All Account Management services แล้วคลิก Next
- Roles and actions - สำหรับ Platform access เลือก Viewer แล้วคลิก Next ที่ด้านล่าง คลิก Add แล้วคลิก Assign
สร้างนโยบายที่สี่สำหรับ instance เดียวกัน
- ในกลุ่มการเข้าถึงเดียวกัน คลิกแท็บ Access แล้วคลิก Assign access
- ในหน้า Create policy ที่เปิดขึ้น กำหนดองค์ประกอบเหล่านี้:
- Service - เลือก Support Center แล้วคลิก Next
- Roles and actions - สำหรับ Platform access เลือก Administrator แล้วคลิก Next ที่ด้านล่าง คลิก Add แล้วคลิก Assign
สุดท้าย เพิ่มผู้ใช้เข้ากลุ่มการเข้าถึง ทำได้จากหน้า Users ของกลุ่มการเข้าถึง หรือโดยใช้หน้า IBM Quantum Platform Access management
สามารถเชิญเฉพาะผู้ใช้ที่เป็นสมาชิกของบัญชีอยู่แล้วเท่านั้น ถ้าไม่เห็นผู้ใช้ในหน้า Add users ให้ทำตามขั้นตอนใน Invite and manage users เพื่อเพิ่มเข้าบัญชีก่อน หลังจากที่พวกเขารับคำเชิญแล้ว จึงเพิ่มเข้ากลุ่มการเข้าถึงได้
เปรียบเทียบสิทธิ์
ตารางต่อไปนี้แสดงว่าสิทธิ์ใดถูกมอบให้กับสามกลุ่ม ได้แก่ เจ้าของบัญชี IBM Quantum Administrators (ดูส่วน สร้างกลุ่มการเข้าถึง IBM Quantum Administrators) และผู้ร่วมงานของ instance (กลุ่มการเข้าถึง "Collaborators" ถูกสร้างขึ้นอัตโนมัติทุกครั้งที่สร้าง instance โดยใช้ IBM Quantum Platform)
คำอธิบาย:
✅ มีสิทธิ์
✴️ มีการพึ่งพา
❌ ไม่มีสิทธิ์
| สิทธิ์ | เจ้าของบัญชี | IBM Quantum Administrators (กลุ่มการเข้าถึง) | ผู้ร่วมงาน instance (กลุ่มการเข้าถึง) |
|---|---|---|---|
| สิทธิ์เต็มในทรัพยากร IBM Cloud ทั้งหมด | ✅ | ✅ (เฉพาะ Qiskit Runtime instances เท่านั้น) | ❌ (เฉพาะ Qiskit Runtime instance บางตัวเท่านั้น) |
| มอบส ิทธิ์ให้ผู้อื่น | ✅ | ✅ (เฉพาะ Qiskit Runtime service เท่านั้น) | ❌ |
| สร้าง service instances | ✅ (IBM Cloud catalog ทั้งหมด) | ✅ (เฉพาะ Qiskit Runtime service instances เท่านั้น) | ❌ |
| ดูผู้ใช้ทั้งหมด | ✅ | ✅ | ✴️ (ขึ้นอยู่กับการตั้งค่าการมองเห็นของผู้ใช้) |
| กำหนดการมองเห็นผู้ใช้ | ✅ | ❌ | ❌ |
| เชิญผู้ใช้เข้าบัญชี | ✅ | ✅ | ❌ |
| รับผิดชอบด้านการเรียกเก็บเงิน | ✅ | ❌ | ❌ |
| ดูข้อมูลการเรียกเก็บเงิน | ✅ | ✅ | ❌ |
| การแจ้งเตือนเจ้าของ | ✅ | ❌ | ❌ |
| ส่ง quantum workloads | ✅ (บน Qiskit Runtime instances ทั้งหมด) | ✅ (บน Qiskit Runtime instances ทั้งหมด) | ✅ (เฉพาะ Qiskit Runtime instance บางตัวเท่านั้น) |
| ดู quantum workloads | ✅ (บน Qiskit Runtime instances ทั้งหมด) | ✅ (บน Qiskit Runtime instances ทั้งหมด) | ✅ (เฉพาะ Qiskit Runtime instance บางตัวเท่านั้น) |
| ยกเลิก quantum workloads | ✅ (บน Qiskit Runtime instances ทั้งหมด) | ✅ (บน Qiskit Runtime instances ทั้งหมด) | ✅ (เฉพาะ Qiskit Runtime instance บางตัวเท่านั้น) |
| ลบ quantum workloads | ✅ (บน Qiskit Runtime instances ทั้งหมด) | ✅ (บน Qiskit Runtime instances ทั้งหมด) | ❌ |
| สร้าง support cases | ✅ | ✅ (ถ้านโยบายการเข้าถึงรวมอยู่ในกลุ่มการเข้าถึง) | ✅ (ถ้ากลุ่มการเข้าถึงให้สิทธิ์กับ Premium Plan instance) |
| กำหนดค่า identity provider เพื่อเชื่อมต่อ external user repositories กับบัญชี IBM Cloud | ✅ | ❌ | ❌ |
เปรียบเทียบ service role actions ที่กำหนดไว้ล่วงหน้า
ตารางต่อไปนี้แสดงตัวอย่าง actions ที่ service role actions ที่กำหนดไว้ล่วงหน้าสามารถทำได้ ได้แก่ Manager, Writer และ Reader เพื่อดูการแมป Quantum Service roles กับ actions อย่างสมบูรณ์ ให้เยี่ยมชม ตารางนี้ ในคู่มือ IBM Cloud Product
| Action | คำอธิบาย | Roles |
|---|---|---|
quantum-computing.session.create | สร้าง Session/Batch | Manager, Writer |
quantum-computing.job.create | ส่ง Job | Manager, Writer |
quantum-computing.job.read | อ่านผลลัพธ์ | Manager, Reader, Writer |
quantum-computing.job.cancel | ยกเลิก job | Manager, Writer |
quantum-computing.job.delete | ลบ job | Manager |
quantum-computing.direct-access-backend-properties.read | อ่านการปรับเทียบ QPU | Manager, Reader, Writer |
quantum-computing.account-analytics-usage.read | ดูข้อมูลวิเคราะห์บัญชี | Manager, Writer (เฉพาะเมื่อ role ถูกตั้งค่าสำหรับ all resources เท่านั้น) |
quantum-computing.instance-usage.read | ดูการใช้งาน instance และเวลาที่เหลือ | Manager, Reader, Writer |
ขั้นตอนถัดไป
- ทำความเข้าใจ โครงสร้างบัญชี IBM Cloud, รวมถึงนโยบายการเข้าถึง กลุ่ม และ roles
- อ่านเกี่ยวกับ วิธีการทำงานของ IBM Cloud IAM
- อ่านเพิ่มเติมเกี่ยวกับวิธี ตั้งค่ากลุ่มการเข้าถึง
- ทำความเข้าใจ IAM Roles (เลือก Qiskit Runtime จากเมนูแบบเลื่อนลงที่ด้านบนของหน้า)
- เรียนรู้เกี่ยวกับ การสร้าง custom roles