IBM Cloud アカウント構造
IBM Quantum® Platform を設定する前に、 IBM Cloud® Identity and Access Management (IAM) のアカウント構造を理解することが重要です。 次のハイレベル図に示すように、最上位レベルにはアカウントがある。 アカウントオーナーは一人で、課金管理を独占的に管理できる。
このアカウントには、複数のユーザー およびサービスインスタンス ( IBM Quantum Compute Serviceなど)が含まれています。 各サービスインスタンスは特定のリージョンに存在し、それぞれに1つのプランが割り当てられています。そのため、ユーザーに複数のプランを提供したい場合は、複数のサービスインスタンスを用意し、それぞれを異なるプランに関連付ける必要があります。
各ユーザーには、サービス・インスタンスへのさまざまなレベルのアクセスを許可するアクセス・ポリシーが割り当てられる。 アクセス・ポリシーはアクセス・ グループとしてまとめることができる。
デフォルトでは、アカウント内の全ユーザーがお互いを見ることができます。 アカウント設定では、可視性を制限するオプションをオンにして、IAMサービスの権限を持つユーザーだけが他のユーザーを見ることができるようにすることができます。 特筆すべきは、 IBM Cloud、ユーザーグループやグループ別の管理者はサポートされていないことだ。
アクセスポリシーとグループ
前述のように、各ユーザーには1つ以上のアクセスポリシーを割り当てることができます。個別に、アクセスグループの一部として、またはその両方です。
アクセスポリシーの中で、 プラットフォームと サービスのロールを選択するか、カスタムのロールを作成することによって、アクセス許可を指定できます。 プラットフォームのロールは、インスタンスの作成や管理など、プラットフォームレベルのアクションを定義します。 サービス・ロールは、"create jobs" APIエンドポイントの呼び出し(つまり、ジョブの実行)など、サービス内でアクションを実行するためのアクセス権を付与します。
このガイドでは、IAMモデルの簡略化された表現について説明します。 詳細については、 IBM Cloud のIAMドキュメントを参照してください。
ロール
役割には、プラットフォーム管理とサービスアクセスの2つのファミリーがある。
プラットフォーム管理ロールは、ユーザー・アクセスの割り当てや、プラットフォーム・レベルでリソースを管理するためのサービス・インスタンスの作成など、許可されるアクションを定義する。 プラットフォーム・ロールは、ユーザーの招待や削除、アクセス・グループの管理、サービスIDの管理など、アカウント管理サービスのコンテキスト内で実行できるアクションにも適用されます。
サービスアクセスロールは、サービスAPIの呼び出しやサービスのダッシュボードへのアクセスなど、許可される操作を定義します。 これらの役割は、ポリシー内で選択されたサービスに基づいてカスタマイズされます。 これらのガイドにおいて、サービスは常に「Quantum Compute」となります。
アクションを実行するには、プラットフォーム管理ロールとサービスアクセスロールの組み合わせが必要になることが多い。 writer サービス・ロールは、例えばジョブを実行することはできるが、インスタンスを一覧表示することはできない。 インスタンスをリストアップするには、少なくともプラットフォーム用の viewer ロールが必要です。 以下はよく使われる役割である:
-
インスタンスの作成には、
managerサービスアクセスロールと、すべてのアカウント管理サービスのviewerプラットフォーム管理ロールが必要です。Noteすべてのアカウント管理サービスの
viewerプラットフォーム管理ロールを持つユーザーは、課金などのサービスを表示することもできます。 このような余分なビューアクセスを防ぎたい場合は、 IBM Cloud CLIを使用して、リソースグループのみにアクセスできるようにします:ibmcloud iam access-group-policy-create <group name> \ --roles Viewer --resource-type resource-group -
ジョブの実行には、インスタンスへの
writerサービス・アクセス・ロールとviewerプラットフォーム管理ロール・アクセスが必要です。
アクセスポリシー(アクセスグループまたはユーザー)を作成する際、説明を確認することで、どのアクションがロールの一部であるかを確認することができます。 例えば quantum-computing.job.create - Create a job to run a program。
また、「 IAM ロール」 ページから、各ロールで許可されているアクションを確認することもできます。 ページ上部のドロップダウンメニューから「Quantum Compute」を選択してください。 さらに詳細な一覧を表示するには、役割名の横にある列の数字をクリックしてください。 たとえば、そのページにアクセスして「マネージャー」という役割の横にある数字をクリックすると、この役割にはジョブを削除する権限が含まれていることがわかります(quantum-computing.job.delete)。
以下の表は、 IBM Quantum Compute Service の環境内でユーザーが実行できるプラットフォーム管理操作の一例を示しています。
プラットフォーム管理ロール | 量子コンピューティング |
|---|---|
| ビューアー・ロール | インスタンスとクレデンシャルの表示 |
| オペレーターの役割 | インスタンスの表示と認証情報の管理 |
| エディター・ロール | インスタンスの作成、削除、編集、および表示。 資格情報の管理 |
| 管理者ロール | サービスに対するすべての管理アクション |
以下の表は、 IBM Quantum Compute Service の環境内でユーザーが実行できるプラットフォーム管理操作の一例を示しています。
サービス・アクセス・ロール | 量子コンピューティング |
|---|---|
| リーダー | ジョブの表示など、読み取り専用アクションの実行 |
| ライター | ジョブの実行を含む、読者ロールを超える権限 |
| マネージャー | インスタンスのプロビジョニング、インスタンス・コストの上限設定、ジョブの削除やキャンセルなど、ライター・ロールを超える権限 |
次のステップ
- インスタンスを作成する。
- オープンプランからアップグレード
- IAM ロールについて理解する(ページ上部のドロップダウンから「Quantum Compute」を選択してください)。