Freigeben eines benutzerdefinierten Modells für ein anderes AWS-Konto - Amazon Comprehend

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Freigeben eines benutzerdefinierten Modells für ein anderes AWS-Konto

Mit Amazon Comprehend können Sie Ihre benutzerdefinierten Modelle mit anderen teilen, sodass diese Ihre Modelle in ihre AWS Konten importieren können. Wenn ein Benutzer eines Ihrer benutzerdefinierten Modelle importiert, erstellt er ein neues benutzerdefiniertes Modell in seinem Konto. Ihr neues Modell dupliziert das Modell, das Sie geteilt haben.

Um ein benutzerdefiniertes Modell freizugeben, fügen Sie ihm eine Richtlinie an, die andere zum Importieren autorisiert. Anschließend stellen Sie diesen Benutzern die Details bereit, die sie benötigen.

Anmerkung

Wenn andere Benutzer ein benutzerdefiniertes Modell importieren, das Sie freigegeben haben, müssen sie dasselbe verwenden, z. AWS-Region B. USA Ost (Nord-Virginia), das Ihr Modell enthält.

Bevor Sie beginnen

Bevor Sie ein Modell freigeben können, benötigen Sie einen trainierten benutzerdefinierten Classifier oder einen benutzerdefinierten Entity Recognizer in Amazon Comprehend in Ihrem AWS-Konto. Weitere Informationen zum Trainieren benutzerdefinierter Modelle finden Sie unter Benutzerdefinierte Klassifizierung oder Erkennung benutzerdefinierter Entitäten.

Erforderliche Berechtigungen

Bevor Sie einem benutzerdefinierten Modell eine ressourcenbasierte Richtlinie hinzufügen können, benötigen Sie Berechtigungen in AWS Identity and Access Management (IAM). Ihrem Benutzer, Ihrer Gruppe oder Ihrer Rolle muss eine Richtlinie angefügt sein, damit Sie Modellrichtlinien erstellen, abrufen und löschen können, wie im folgenden Beispiel gezeigt.

Beispiel IAM-Richtlinie zur Verwaltung ressourcenbasierter Richtlinien für benutzerdefinierte Modelle
{ "Effect": "Allow", "Action": [ "comprehend:PutResourcePolicy", "comprehend:DeleteResourcePolicy", "comprehend:DescribeResourcePolicy" ], "Resource": "arn:aws:comprehend:us-west-2:111122223333:document-classifier/foo/version/*" }

Informationen zum Erstellen einer IAM-Richtlinie finden Sie unter Erstellen von IAM-Richtlinien im IAM-Benutzerhandbuch. Informationen zum Anfügen einer IAM-Richtlinie finden Sie unter Hinzufügen und Entfernen von IAM-Identitätsberechtigungen im IAM-Benutzerhandbuch.

Wenn Sie ein verschlüsseltes Modell freigeben, müssen Sie möglicherweise Berechtigungen für hinzufügenAWS KMS. Diese Anforderung hängt von der Art des KMS-Schlüssels ab, den Sie zum Verschlüsseln des Modells in Amazon Comprehend verwenden.

Ein AWS-eigener Schlüssel ist im Besitz eines -AWSService und wird von diesem verwaltet. Wenn Sie eine verwendenAWS-eigener Schlüssel, müssen Sie keine Berechtigungen für hinzufügenAWS KMS, und Sie können diesen Abschnitt überspringen.

Ein vom Kunden verwalteter Schlüssel ist ein Schlüssel, den Sie in Ihrem erstellen, besitzen und verwaltenAWS-Konto. Wenn Sie einen vom Kunden verwalteten Schlüssel verwenden, müssen Sie Ihrer KMS-Schlüsselrichtlinie eine Anweisung hinzufügen.

Die Richtlinienanweisung autorisiert eine oder mehrere Entitäten (z. B. Benutzer oder Konten), die AWS KMS Operationen auszuführen, die zum Entschlüsseln des Modells erforderlich sind.

Sie verwenden Bedingungsschlüssel, um das Confused-Deputy-Problem zu vermeiden. Weitere Informationen finden Sie unter Serviceübergreifende Confused-Deputy-Prävention.

Verwenden Sie die folgenden Bedingungsschlüssel in der Richtlinie, um die Entitäten zu validieren, die auf Ihren KMS-Schlüssel zugreifen. Wenn ein Benutzer das Modell importiert, AWS KMS überprüft , ob der ARN der Quellmodellversion mit der Bedingung übereinstimmt. Wenn Sie keine Bedingung in die Richtlinie aufnehmen, können die angegebenen Prinzipale Ihren KMS-Schlüssel verwenden, um jede Modellversion zu entschlüsseln:

  • aws:SourceArn – Verwenden Sie diesen Bedingungsschlüssel mit den kms:Decrypt Aktionen kms:GenerateDataKey und .

  • kms:EncryptionContext – Verwenden Sie diesen Bedingungsschlüssel mit den kms:CreateGrant Aktionen kms:Decrypt, und kms:GenerateDataKey.

Im folgenden Beispiel autorisiert die Richtlinie AWS-Konto 444455556666 , Version 1 des angegebenen Classifier-Modells zu verwenden, das gehörtAWS-Konto111122223333.

Beispiel KMS-Schlüsselrichtlinie für den Zugriff auf eine bestimmte Classifier-Modellversion
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::444455556666:root" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:comprehend:us-west-2:111122223333:document-classifier/classifierName/version/1" } } }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::444455556666:root" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:aws:comprehend:arn": "arn:aws:comprehend:us-west-2:111122223333:document-classifier/classifierName/version/1" } } } ] }

Die folgende Beispielrichtlinie autorisiert Benutzer ExampleUser von AWS-Konto 444455556666 und ExampleRole von AWS-Konto 123456789012 zum Zugriff auf diesen KMS-Schlüssel über den Amazon Comprehend-Service.

Beispiel KMS-Schlüsselrichtlinie, um den Zugriff auf den Amazon Comprehend-Service zu ermöglichen (Alternative 1).
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::444455556666:user/ExampleUser", "arn:aws:iam::123456789012:role/ExampleRole" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringLike": { "aws:SourceArn": "arn:aws:comprehend:*" } } }, { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::444455556666:user/ExampleUser", "arn:aws:iam::123456789012:role/ExampleRole" ] }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:comprehend:arn": "arn:aws:comprehend:*" } } } ] }

Die folgende Beispielrichtlinie autorisiert AWS-Konto 444455556666 , über den Amazon Comprehend-Service auf diesen KMS-Schlüssel zuzugreifen, wobei eine alternative Syntax zum vorherigen Beispiel verwendet wird.

Beispiel KMS-Schlüsselrichtlinie, um den Zugriff auf den Amazon Comprehend-Service zu ermöglichen (Alternative 2).
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::444455556666:root" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:comprehend:arn": "arn:aws:comprehend:*" } } } ] }

Weitere Informationen finden Sie unter Schlüsselrichtlinien in AWS KMS im Entwicklerhandbuch für AWS Key Management Service.

Ressourcenbasierte Richtlinien für benutzerdefinierte Modelle

Bevor ein Amazon Comprehend-Benutzer in einem anderen ein benutzerdefiniertes Modell aus Ihrem AWS Konto importieren AWS-Konto kann, müssen Sie ihn dazu autorisieren. Um sie zu autorisieren, fügen Sie der Modellversion, die Sie freigeben möchten, eine ressourcenbasierte Richtlinie hinzu. Eine ressourcenbasierte Richtlinie ist eine IAM-Richtlinie, die Sie einer Ressource in anfügenAWS.

Wenn Sie eine Ressourcenrichtlinie an eine benutzerdefinierte Modellversion anfügen, autorisiert die Richtlinie Benutzer, Gruppen oder Rollen, die comprehend:ImportModel Aktion für die Modellversion auszuführen.

Beispiel Ressourcenbasierte Richtlinie für eine benutzerdefinierte Modellversion

In diesem Beispiel werden die autorisierten Entitäten im Principal Attribut angegeben. Ressource „*“ bezieht sich auf die spezifische Modellversion, an die Sie die Richtlinie anfügen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "comprehend:ImportModel", "Resource": "*", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:user/ExampleUser", "arn:aws:iam::123456789012:role/ExampleRole" ] } } ] }

Für Richtlinien, die Sie an benutzerdefinierte Modelle anfügen, comprehend:ImportModel ist die einzige Aktion, die Amazon Comprehend unterstützt.

Weitere Informationen zu ressourcenbasierten Richtlinien finden Sie unter Identitätsbasierte Richtlinien und ressourcenbasierte Richtlinien im IAM-Benutzerhandbuch.

Schritt 1: Hinzufügen einer ressourcenbasierten Richtlinie zu einem benutzerdefinierten Modell

Sie können eine ressourcenbasierte Richtlinie mithilfe der AWS Management Console, AWS CLIoder Amazon Comprehend API hinzufügen.

Sie können Amazon Comprehend in der verwendenAWS Management Console.

So fügen Sie eine ressourcenbasierte Richtlinie hinzu
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon Comprehend-Konsole unter https://console.aws.amazon.com/comprehend/

  2. Wählen Sie im Navigationsmenü auf der linken Seite unter Anpassung die Seite aus, die Ihr benutzerdefiniertes Modell enthält:

    1. Wenn Sie einen benutzerdefinierten Dokumentklassifizierer freigeben, wählen Sie Benutzerdefinierte Klassifizierung aus.

    2. Wenn Sie eine benutzerdefinierte Entitätserkennung freigeben, wählen Sie Benutzerdefinierte Entitätserkennung aus.

  3. Wählen Sie in der Liste der Modelle den Modellnamen aus, um die Detailseite zu öffnen.

  4. Wählen Sie unter Versionen den Namen der Modellversion aus, die Sie teilen möchten.

  5. Wählen Sie auf der Seite mit den Versionsdetails die Registerkarte Tags, VPC und Richtlinie aus.

  6. Wählen Sie im Abschnitt Ressourcenbasierte Richtlinie die Option Bearbeiten aus.

  7. Gehen Sie auf der Seite Ressourcenbasierte Richtlinie bearbeiten wie folgt vor:

    1. Geben Sie unter Richtlinienname einen Namen ein, der Ihnen hilft, die Richtlinie zu erkennen, nachdem Sie sie erstellt haben.

    2. Geben Sie unter Autorisieren eine oder mehrere der folgenden Entitäten an, um sie zum Importieren Ihres Modells zu autorisieren:

      Feld Definition und Beispiele

      Service-Prinzipal

      Service-Prinzipal-IDs für die Services, die auf diese Modellversion zugreifen können. Beispielsweise:

      comprehend.amazonaws.com

      AWS-Konto IDs

      AWS-Konten , die auf diese Modellversion zugreifen können. Autorisiert alle Benutzer, die zum Konto gehören. Beispielsweise:

      111122223333, 123456789012

      IAM-Entitäten

      ARNs für Benutzer oder Rollen, die auf diese Modellversion zugreifen können. Beispielsweise:

      arn:aws:iam::111122223333:user/ExampleUser, arn:aws:iam::444455556666:role/ExampleRole

  8. Unter Freigeben können Sie den ARN der Modellversion kopieren, um sie mit der Person zu teilen, die Ihr Modell importieren wird. Wenn jemand ein benutzerdefiniertes Modell aus einem anderen importiertAWS-Konto, ist der ARN der Modellversion erforderlich.

  9. Wählen Sie Speichern. Amazon Comprehend erstellt Ihre ressourcenbasierte Richtlinie und fügt sie Ihrem Modell hinzu.

Verwenden Sie den PutResourcePolicy Befehl AWS CLI, um einem benutzerdefinierten Modell mit der eine ressourcenbasierte Richtlinie hinzuzufügen. Der -Befehl verwendet die folgenden Parameter:

  • resource-arn – Der ARN des benutzerdefinierten Modells, einschließlich der Modellversion.

  • resource-policy – Eine JSON-Datei, die die ressourcenbasierte Richtlinie definiert, die an Ihr benutzerdefiniertes Modell angehängt werden soll.

    Sie können die Richtlinie auch als Inline-JSON-Zeichenfolge angeben. Um gültiges JSON für Ihre Richtlinie anzugeben, schließen Sie die Attributnamen und Werte in doppelte Anführungszeichen ein. Wenn der JSON-Text auch in doppelte Anführungszeichen eingeschlossen ist, maskieren Sie die doppelten Anführungszeichen, die sich in der Richtlinie befinden.

  • policy-revision-id – Die Revisions-ID, die Amazon Comprehend der Richtlinie zugewiesen hat, die Sie aktualisieren. Wenn Sie eine neue Richtlinie ohne vorherige Version erstellen, verwenden Sie diesen Parameter nicht. Amazon Comprehend erstellt die Revisions-ID für Sie.

Beispiel Hinzufügen einer ressourcenbasierten Richtlinie zu einem benutzerdefinierten Modell mit dem put-resource-policy Befehl

In diesem Beispiel wird eine Richtlinie in einer JSON-Datei mit dem Namen policyFile.json definiert und die Richtlinie einem Modell zugeordnet. Das Modell ist Version v2 eines Classifiers namens mycf1.

$ aws comprehend put-resource-policy \ > --resource-arn arn:aws:comprehend:us-west-2:111122223333:document-classifier/mycf1/version/v2 \ > --resource-policy file://policyFile.json \ > --policy-revision-id revision-id

Die JSON-Datei für die Ressourcenrichtlinie enthält den folgenden Inhalt:

  • Aktion – Die Richtlinie autorisiert die benannten Prinzipale zur Verwendung von comprehend:ImportModel.

  • Ressource – Der ARN des benutzerdefinierten Modells. Ressource „*“ bezieht sich auf die Modellversion, die Sie im put-resource-policy Befehl angeben.

  • Prinzipal – Die Richtlinie autorisiert Benutzer jane aus AWS-Konto 444455556666 und alle Benutzer aus AWS-Konto 123456789012.

{ "Version":"2012-10-17", "Statement":[ {"Sid":"ResourcePolicyForImportModel", "Effect":"Allow", "Action":["comprehend:ImportModel"], "Resource":"*", "Principal": {"AWS": ["arn:aws:iam::444455556666:user/jane", "123456789012"] } } ] }

Um einem benutzerdefinierten Modell mithilfe der Amazon Comprehend API eine ressourcenbasierte Richtlinie hinzuzufügen, verwenden Sie die PutResourcePolicy -API-Operation.

Sie können einem benutzerdefinierten Modell in der API-Anforderung, die das Modell erstellt, auch eine Richtlinie hinzufügen. Geben Sie dazu das Richtlinien-JSON für den ModelPolicy Parameter an, wenn Sie eine - CreateDocumentClassifier oder -CreateEntityRecognizerAnforderung senden.

Schritt 2: Geben Sie die Details an, die andere importieren müssen

Nachdem Sie Ihrem benutzerdefinierten Modell die ressourcenbasierte Richtlinie hinzugefügt haben, haben Sie andere Amazon Comprehend-Benutzer autorisiert, Ihr Modell in ihr zu importierenAWS-Konten. Bevor sie jedoch importieren können, müssen Sie ihnen die folgenden Details zur Verfügung stellen:

  • Der Amazon-Ressourcenname (ARN) der Modellversion.

  • Die AWS-Region, die das Modell enthält. Jeder, der Ihr Modell importiert, muss denselben verwendenAWS-Region.

  • Ob das Modell verschlüsselt ist und wenn ja, welcher AWS KMS Schlüsseltyp verwendet wird: AWS-eigener Schlüssel oder vom Kunden verwalteter Schlüssel.

  • Wenn Ihr Modell mit einem vom Kunden verwalteten Schlüssel verschlüsselt ist, müssen Sie den ARN des KMS-Schlüssels angeben. Jeder, der Ihr Modell importiert, muss den ARN in eine IAM-Servicerolle in seine aufnehmenAWS-Konto. Diese Rolle autorisiert Amazon Comprehend, den KMS-Schlüssel zum Entschlüsseln des Modells während des Imports zu verwenden.

Weitere Informationen darüber, wie andere Benutzer Ihr Modell importieren, finden Sie unter Importieren eines benutzerdefinierten Modells aus einem anderen AWS-Konto.