アクセスグループとポリシーの作成
IBM Quantum® Platform でインスタンスを作成すると、コラボレーターがそのインスタンスを利用するためのアクセスグループが自動的に生成されます。そのアクセスグループをカスタマイズしたり、別のアクセスグループを作成したりする場合は、IBM® Cloud コンソールの アクセスグループ を使用してください。
アクセスグループ には ポリシー が含まれており、アクセスグループのメンバーがサービスなどの特定のリソースに対して実行できる操作を定義します。このガイドでは、リソースは主に IBM Quantum の サービスインスタンス を指します。
IBM Cloud® の コンソール、CLI、API、または Terraform を使って、追加のアクセスグループを作成することができます。
各ロールで許可されるアクションを確認するには、IAM ロール ページにアクセスし、ページ上部のドロップダウンメニューから Qiskit Runtime を選択してください。より詳細な一覧を確認するには、ロール名の隣にある列の数字をクリックします。たとえば、Manager ロールの隣の数字をクリックすると、このロールにはジョブの削除(quantum-computing.job.delete)権限が含まれていることが確認できます。
事前定義済みサービスロールのアクションを比較する セクションでは、Manager、Writer、Reader の各ロールの比較を確認できます。
IBM Quantum Administrators アクセスグループの作成
組織のアカウ ントを設定した後は、IBM Quantum Administrators アクセスグループを作成することをお勧めします。このアクセスグループにより、他のユーザーがインスタンスの作成・管理、および Qiskit Runtime サービスのユーザーアクセス管理を行えるようになります。
このアクセスグループを作成する際は、以下のポリシーを含めてください。
- Qiskit Runtime サービス — アカウント内のすべての IBM Quantum インスタンスを管理し、アカウントの使用状況分析を閲覧する権限を付与します。
- Manager サービスアクセスロール
- Administrator プラットフォーム管理アクセスロール
- すべてのアカウント管理サービス — アカウント内のすべてのリソースグループを一覧表示する権限を付与します。
- Viewer プラットフォーム管理アクセスロール
- すべての IAM アカウント管理サービス — ユーザーの招待、アクセスグループの管理、アクセスポリシーの作成権限を付与します。
- Administrator プラットフォーム管理アクセスロール
- Support Center サービス — IBM Cloud サポートセンターからサポートケースを開く権限をユーザーに付与します。
- Administrator プラットフォーム管理アクセスロール
「すべてのアカウント管理サービス」に対して viewer プラットフォーム管理ロールを持つユーザーは、請求情報などのサービスも閲覧できます。この追加閲覧アクセスを制限したい場合は、IBM Cloud CLI を使用して、リソースグループのみへのアクセス権を付与してください。
ibmcloud iam access-group-policy-create <group name> --roles Viewer --resource-type resource-group
以下の例を参考に、IBM Cloud CLI またはコンソールを使って IBM Quantum Administrators アクセスグループを作成してください。
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 アクセスグループのポリシーを作成できます。
- すべてのアカウント管理サービス(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 サービス(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"
}
]
}
]
}
- すべての IAM アカウント管理サービス(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 サービス(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 コンソールを使用する
アカウントオーナーまたは管理者として、以下の手順で IBM Quantum Administrator アクセスグループを作成します。
- IBM Cloud コンソールで 管理 > アクセス(IAM) に移動します。
- 左パネルの アクセスの管理 セクションで、アクセスグループ をクリックし、作成 をクリックします。
- 表示される アクセスグループの作成 ウィンドウで、招待するユーザーグループを表す名前と説明を入力します(例:IBM Quantum Administrators)。作成 をクリックします。
次に、Qiskit Runtime サービス、すべての IAM アカウント管理サービス、すべてのアカウント管理サービスに対するポリシーを作成します。
-
作成したアクセスグループで アクセス タブをクリックし、アクセスの割り当て をクリックします。
-
表示される ポリシーの作成 ページで、次の要素を定義します。
- サービス — Qiskit Runtime を検索して選択します。次へ をクリックします。
- リソース — すべてのリソース を選択します。次へ をクリックします。 注意:特定のインスタンスにのみ適用するポリシーを作成する場合は、代わりに 特定のリソース、サービスインスタンス、等しい を選択してインスタンスを指定します。
- ロールとアクション — 以下の値を選択します。
- サービスアクセス では Manager を選択します。
- プラットフォームアクセス では Administrator を選択します。
下部の 追加 をクリックします。右側のパネルにポリシーが表示されます。パネル下部の 割り当て をクリックします。
1 つのポリシーを含むアクセスグループが正常に作成されました。次に、同じインスタンスに対する 2 番目のポリシーを作成します。
- 同じアクセスグループで アクセス タブをクリックし、アクセスの割り当て をクリックします。
- 表示される ポリシーの作成 ページで、次の要素を定義します。
- サービス — すべての IAM アカウント管理サービス を選択します。次へ をクリックします。
- ロールとアクション — プラットフォームアクセスで Administrator を選択します。次へ をクリックします。 下部の 追加 をクリックし、割り当て をクリックします。
同じインスタンスに対する 3 番目のポリシーを作成します。
- 同じアクセスグループで アクセス タブをクリックし、アクセスの割り当て をクリックします。
- 表示される ポリシーの作成 ページで、次の要素を定義します。
- サービス — すべてのアカウント管理サービス を選択します。次へ をクリックします。
- ロールとアクション — プラットフォームアクセスで Viewer を選択します。次へ をクリックします。 下部の 追加 をクリックし、割り当て をクリックします。
同じインスタンスに対する 4 番目のポリシーを作成します。
- 同じアクセスグループで アクセス タブをクリックし、アクセスの割り当て をクリックします。
- 表示される ポリ シーの作成 ページで、次の要素を定義します。
- サービス — Support Center を選択します。次へ をクリックします。
- ロールとアクション — プラットフォームアクセスで Administrator を選択します。次へ をクリックします。 下部の 追加 をクリックし、割り当て をクリックします。
最後に、アクセスグループにユーザーを追加します。アクセスグループの ユーザー ページから追加するか、IBM Quantum Platform の アクセス管理 ページから追加できます。
招待できるのは、すでにアカウントのメンバーであるユーザーのみです。ユーザーの追加ページにユーザーが表示されない場合は、ユーザーの招待と管理 の手順に従って先にアカウントへ追加してください。招待を承諾した後、アクセスグループに追加できます。
権限の比較
以下の表は、3 つのエンティティに付与される権限を示しています。アカウントオーナー、IBM Quantum Administrators(IBM Quantum Administrators アクセスグループの作成 セクション参照)、インスタンスコラボレーター(IBM Quantum Platform を使ってインスタンスを作成すると「Collaborators」アクセスグループが自動的に生成されます)。
凡例:
✅ 権限あり
✴️ 依存関係あり
❌ 権限なし
| 権限 | アカウントオーナー | IBM Quantum Administrators(アクセスグループ) | インスタンスコラボレーター(アクセスグループ) |
|---|---|---|---|
| すべての IBM Cloud リソースへのフルアクセス | ✅ | ✅(Qiskit Runtime インスタンスのみ) | ❌(特定の Qiskit Runtime インスタンスのみ) |
| 他のユーザーへのアクセス割り当て | ✅ | ✅(Qiskit Runtime サービスのみ) | ❌ |
| サービスインスタンスの作成 | ✅(すべての IBM Cloud カタログ) | ✅(Qiskit Runtime サービスインスタンスのみ) | ❌ |
| すべてのユーザーの閲覧 | ✅ | ✅ | ✴️(ユーザー可視性設定に依存) |
| ユーザー可視性の設定 | ✅ | ❌ | ❌ |
| ア カウントへのユーザー招待 | ✅ | ✅ | ❌ |
| 請求責任 | ✅ | ❌ | ❌ |
| 請求情報の閲覧 | ✅ | ✅ | ❌ |
| オーナー通知 | ✅ | ❌ | ❌ |
| 量子ワークロードの送信 | ✅(すべての Qiskit Runtime インスタンス) | ✅(すべての Qiskit Runtime インスタンス) | ✅(特定の Qiskit Runtime インスタンスのみ) |
| 量子ワークロードの閲覧 | ✅(すべての Qiskit Runtime インスタンス) | ✅(すべての Qiskit Runtime インスタンス) | ✅(特定の Qiskit Runtime インスタンスのみ) |
| 量子ワークロードのキャンセル | ✅(すべての Qiskit Runtime インスタンス) | ✅(すべての Qiskit Runtime インスタンス) | ✅(特定の Qiskit Runtime インスタンスのみ) |
| 量子ワークロードの削除 | ✅(すべての Qiskit Runtime インスタンス) | ✅(すべての Qiskit Runtime インスタンス) | ❌ |
| サポートケースの作成 | ✅ | ✅(アクセスポリシーがアクセスグループに含まれている場合) | ✅(アクセスグループが Premium Plan インスタンスへのアクセス権を付与している場合) |
| 外部ユーザーリポジトリを IBM Cloud アカウントに接続するための ID プロバイダー の設定 | ✅ | ❌ | ❌ |
事前定義 済みサービスロールのアクションを比較する
以下の表は、事前定義済みサービスロール(Manager、Writer、Reader)が実行できるアクションの例を示しています。Quantum Service ロールとアクションの完全なマッピングについては、IBM Cloud プロダクトガイドのこちらの表を参照してください。
| アクション | 説明 | ロール |
|---|---|---|
quantum-computing.session.create | セッション/バッチの作成 | Manager、Writer |
quantum-computing.job.create | ジョブの送信 | Manager、Writer |
quantum-computing.job.read | 結果の読み取り | Manager、Reader、Writer |
quantum-computing.job.cancel | ジョブのキャンセル | Manager、Writer |
quantum-computing.job.delete | ジョブの削除 | Manager |
quantum-computing.direct-access-backend-properties.read | QPU キャリブレーションの読み取り | Manager、Reader、Writer |
quantum-computing.account-analytics-usage.read | アカウント分析の閲覧 | Manager、Writer(すべてのリソースに対してロールが設定されている場合のみ) |
quantum-computing.instance-usage.read | インスタンスの使用状況と残り時間の 閲覧 | Manager、Reader、Writer |
次のステップ
- アクセスポリシー、グループ、ロールを含む IBM Cloud アカウント構造を理解する。
- IBM Cloud IAM の仕組みについて読む。
- アクセスグループの設定方法について詳しく読む。
- IAM ロール(ページ上部のドロップダウンから Qiskit Runtime を選択)を理解する。
- カスタムロールの作成について学ぶ。