Zagadnienia dotyczące konfiguracji IBM Quantum Platform dla organizacji
IBM Quantum® Platform to panel dla instancji i obciążeń IBM Quantum Compute Service Twojego konta IBM Cloud®, zapewniający uproszczony widok zarządzania dostępem. Konto IBM Cloud organizacji może mieć wielu użytkowników i wiele instancji Quantum Compute, każda z własną alokacją. Identity and Access Management (IAM) kontroluje, którzy użytkownicy mają dostęp do których instancji usług, dzięki czemu możesz umożliwić współpracę, jednocześnie ograniczając widoczność tam, gdzie to konieczne. Zarządzanie dostępem staje się istotniejsze, jeśli masz instancje usług w planach płatnych. Zobacz Struktura konta IBM Cloud, aby uzyskać przegląd tego, jak konta, użytkownicy, instancje i dostęp łączą się ze sobą. Zapoznaj się z dokumentacją IBM Cloud IAM, aby uzyskać pełne informacje o pojęciach IAM, do których odwołuje się ten przewodnik, takich jak grupy dostępu, zasady, role i grupy zasobów.
Ten przewodnik opisuje decyzje i kompromisy związane z konfigurowaniem dostępu dla organizacji z wieloma instancjami usług — na przykład przypisywaniem jednej instancji na zespół lub obciążenie.
Jeśli Twoja organizacja ma wiele kont IBM Cloud — na przykład osobne konta dla poszczególnych jednostek biznesowych, z których każda ma własne instancje Quantum Compute — możesz połączyć je w ramach jednego konta IBM Cloud Enterprise, które ma jedno konto główne odpowiedzialne za rozliczenia oraz jedno lub więcej kont podrzędnych. Aby przenieść przydział planu Premium lub Flex między kontami podrzędnymi, skontaktuj się z pomocą techniczną IBM Quantum za pośrednictwem IBM Cloud Support Center. Pełne informacje znajdziesz w dokumentacji konta IBM Cloud Enterprise.
Przegląd
IBM Cloud® oferuje kilka sposobów wdrożenia mechanizmów opisanych w tym przewodniku. Większość kroków jest ogólna dla IBM Cloud i nie dotyczy wyłącznie Quantum Compute, z wyjątkiem szczegółów dotyczących ról niestandardowych.
Zaangażowane osoby
W tym przewodniku wymieniono następujące role:
-
Użytkownik: Osoba, która uzyskuje dostęp do zasobów Quantum Compute (instancji usług) i może potencjalnie współpracować z innymi użytkownikami przy tych zasobach. Dostęp użytkowników jest kontrolowany przez administratora, i nie mogą oni tworzyć ani usuwać instancji usług.
-
Administrator Cloud: Właściciel konta IBM Cloud, który jest właścicielem zasobów IBM Quantum Compute i zarządza tym, którzy użytkownicy mogą uzyskiwać do nich dostęp. Jako właściciel zasobów administrator ponosi koszty korzystania z płatnych zasobów.
-
Administrator IDP: Administrator, który definiuje tożsamości i ich atrybuty w dostawcy tożsamości (IDP).
Terminologia
W tym przewodniku używane są następujące terminy:
-
Zasób: Ogólny termin IBM Cloud odnoszący się do obiektu, którym można zarządzać za pośrednictwem interfejsu użytkownika Cloud, interfejsu CLI lub API. W tym przewodniku zasób oznacza instancję IBM Quantum Compute Service.
-
Instancja usługi: Instancja usługi służy do uzyskiwania dostępu do usług Cloud — konkretnie do komputerów kwantowych, poprzez IBM Quantum Compute Service. Jest definiowana za pomocą katalogu. Możesz zdefiniować kilka instancji usług opartych na tym samym lub różnych planach, które oferują dostęp do różnych Backend-ów obliczenia kwantowego. Szczegółowe informacje znajdziesz w sekcji Dostępne plany IBM Cloud.
Zaplanuj konfigurację
Przed skonfigurowaniem IBM Quantum Platform dla swojej organizacji musisz podjąć następujące decyzje:
-
W jaki sposób definiowane są tożsamości użytkowników? Możesz skonfigurować użytkowników IBM Cloud, użytkowników z innego dostawcy tożsamości (IDP) lub obie opcje.
-
Jeśli korzystasz z innego IDP, czy administrator Cloud, czy administrator IDP przypisuje użytkowników do grup dostępu?
-
Jeśli administrator IDP przypisuje użytkowników za pomocą reguł dynamicznych, potrzebujesz niestandardowego atrybutu użytkownika IDP jako klucza dopasowania (na przykład atrybutu
team).
-
-
Ile instancji usług potrzebujesz i do czego będzie służyć każda z nich? Zaplanuj starannie nazwy swoich instancji. Za każdym razem, gdy tworzysz instancję usługi za pomocą interfejsu użytkownika IBM Quantum Platform, platforma wykonuje dodatkowe wywołanie do IAM w Twoim imieniu, aby utworzyć odpowiadającą grupę dostępu (o tej samej nazwie co instancja, z dopiskiem „Collaborators”), która przyznaje dostęp do zapisu w tej instancji. Dlatego nazwy instancji stają się również nazwami grup dostępu. Ten dodatkowy krok występuje tylko wtedy, gdy tworzysz instancję za pomocą interfejsu użytkownika IBM Quantum Platform. Nie występuje, jeśli tworzysz instancję za pomocą Terraform, IBM Cloud CLI lub IBM Cloud API.
-
Obciążenia należą do instancji usług, a użytkownicy mający dostęp do instancji mogą przeglądać jej obciążenia.
-
Instancje usług mogą być oparte na różnych planach, umożliwiając dostęp do różnych Backend-ów i alokacji.
-
-
Którzy użytkownicy potrzebują dostępu do których instancji usług?
-
Czy użytkownicy powinni mieć możliwość usuwania obciążeń? Przechowywanie obciążeń w instancjach usług zapewnia lepszą możliwość śledzenia kosztów rozliczeniowych.
-
Czy będziesz używać grupy dostępu, która jest automatycznie tworzona dla każdej instancji, tworzyć dodatkowe własne grupy dostępu, przypisywać dostęp bezpośrednio poszczególnym użytkownikom, czy organizować instancje w grupy zasobów?
-
Grupy dostępu to wygodny i powszechny sposób kontrolowania dostępu użytkowników do zasobów IBM Cloud. Każda instancja usługi utworzona za pomocą interfejsu użytkownika IBM Quantum Platform ma już własną grupę dostępu „Collaborators”. Możesz używać tej grupy w niezmienionej postaci lub utworzyć dodatkowe grupy dostępu w konsoli IBM Cloud, aby grupować użytkowników według zespołu lub obciążenia (na przykład
mlifinance) w jednej lub kilku instancjach. Każda grupa dostępu korzysta z roli niestandardowej, która umożliwia użytkownikom dostęp do konkretnych instancji usług lub grup zasobów. Jeśli nie potrzebujesz grupy użytkowników z takim samym dostępem, możesz również przypisać dostęp bezpośrednio poszczególnym użytkownikom, bez grupy dostępu.- Jeśli używasz reguł dynamicznych opartych na atrybutach IDP do przypisywania użytkowników do grup dostępu, unikaj wartości atrybutów, które są podciągami innych. Na przykład, jeśli używasz
mlichemlabjako wartości atrybutów, reguła dopasowującamldopasowałaby równieżchemlab, przypadkowo przyznając szerszy dostęp niż zamierzony. Używaj unikalnych wartości, takich jakmlichem-lab, lub dodawaj prefiksy bądź sufiksy, aby uniknąć niezamierzonych dopasowań podciągów.
- Jeśli używasz reguł dynamicznych opartych na atrybutach IDP do przypisywania użytkowników do grup dostępu, unikaj wartości atrybutów, które są podciągami innych. Na przykład, jeśli używasz
-
Grupy zasobów są używane tylko wtedy, gdy konieczne jest utrzymanie wyraźnego rozdzielenia instancji usług. Podczas tworzenia instancji usługi z poziomu IBM Quantum Platform możesz wybrać, do której grupy zasobów należy (i dodać tagi), ale do tworzenia lub zarządzania grupami zasobów musisz użyć konsoli IBM Cloud. Jeśli w grupie zasobów zostaną utworzone kolejne instancje usług, wszyscy użytkownicy mający dostęp do tej grupy zasobów automatycznie je zobaczą, bez konieczności aktualizowania grup dostępu. Jeśli zdecydujesz się na używanie grup zasobów, najpierw utwórz grupy dostępu, a następnie przypisz je do grup zasobów.
uwagaInstancja usługi może należeć tylko do jednej grupy zasobów, a tego przypisania nie można zmienić po utworzeniu instancji. Dlatego grupy zasobów mogą nie zapewniać wystarczającej elastyczności, jeśli instancje usług mogą później wymagać przeniesienia między grupami zasobów.
-
Zagadnienia
Przed skonfigurowaniem środowiska zapoznaj się z poniższymi zagadnieniami.
Definiowanie bardziej szczegółowych ról
Role niestandardowe mogą być używane do bardziej szczegółowej kontroli dostępu. Na przykład niektórzy użytkownicy mogą potrzebować pełnego dostępu do pracy na instancjach usług, podczas gdy inni mogą potrzebować jedynie dostępu do odczytu instancji usług, programów i obciążeń.
Aby to osiągnąć, zdefiniuj dwie różne role niestandardowe, na przykład MLreader i MLwriter. Usuń wszystkie działania anulowania, usuwania i aktualizacji z roli niestandardowej MLreader, a w roli niestandardowej MLwriter uwzględnij wszystkie akcje. Następnie dodaj odpowiednio role do dwóch różnych grup dostępu.
Podczas korzystania z reguł dynamicznych, czyli gdy administrator IDP zarządza dostępem za pomocą niestandardowych atrybutów użytkowników IDP, nie używaj niestandardowych atrybutów użytkowników IDP, które są podciągami siebie nawzajem. Na przykład nie używaj ml i mlReader, ponieważ porównanie ciągu ml zaakceptowałoby również mlReader. Możesz użyć MLreader i MLwriter, aby uniknąć tego konfliktu.
Przykład znajdziesz w sekcji Konfigurowanie ról niestandardowych.
Dostęp do współdzielonych obciążeń
Dostęp dotyczy instancji usług. Dlatego użytkownicy z dostępem do zapisu do instancji (w tym poprzez grupę dostępu „Collaborators” automatycznie tworzoną dla instancji utworzonych za pomocą interfejsu użytkownika IBM Quantum Platform) mogą anulować własne obciążenia, ale mogą również przeglądać i anulować obciążenia innych użytkowników w tej instancji. Jest to wynik działania IAM i nie można tego zmienić.
Symuluj struktury hierarchiczne
Domyślnie dostęp do każdej instancji usługi jest zarządzany niezależnie, na przykład za pomocą grupy dostępu „Collaborators” automatycznie tworzonej dla instancji utworzonych za pomocą interfejsu użytkownika IBM Quantum Platform. IAM nie ma wbudowanej hierarchii grup, ale możesz ją przybliżyć, tworząc grupy dostępu, które odwołują się do instancji usług wielu zespołów. Użytkownicy potrzebujący szerokiego dostępu muszą zostać dodani tylko do jednej grupy „najwyższego poziomu”, zamiast do indywidualnej grupy dostępu każdego zespołu.
Spójne i powtarzalne wdrożenie konfiguracji
Kroki opisane w tym przewodniku mogą być zautomatyzowane w celu spójnego i powtarzalnego zarządzania użytkownikami, instancjami usług i mapowaniem dostępu między nimi. Zapoznaj się z dokumentacją Terraform IBM Cloud® Provider, aby uzyskać szablony.
Możesz użyć Terraform do ustawiania alokacji i limitów, a także ograniczania dostępu do Backend dla instancji usługi quantum-computing. Więcej informacji znajdziesz w artykule Getting started with Terraform on IBM Cloud.
Przykład:
resource "ibm_resource_instance" "instance1" {
name = "name"
service = "quantum-computing"
plan = "premium"
location = "us-east"
parameters = {
usage_allocation_seconds = "10" # Mandatory
usage_limit_seconds = "20" # Optional. If omitted, it can
# continue using time after reaching the allocation
backends = ["ibm_boston"] # Optional
}
}
Następne kroki
- Zapoznaj się z sekcją Konfigurowanie IBM Quantum Platform dla organizacji, aby poznać kroki konfiguracji IBM Quantum Platform.
- Zapoznaj się z dostępnymi planami.
- Twórz instancje.
- Zapoznaj się ze strukturą konta IBM Cloud.
- Twórz zasady i grupy dostępu.
- Zarządzaj użytkownikami.
- Dokumentacja IBM Cloud IAM zawierająca pełne szczegóły dotyczące IAM.
- Dokumentacja IBM Cloud Enterprise dotycząca zarządzania wieloma powiązanymi kontami.