アクセスグループとポリシーを作成する
IBM Quantum® Platform でインスタンスを作成すると、共同作業者がそのインスタンスを使用するためのアクセスグループが自動的に生成されます。 そのアクセスグループをカスタマイズしたり、他のアクセスグループを作成したりする場合は、 アクセスグループ用の IBM® Cloud コンソールを使用します。
アクセスグループには、アクセスグループのメンバーがサービスなどの特定のリソースに対して実行できるアクションを定義するポリシーが含まれます。 このガイドでは、リソースは一般的に IBM Quantum サービスインスタンスである。
IBM Cloud® コンソール、 CLI、 API、 またはTerraform を使用して、追加のアクセスグループを作成できます。
各ロールで許可されている操作を確認するには、 IAM ロールページで、ページ上部のドロップダウンメニューから「Quantum Compute」を選択します。 より詳細な一覧を表示するには、役職名の横にある列の数字をクリックしてください。 たとえば、そのページにアクセスして「マネージャー」という役割の横にある数字をクリックすると、この役割にはジョブを削除する権限が含まれていることがわかります(quantum-computing.job.delete)。
Compare pre-defined service role actions セクションでは、定義済みのManager、Writer、Readerロールの比較を行います。
IBM Quantum 管理者アクセスグループを作成する
組織のアカウントを設定した後、「 IBM Quantum 」の管理者アクセスグループを作成することをお勧めします。 このアクセスグループにより、他のユーザーはインスタンスの作成および管理、ならびに IBM Quantum Compute Serviceのユーザーアクセス権限の管理を行うことができます。
このアクセスグループを作成する際には、以下のポリシーを含める:
- IBM Quantum Compute Service - アカウント内のすべての IBM Quantum インスタンスを管理し、アカウントの使用状況分析を表示するためのアクセス権を付与します。
- マネージャー・ サービス・アクセス・ロール
- 管理者プラットフォーム管理アクセスロール
- すべてのアカウント管理サービス - アカウント内のすべてのリソースグループのリストへのアクセスを許可します。
- ビューアプラットフォーム管理アクセスロール
- すべてのIAMアカウント管理サービス - ユーザーを招待するためのアクセス権の付与、アクセスグループの管理、アクセスポリシーの作成。
- 管理者プラットフォーム管理アクセスロール
- サポートセンターサービス - ユーザーが IBM Cloud サポートセンターを通じてサポートケースを開くことができるよう、アクセス権を付与する。
- 管理者プラットフォーム管理アクセスロール
すべてのアカウント管理サービス」の viewer プラットフォーム管理ロールを持つユーザーは、課金などのサービスを表示することもできます。 このような余分なビューアクセスを防ぎたい場合は、 IBM Cloud CLIを使用して、リソースグループのみにアクセスできるようにします:
ibmcloud iam access-group-policy-create \
(<group name> --roles Viewer --resource-type resource-group)
--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 アクセス グループ用のポリシーを作成できます:
- すべてのアカウント・マネジメント・サービス(ビューア)
{
"type": "access",
"roles": [
{
"role_id": "crn:v1:bluemix:public:iam::::role:Viewer"
}
],
"resources": [
{
"attributes": [
{
"name": "accountId",
"value": "[ACCOUNT_ID]"
},
{
"name": "serviceType",
"value": "platform_service"
}
]
}
]
}- IBM Quantum コンピューティングサービス(マネージャー、管理者)
{
"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アカウント管理サービス(管理者)
{
"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"
}
]
}
]
}- サポートセンターサービス(管理者)
{
"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 コンソールの Manage > Access (IAM) にアクセスする。
- 左側のパネルの「 Manage access(アクセス管理)」 セクションで「 Access groups(アクセスグループ) 」をクリックし、「 Create(作成) 」をクリックします。
- 開いたアクセスグループの作成ウィンドウで、招待するユーザーグループを表す名前と説明を追加します。 例えば、 IBM Quantum Administrators。 「作成 (Create)」 をクリックします。
次に、 IBM Quantum Compute Service、すべてのIAMアカウント管理サービス、およびすべてのアカウント管理サービスに対するポリシーを作成します。
-
作成したアクセスグループで、 「アクセス」 タブをクリックし、「 アクセス権の割り当て 」をクリックします。
-
開いたポリシーの作成ページで、これらの要素を定義します:
- サービス - 「Quantum Compute」を検索して選択します。 **「次へ」**をクリックします。
- リソース - すべてのリソースを選択します。 次へ をクリックします。 注:特定のインスタンスにのみ適用するポリシーを作成する場合は、代わりに「 Specific resources(特定のリソース )」、「 Service instance(サービス・インスタンス )」、「 string equals(文字列イコール) 」を選択し、インスタンスを選択します。
- 役割とアクション - 以下の値を選択する:
- サービスアクセスでは、 マネージャーを選択します。
- プラットフォームへのアクセスは、 Administrator を選択します。
一番下で Addをクリック。 右側のパネルにポリシーが表示されるはずです。 そのパネルの一番下にある Assignをクリックします。
これで、1つのポリシーでアクセスグループが作成できました。 次に、同じインスタンスに対して2つ目のポリシーを作成する。
- 同じアクセスグループで、 「アクセス」 タブをクリックし、「 アクセスの割り当て 」をクリックします。
- 開いたポリシーの作成ページで、これらの要素を定義します:
- サービス ] - [ すべての IAM アカウント管理サービス ] を選択します。 次へ をクリックします。
- Roles and actions(役割とアクション )] - [Platform access(プラットフォームアクセス)] では、 [Administrator] を選択し、[ Next] をクリックします。 一番下で Addをクリックし、 Assignをクリックします。
同じインスタンスに対して3つ目のポリシーを作成する。
- 同じアクセスグループで、 「アクセス」 タブをクリックし、「 アクセスの割り当て 」をクリックします。
- 開いたポリシーの作成ページで、これらの要素を定義します:
- サービス - すべてのアカウント管理サービスを選択します。 次へ をクリックします。
- Roles and actions(役割とアクション ) - Platform access(プラットフォーム・アクセス)では、 Viewer(ビューア )を選択し、 Next(次へ )をクリックします。 一番下で Addをクリックし、 Assignをクリックします。
同じインスタンスに4つ目のポリシーを作成する。
- 同じアクセスグループで、 「アクセス」 タブをクリックし、「 アクセスの割り当て 」をクリックします。
- 開いたポリシーの作成ページで、これらの要素を定義します:
- サービス - サポートセンターを選択してください。 次へ をクリックします。
- 役割とアクション - プラットフォームへのアクセスでは、 管理者を選択します。 次へ をクリックします。 一番下で Addをクリックし、 Assignをクリックします。
最後に、アクセスグループにユーザーを追加する。 これは、アクセスグループの「 ユーザー」 ページから行うか、 IBM Quantum Platform Access 管理ページを使用して行うことができます。
招待できるのは、すでにそのアカウントのメンバーであるユーザーだけです。 Add usersページにユーザーが表示されない場合は、 Invite and manage usersの手順に従って、まずユーザーをアカウントに追加してください。 相手が招待を受け入れたら、アクセスグループに追加することができます。
権限を比較する
次の表は、アカウント所有者、 IBM Quantum 管理者 ( IBM Quantum 管理者アクセスグループの作成セクションを参照)、およびインスタンス共同作業者( IBM Quantum Platform を使用してインスタンスを作成するたびに、「Collaborators」アクセスグループが自動的に生成されます)の 3 つのエンティティに付与される権限を示しています。
キー:
許可を得ている
✴️ 依存関係を伴う
❌ 許可がない
許可 | アカウント所有者 | IBM Quantum 管理者(アクセスグループ) | インスタンスの協力者(アクセスグループ) |
|---|---|---|---|
| すべての IBM Cloud リソースへのフルアクセス | ✅ | ✅( Quantum Compute インスタンスのみ ) | ❌( 特定のQuantum Computeインスタンスのみ ) |
| 他者にアクセスを割り当てる | ✅ | ✅ ( IBM Quantum Compute Serviceのみ ) | ❌ |
| サービス・インスタンスの作成 | ✅ (すべて IBM Cloud カタログ ) | ✅ ( Quantum Compute インスタンスのみ ) | ❌ |
| すべてのユーザーの表示 | ✅ | ✅ | ✴️ (ユーザーの可視性設定による ) |
| ユーザーの可視性を設定する | ✅ | ❌ | ❌ |
| ユーザーをアカウントに招待します。 | ✅ | ✅ | ❌ |
| 請求責任 | ✅ | ❌ | ❌ |
| 請求情報の表示 | ✅ | ✅ | ❌ |
| オーナー通知 | ✅ | ❌ | ❌ |
| 量子ワークロードの提出 | ✅( すべてのQuantum Computeインスタンスで ) | ✅( すべてのQuantum Computeインスタンスで ) | ✅ ( 特定のQuantum Computeインスタンスのみ ) |
| 量子ワークロードを見る | ✅( すべてのQuantum Computeインスタンスで ) | ✅( すべてのQuantum Computeインスタンスで ) | ✅ ( 特定のQuantum Computeインスタンスのみ ) |
| 量子ワークロードのキャンセル | ✅( すべてのQuantum Computeインスタンスで ) | ✅( すべてのQuantum Computeインスタンスで ) | ✅ ( 特定のQuantum Computeインスタンスのみ ) |
| 量子ワークロードの削除 | ✅( すべてのQuantum Computeインスタンスで ) | ✅( すべてのQuantum Computeインスタンスで ) | ❌ |
| サポートケースの作成 | ✅ | ✅ (アクセスポリシーがアクセスグループに含まれている場合 ) | ✅ (アクセスグループがプレミアムプランインスタンスにアクセスする場合 ) |
| 外部ユーザーリポジトリを IBM Cloud アカウントに接続するために、 ID プロバイダを設定する | ✅ | ❌ | ❌ |
事前定義されたサービスロールアクションを比較する
以下の表は、定義済みのサービス・ロール・アクションで実行できるアクションの例を示しています:マネージャー,ライター,リーダー. Quantum Service のロールとアクションの完全な対応付けについては、 IBM Cloud 製品ガイドのこの表を参照してください。
アクション | 説明 | ロール |
|---|---|---|
quantum-computing.session.create | セッション/バッチの作成 | 管理者、ライター |
quantum-computing.job.create | ジョブの実行依頼 | 管理者、ライター |
quantum-computing.job.read | 結果を読む | マネージャー、リーダー、ライター |
quantum-computing.job.cancel | ジョブをキャンセルします | 管理者、ライター |
quantum-computing.job.delete | ジョブの削除 | マネージャー |
quantum-computing.direct-access-backend-properties.read | QPUの校正値を読み込む | マネージャー、リーダー、ライター |
quantum-computing.account-analytics-usage.read | アカウント分析を見る | マネージャー、ライター (すべてのリソースにロールが設定されている場合のみ) |
quantum-computing.instance-usage.read | インスタンス使用量と残り時間を見る | マネージャー、リーダー、ライター |
次のステップ
- IBM Cloud アカウント構造 (アクセスポリシー、グループ、ロールを含む)を理解する。
- IBM Cloud のIAMの仕組みについてご覧ください。
- アクセスグループの設定方法について詳しくはこちらをご覧ください。
- IAM ロールについて理解する(ページ上部のドロップダウンから「Quantum Compute」を選択してください)。
- カスタムロールの作成について学ぶ。