Sie können watsonx.governance as a Service auf AWS mit Amazon SageMaker integrieren, um die Governance-, Risiko- und Compliance-Funktionen von watsonx.governance in Ihre Amazon SageMaker zu integrieren.
Vorbereitende Schritte
Sie müssen über die folgenden Dienstleistungen verfügen:
- Eine Instanz von watsonx.governance
- Eine Instanz von Amazon SageMaker
Richten Sie die folgenden Dienste auf AWS ein:
- CloudTrail: Amazon SageMaker werden in CloudTrail veröffentlicht.
- Einfacher Warteschlangen-Dienst (SQS): Verwenden Sie diesen Service, um eine Warteschlange für Ihre Amazon SageMaker einzurichten. Weitere Informationen finden Sie unter Einrichten von Amazon SQS.
- EventBridge: Verwenden Sie diesen Service, um Regeln zu definieren, die Amazon SageMaker in eine Simple Queue Service (SQS) FIFO-Warteschlange extrahieren.
- Ressourcen-Zugriffs-Manager: Mit diesem Dienst können Sie zentrale Modellregistrierungen erstellen und Ihre Ressourcen gruppieren, um sie zu verwalten. Weitere Informationen finden Sie unter Einrichten und Konfigurieren von Resource Explorer.
Stellen Sie sicher, dass die CloudTrail und EventBridge ausgeführt werden.
Planen der Konfiguration
Anmeldeinformationen für die Verbindung
Entscheiden Sie, wie Sie den Zugriff zwischen watsonx.governance und Amazon SageMaker konfigurieren möchten. Sie können eine kontoübergreifende Rolle oder Zugriffsschlüssel verwenden.
- Um eine kontenübergreifende Rolle zu verwenden, siehe Einrichten einer kontenübergreifenden Rolle.
- Informationen zur Verwendung von Zugriffstasten finden Sie unter Einrichten von Zugriffstasten.
Konten
Jede Verbindung zu Amazon SageMaker ist mit einem Konto verbunden, das eine zentralisierte Modellregistrierung besitzt. Sie können sich mit maximal zehn verschiedenen Konten verbinden, jedes mit einer Modellregistrierung. Weitere Informationen zur Verwendung von mehr als einer zentralen Modellregistrierung finden Sie unter Guidance for Multi-Account Machine Learning Model Governance on AWS.
Geschäftsentitäten
Entscheiden Sie, welche Wirtschaftseinheiten Sie verwenden möchten. Sie benötigen für jede Amazon SageMaker, die Sie konfigurieren, eine eigene Geschäftseinheit. Diese Wirtschaftseinheit muss sich auf der Stammebene befinden und darf kein Kind einer anderen Wirtschaftseinheit sein. Nur Anwendungsfälle unter der konfigurierten Geschäftseinheit, zusammen mit ihren zugehörigen Modellgruppen und Modellen, werden von watsonx.governance und Amazon SageMaker verwaltet.
Die Geschäftseinheit ist die Muttergesellschaft der Anwendungsfälle, muss aber nicht die primäre Muttergesellschaft sein. Sie können die Wirtschaftseinheit für andere Zwecke verwenden.
Die Benutzer müssen die Wirtschaftseinheit auswählen, wenn sie Anwendungsfälle erstellen. Stellen Sie sicher, dass Ihre Benutzer wissen, welche Geschäftseinheit sie verwenden müssen. Stellen Sie außerdem sicher, dass die Genehmiger von Anwendungsfällen überprüfen, ob die Geschäftseinheit korrekt eingestellt ist, bevor sie einen Anwendungsfall genehmigen. Wenn die Geschäftseinheit nicht korrekt eingestellt ist, bevor ein Anwendungsfall genehmigt wird, werden der Anwendungsfall und seine untergeordneten Modellgruppen und Modelle nicht mit Amazon SageMaker synchronisiert.
Wenn ein Benutzer zum Beispiel ein untergeordnetes Element der von Ihnen konfigurierten Wirtschaftseinheit auswählt und der Anwendungsfall genehmigt wird, synchronisiert der Synchronisierungsauftrag den Anwendungsfall nicht mit Amazon SageMaker.
Um den Benutzern zu helfen, verwenden Sie Sicherheitsdomänen, um den Zugriff auf die spezifischen Geschäftseinheiten zu ermöglichen, die sie benötigen.
Führen Sie die folgenden Schritte aus:
- Entscheiden Sie für jede Verbindung, welche Wirtschaftseinheit verwendet werden soll. Wenn Sie eine neue Wirtschaftseinheit verwenden möchten, legen Sie diese an, bevor Sie die Verbindung zu Amazon SageMaker konfigurieren. Um eine Wirtschaftseinheit zu erstellen, müssen Sie über administrative Berechtigungen verfügen.
- Geben Sie den Benutzern in der Governance-Konsole Zugriff auf die Sicherheitsdomäne für die Wirtschaftseinheit. Erstellen Sie z. B. eine Gruppe, fügen Sie der Gruppe Benutzer hinzu und verknüpfen Sie die Gruppe mit der Sicherheitsdomäne der Wirtschaftseinheit. Weitere Informationen finden Sie unter Sicherheitsdomänen.
Standardprofil und Standardbenutzer
Für jede Verbindung benötigen Sie ein Standardprofil und einen Standardbenutzer.
Das Standardprofil wird verwendet, um die vorsignierten Links in den Aufgabenansichten zu erzeugen. Diese Links öffnen Amazon SageMaker unter Verwendung des Standardprofils. Geben Sie dem Standardprofil die minimalen Zugriffsrechte, die von den Governance-Benutzern benötigt werden, um mehr Informationen über Modellgruppen und Modelle in Amazon SageMaker zu erhalten.
Der vorsignierte Link ist fünf Minuten lang gültig. Nach dieser Zeit müssen die Benutzer die Aufgabenansicht aktualisieren, um den Link neu zu generieren.
Der Standardbenutzer wird in den folgenden Fällen verwendet:
- Wenn ein Modell keinen zugewiesenen Eigentümer hat, wird der Modelleigentümer auf diesen Standardbenutzer festgelegt.
- Wenn der Eigentümer eines Modells kein Konto in der Governance-Konsole hat, wird der Modelleigentümer auf diesen Standardbenutzer festgelegt.
Einrichten von Anmeldeinformationen
Sie können eine kontoübergreifende Rolle oder Zugriffsschlüssel verwenden, um sich mit Amazon SageMaker zu verbinden. Erwägen Sie die Verwendung einer kontoübergreifenden Rolle für mehr Sicherheit.
Einrichten einer kontenübergreifenden Rolle
Diese Aufgabe ist erforderlich, wenn Sie eine kontoübergreifende Rolle verwenden möchten, um Amazon SageMaker mit watsonx.governance zu integrieren. Weitere Informationen finden Sie unter Kontoübergreifender Ressourcenzugriff in IAM.
Um die kontenübergreifende Rolle einzurichten, führen Sie die folgenden Schritte aus:
- Generieren Sie eine externe ID für das AWS.
- Verbinden Sie die folgenden Richtlinien mit der Rolle:
AmazonSageMakerFullAccess
undAmazonSQSFullAccess
. - Fügen Sie die externe ID zur Vertrauensrichtlinie der Rolle hinzu.
Beispiel einer Rollendefinition
Sie können das folgende Terraform-Skript als Anleitung verwenden, um die kontoübergreifende Rolle zu erstellen.
Das Skript führt die folgenden Aktionen aus:
- Das Skript erstellt eine IAM-Rolle, die
Aws_Sagemaker_Sqs_Cross_Account_Role
heißt. - Das Skript weist der Rolle die externe ID
123456
zu. - Das Skript gibt der Rolle Zugriff auf die folgenden Dienste:
sqs.amazonaws.com
sagemaker.amazonaws.com
- Das Skript fügt der Rolle dann die folgenden Richtlinien zu:
AmazonSQSFullAccess
AmazonSageMakerFullAccess
Ersetzen Sie in der folgenden Zeile 999999999999
durch die ID des watsonx.governance.
+ AWS = "arn:aws:iam::999999999999:root"
Dabei gilt:
arn:aws:iam::767397658217:root
ist die ID des watsonx.governance, wenn der Kunde eine Instanz vom AWS Marketplace installiert.arn:aws:iam::384547875043:root
ist die ID des watsonx.governance, wenn der Benutzer eine Instanz von IBM installiert.# module.iam.aws_iam_role.aws_sagemaker_sqs_cross_account_role[0] will be created + resource "aws_iam_role" "aws_sagemaker_sqs_cross_account_role" { + arn = (known after apply) + assume_role_policy = jsonencode( { + Statement = [ + { + Action = "sts:AssumeRole" + Condition = { + StringEquals = { + "sts:ExternalId" = "123456" } } + Effect = "Allow" + Principal = { + AWS = "arn:aws:iam::999999999999:root" + Service = [ + "sqs.amazonaws.com", + "sagemaker.amazonaws.com", ] } }, ] + Version = "2012-10-17" } ) + create_date = (known after apply) + force_detach_policies = false + id = (known after apply) + managed_policy_arns = (known after apply) + max_session_duration = 3600 + name = "Aws_Sagemaker_Sqs_Cross_Account_Role" + name_prefix = (known after apply) + path = "/" + tags_all = (known after apply) + unique_id = (known after apply) } # module.iam.aws_iam_role_policy_attachment.AmazonSQSFullAccess_role_policy_attach[0] will be created + resource "aws_iam_role_policy_attachment" "AmazonSQSFullAccess_role_policy_attach" { + id = (known after apply) + policy_arn = "arn:aws:iam::aws:policy/AmazonSQSFullAccess" + role = "Aws_Sagemaker_Sqs_Cross_Account_Role" } # module.iam.aws_iam_role_policy_attachment.AmazonSageMakerFullAccess_cross_role_policy_attach[0] will be created + resource "aws_iam_role_policy_attachment" "AmazonSageMakerFullAccess_cross_role_policy_attach" { + id = (known after apply) + policy_arn = "arn:aws:iam::aws:policy/AmazonSageMakerFullAccess" + role = "Aws_Sagemaker_Sqs_Cross_Account_Role" }
Einrichten eines Zugangsschlüssels
Führen Sie diese Aufgabe aus, wenn Sie Zugriffsschlüssel verwenden möchten, um Amazon SageMaker mit watsonx.governance zu verbinden.
Richten Sie in AWS einen langfristigen Zugangsschlüssel für die Integration mit watsonx.governance ein. Ihr Berechtigungsnachweis muss über die folgenden Zugriffsrechte verfügen:
- Programmatischer Zugang zum Simple Queue Service (SQS)
- Programmatischer Zugang zu den Amazon SageMaker APIs
- Berechtigungen zum Aktualisieren von Modellkarten in Amazon SageMaker
Weitere Informationen finden Sie unter AWS.
Einrichten von AWS für die Integration
Führen Sie die folgenden Schritte aus:
- Einrichten einer SQS-Warteschlange
- Richten Sie eine Amazon EventBridge ein und fügen Sie Ihre SQS-Warteschlange als Ziel für die Regel hinzu.
Einrichten einer SQS-Warteschlange
Die Integration verwendet eine SQS-Warteschlange, um Benachrichtigungen über Änderungen in Modellgruppen und Modellen zu erhalten.
Richten Sie für jede Verbindung eine SQS-Warteschlange im Konto ein.
Um eine SQS-Warteschlange einzurichten, führen Sie die folgenden Schritte aus:
- Wählen Sie in der AWS den Simple Queue Service aus.
- Klicken Sie auf Warteschlange erstellen.
- Geben Sie einen Namen für die Warteschlange ein, und geben Sie dann die folgenden Informationen ein:
- Typ: FIFO
- Sichtbarkeits-Timeout: 30 Sekunden
- Aufbewahrungsfrist für Nachrichten: 4 Tage
- Maximale Nachrichtengröße: 256 KB
- Lieferverzug: 0
- Wartezeit beim Empfang von Nachrichten: 0
- Aktivieren Sie unter FIFO-Warteschlangeneinstellungen die folgenden Optionen:
- Inhaltsbasierte Deduplizierung
- FIFO-Warteschlange mit hohem Durchsatz
Die SQS-Warteschlange ist definiert. Als nächstes richten Sie eine EventBridge ein.
Einrichten einer EventBridge
Um eine EventBridge einzurichten und Ihre SQS-Warteschlange als Ziel hinzuzufügen, führen Sie die folgenden Schritte aus:
- Wählen Sie in der AWS den Amazon EventBridge aus.
- Klicken Sie auf Regel erstellen.
- Geben Sie einen Namen für die Regel ein, und klicken Sie dann auf Weiter.
- Klicken Sie für die Ereignisquelle auf Andere.
- Klicken Sie für die Erstellungsmethode auf Benutzerdefiniertes Muster (JSON-Editor), und geben Sie dann das folgende JSON für das Ereignismuster ein:
{ "source": ["aws.sagemaker"], "detail-type": ["AWS API Call via CloudTrail"], "detail": { "eventSource": ["sagemaker.amazonaws.com"], "eventName": ["CreateModelPackage", "CreateModelPackageGroup" "DeleteModelPackage", "DeleteModelPackageGroup", "UpdateModelPackage"] } }
- Klicken Sie auf Weiter.
- Setzen Sie das Ziel auf die von Ihnen erstellte SQS-Warteschlange.
- Klicken Sie auf den verbleibenden Seiten auf Weiter, und klicken Sie dann auf Regel erstellen.
Sie haben nun eine EventBridge mit Ihrer SQS-Warteschlange als Ziel der Regel.
Konfigurieren der Integration
Für diese Aufgabe benötigen Sie AWS.
- Wenn Sie eine kontoübergreifende Rolle verwenden, benötigen Sie die folgenden Informationen:
- Der Amazon Resource Name (ARN) der Rolle.
- Die externe ID der Rolle.
- Die Amazon URL, die Sie für die Integration eingerichtet haben.
- Der ARN des Standardprofils für vordefinierte URLs.
- Wenn Sie Zugangsschlüssel verwenden, benötigen Sie die folgenden Informationen:
- Ihre AWS.
- Die Zugangsschlüssel-ID und die geheime ID, die Sie für die Integration eingerichtet haben.
- Die Amazon URL, die Sie für die Integration eingerichtet haben.
- Der ARN des Standardprofils für vordefinierte URLs.
Erforderliche Berechtigung: Sie benötigen die Berechtigung All/SOX/Administration/SageMaker in der Governance-Konsole.
Um die Integration zu konfigurieren, führen Sie die folgenden Schritte aus:
- Melden Sie sich als Administrator bei der Governance-Konsole an.
- Klicken Sie auf
> Integrationen > Amazon SageMaker.
- Klicken Sie auf Neue Verbindung.
- Führen Sie unter Allgemeine Konfiguration die folgenden Schritte aus:
- Geben Sie eine Beschreibung ein.
- Wählen Sie die übergeordnete Geschäftseinheit für diese Amazon SageMaker. Verwenden Sie für jede Verbindung, die Sie konfigurieren, eine andere Wirtschaftseinheit. Weitere Informationen finden Sie unter Wirtschaftseinheiten.
- Wählen Sie einen Standardbenutzer aus. Weitere Informationen finden Sie unter Standardprofil und Standardbenutzer.
- Geben Sie unter AWS Ihre AWS und Ihre Region ein.
- Geben Sie in das Feld Standardprofil ARN den ARN des Standardprofils ein, das Sie für Ihr Konto erstellt haben.
- Geben Sie Ihre Berechtigungsnachweise ein.
- Um den Zugriff über eine Rolle einzurichten, klicken Sie auf Konto-übergreifende Rolle. Geben Sie den ARN der Rolle und die externe ID ein.
- Um den Zugriff mit Hilfe von Schlüsseln einzurichten, klicken Sie auf Zugriffstasten. Geben Sie Ihre AWS, Zugriffsschlüssel-ID und geheime Schlüssel-ID ein.
- Geben Sie die Region Ihrer watsonx.governance ein, zum Beispiel
us-east-1
.
- Geben Sie in das Feld URL die URL der SQS-Warteschlange ein, die Sie für das Konto konfiguriert haben.
- Klicken Sie auf Verbindung testen und dann auf Speichern.
- Klicken Sie auf das Kästchen, um die Integration zu aktivieren. Der automatische Synchronisierungsprozess beginnt. Um den Fortschritt zu sehen, klicken Sie auf Andere > Hintergrundprozesse. Dieser Prozess synchronisiert die Aktualisierungen von diesem Zeitpunkt an.
- Wenn Sie bereits Modelle in Amazon SageMaker, haben, müssen Sie eine manuelle Synchronisation durchführen. Klicken Sie auf Vorhandene Modellinformationen synchronisieren. Die Tabelle SageMaker zeigt den Fortschritt der manuellen Synchronisation des Kontos.
Ihre Amazon SageMaker sind jetzt in der Governance-Konsole verfügbar.
Wenn Sie bereits Modellgruppen und Modelle in Amazon SageMaker haben, die außerhalb des watsonx.governance Anwendungsfall-Workflows erstellt wurden, müssen Sie die Modellgruppen manuell mit den zugehörigen Anwendungsfällen verknüpfen.
Datensynchronisation
Der automatische Synchronisierungsprozess wartet auf die folgenden Aktionen:
- In Amazon SageMaker erstelltes Modellpaket CreateModelPackage )
- Modellpaket in Amazon SageMaker aktualisiert UpdateModelPackage )
- Modellpaket in Amazon SageMaker gelöscht DeleteModelPackage )
- Modellgruppe erstellt CreateModelPackageGroup )
- Modellgruppe gelöscht DeleteModelPackageGroup )
Um den Status der automatischen Synchronisierungsprozesse anzuzeigen, klicken Sie auf Andere > Hintergrundprozesse.
Um den Status der manuellen Synchronisierungsprozesse anzuzeigen, klicken Sie auf > Integrationen > Amazon SageMaker. Die Tabelle SageMaker listet die manuellen Synchronisationsprozesse für alle Verbindungen auf. Um den Status einer bestimmten Verbindung anzuzeigen, klicken Sie in der Tabelle Verbindungen auf den Namen dieser Verbindung.
Weitere Informationen
Erfahren Sie mehr über diese Prozessabläufe:
Übergeordnetes Thema: Einrichten Ihrer watsonx.governance auf AWS