

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.

# Beschränken Sie den Zugriff auf Artefakte auf Modellpaketbereitstellungen
<a name="model-registry-restrict-s3-access"></a>

Wenn Sie ein Modellpaket für mehrere Konten gemeinsam nutzen, muss `s3:GetObject` die ausführende Rolle des nutzenden Kontos die Modellartefakte im produzierenden Konto übernehmen. Diese Berechtigung gilt standardmäßig immer dann, wenn die Rolle verwendet wird. Daher kann jeder Schulleiter, der die Rolle verwendet, die Artefakte aus einem Notizbuch, aus einer Schulung oder über einen direkten API-Aufruf lesen — nicht nur, während ein Modellpaket bereitgestellt wird.

Sie können diesen Zugriff einschränken, sodass nur eine Modellpaketbereitstellung die Artefakte lesen kann. Während der Bereitstellung wendet die SageMaker KI das Sitzungs-Tag `sagemaker:ModelPackageArn` auf die Sitzung mit der Ausführungsrolle an, die sie annimmt. Der Tag-Wert ist der ARN des Modellpakets, das bereitgestellt wird. Eine Bucket-Richtlinie, die dieses Tag erfordert, gewährt daher nur Zugriff auf Bereitstellungssitzungen.

Dazu müssen drei Teile zusammenarbeiten. Alle drei können von Ihnen konfiguriert werden; SageMaker KI liefert nur das Sitzungs-Tag:
+ Eine mit einem Tag versehene Ausführungsrolle`ManagedBy=SageMaker`, deren Vertrauensrichtlinie es nur dem SageMaker AI-Serviceprinzipal erlaubt, sie zu übernehmen.
+ Eine Dienststeuerungsrichtlinie, die verhindert, dass jemand anderes als SageMaker KI diese Rolle übernimmt oder den `sagemaker:ModelPackageArn` Tag-Schlüssel festlegt. Andernfalls AWS STS könnte ein Principal, der die Erlaubnis hat, anzurufen, das Tag selbst angeben.
+ Eine Amazon S3-Bucket-Richtlinie, die `s3:GetObject` nur gewährt, wenn die Sitzung das Tag trägt, sich der Anrufer in Ihrer Organisation befindet und die Rolle markiert `ManagedBy=SageMaker` ist.

**Wichtig**  
Der SCP macht das Sitzungs-Tag vertrauenswürdig. Wenn Sie die Bucket-Richtlinie ohne den SCP anwenden, kann ein Principal, der die Ausführungsrolle direkt übernehmen kann, das `sagemaker:ModelPackageArn` Tag an seine eigene Sitzung anhängen und die Bucket-Richtlinie erfüllen.

## Schritt 1: Die Ausführungsrolle taggen und festlegen
<a name="model-registry-restrict-s3-access-role"></a>

Markieren Sie im nutzenden Konto die Ausführungsrolle `ManagedBy=SageMaker` und beschränken Sie ihre Vertrauensrichtlinie auf den SageMaker AI-Serviceprinzipal. Die Vertrauensrichtlinie muss `sts:AssumeRole` sowohl als auch zulassen`sts:TagSession`. `sts:TagSession`Andernfalls kann SageMaker KI das `sagemaker:ModelPackageArn` Sitzungs-Tag nicht anwenden, und Amazon S3 verweigert jeden Lesevorgang, den die Bucket-Richtlinie in Schritt 3 erfordert.

```
{
  "RoleName": "GovernedModelExecutionRole",
  "Tags": [ { "Key": "ManagedBy", "Value": "SageMaker" } ],
  "AssumeRolePolicyDocument": {
    "Version": "2012-10-17",
    "Statement": [{
      "Effect": "Allow",
      "Principal": { "Service": "sagemaker.amazonaws.com" },
      "Action": [ "sts:AssumeRole", "sts:TagSession" ]
    }]
  }
}
```

## Schritt 2: Fügen Sie eine Service Control-Richtlinie hinzu
<a name="model-registry-restrict-s3-access-scp"></a>

Hängen Sie den folgenden SCP in Ihrer Organisation an. Die erste Anweisung ermöglicht es nur dem SageMaker AI-Serviceprinzipal, eine markierte `ManagedBy=SageMaker` Rolle zu übernehmen. Bei der zweiten Option kann nur die SageMaker KI den `sagemaker:ModelPackageArn` Tag-Schlüssel festlegen. Dies ist der einzige Tag-Schlüssel, den die Bucket-Richtlinie auswertet. Weitere Informationen finden Sie unter [Erstellen, Aktualisieren und Löschen von Service-Kontrollrichtlinien](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_create.html).

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "DenyNonSageMakerAssumeOnManagedRoles",
      "Effect": "Deny",
      "Action": "sts:AssumeRole",
      "Resource": "*",
      "Condition": {
        "StringEquals": { "aws:ResourceTag/ManagedBy": "SageMaker" },
        "StringNotEquals": { "aws:PrincipalServiceName": "sagemaker.amazonaws.com" }
      }
    },
    {
      "Sid": "DenyTaggingProtectedKeysUnlessSageMaker",
      "Effect": "Deny",
      "Action": [ "iam:TagRole", "iam:UntagRole", "sts:TagSession" ],
      "Resource": "*",
      "Condition": {
        "StringLike": { "aws:RequestTag/sagemaker:ModelPackageArn": "*" },
        "StringNotEquals": { "aws:PrincipalServiceName": "sagemaker.amazonaws.com" }
      }
    }
  ]
}
```

**Anmerkung**  
Beide Anweisungen verwenden `StringNotEquals` on`aws:PrincipalServiceName`, was als wahr ausgewertet wird, wenn der Schlüssel fehlt. Der SCP verweigert diese Aktionen daher allen IAM-Benutzern und Rollen in Ihren Mitgliedskonten, einschließlich Sitzungen, für die überhaupt kein Service Principal verwendet wird. SCPs gelten nicht für Anrufe, die AWS Dienste mit ihren eigenen Dienstprinzipalen tätigen. Die Vertrauensrichtlinie der Rolle, die nur dem SageMaker AI-Serviceprinzipal Zugriff gewährt, schließt andere Dienste aus. AWS 

## Schritt 3: Fügen Sie die Amazon S3-Bucket-Richtlinie hinzu
<a name="model-registry-restrict-s3-access-bucket"></a>

Wenden Sie im produzierenden Konto die folgende Richtlinie auf den Bucket an, der die Modellartefakte enthält. Alle drei Bedingungen müssen erfüllt sein. Amazon S3 lehnt jede Sitzung ab, bei der eine fehlt.

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowOnlyModelPackageDeployments",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::{{model-artifacts-bucket}}/{{model-package-prefix}}/*",
      "Condition": {
        "StringLike": {
          "aws:PrincipalTag/sagemaker:ModelPackageArn":
            "arn:aws:sagemaker:*:{{producer-account-id}}:model-package/{{model-package-group}}/*"
        },
        "StringEquals": {
          "aws:PrincipalOrgID": "{{o-organization-id}}",
          "aws:PrincipalTag/ManagedBy": "SageMaker"
        }
      }
    }
  ]
}
```

Wenn Sie `*` zusammen `Principal` mit diesen Bedingungen den Wert von verwenden, kann jede Rolle in Ihrer Organisation, die markiert ist `ManagedBy=SageMaker` und das Bereitstellungs-Tag trägt, die Artefakte lesen. Sie müssen die Richtlinie nicht für jede nutzende Rolle bearbeiten. Der Platzhalter auf dem Modellpaket-ARN deckt jede Version in der Gruppe ab.

**Wichtig**  
Geltungsbereich `Resource` auf die Artefakte einer einzelnen Modellpaketgruppe. Ein Präfix, das sich über mehrere Gruppen erstreckt, würde es bei der Bereitstellung eines Modellpakets ermöglichen, die Artefakte einer anderen Gruppe zu lesen, da das Sitzungs-Tag mit dem Gruppen-Platzhalter und nicht mit dem Objektpfad verglichen wird.

Wenn die Artefakte mit einem vom Kunden verwalteten AWS KMS Schlüssel verschlüsselt sind, muss die Ausführungsrolle auch diesen Schlüssel `kms:Decrypt` verwenden. Gewähren Sie ihn in der Schlüsselrichtlinie; eine IAM-Richtlinie allein reicht nicht aus.

## Überwachen Sie den Zugriff auf Artefakte
<a name="model-registry-restrict-s3-access-monitor"></a>

In Ihrem Konto werden sowohl das Tagging der Sitzung als auch die daraus resultierende Zugriffsentscheidung aufgezeichnet.
+ In CloudTrail listet das `AssumeRole` Ereignis für die Ausführungsrolle die Sitzungs-Tags unter `requestParameters` auf. Stellen Sie sicher, dass `sagemaker:ModelPackageArn` es vorhanden ist und dem von Ihnen bereitgestellten Modellpaket entspricht.
+ In Amazon S3-Datenereignissen oder Serverzugriffsprotokollen zeigen `GetObject` Anfragen für das Artefaktpräfix an, ob jeder Lesevorgang zugelassen oder verweigert wurde. Sie können also bestätigen, dass der Zugriff, der nicht zur Bereitstellung gehört, verweigert wird.

Bevor Sie die Richtlinien auf einen Produktions-Bucket anwenden, können Sie sie mit dem IAM-Richtliniensimulator auswerten, um zu bestätigen, dass eine Bereitstellungssitzung zulässig ist und dass eine Sitzung ohne das Tag verweigert wird. Weitere Informationen finden Sie unter [ Testen von IAM-Richtlinien mit dem IAM-Richtliniensimulator. ](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html)