So verwenden Sie SageMaker AI-Ausführungsrollen
Amazon SageMaker AI führt Operationen in Ihrem Namen mithilfe anderer AWS-Services durch. Sie müssen SageMaker AI Berechtigungen zur Nutzung dieser Dienste und der Ressourcen, auf die sie zugreifen, erteilen. Sie gewähren SageMaker AI diese Berechtigungen mithilfe einer AWS Identity and Access Management-Ausführungsrolle (IAM). Weitere Informationen zu IAM-Rollen finden Sie unter IAM-Rollen.
Verwenden Sie zum Erstellen und Verwenden einer Ausführungsrolle die folgenden Verfahren.
Erstellen einer Ausführungsrolle
Gehen Sie wie folgt vor, um eine Ausführungsrolle mit der angehängten IAM-verwalteten Richtlinie, AmazonSageMakerFullAccess, zu erstellen. Wenn Ihr Anwendungsfall detailliertere Berechtigungen erfordert, verwenden Sie andere Abschnitte auf dieser Seite, um eine Ausführungsrolle zu erstellen, die Ihren Geschäftsanforderungen entspricht. Sie können eine Ausführungsrolle mit der SageMaker-AI-Konsole oder dem AWS CLI erstellen.
Wichtig
Die im folgenden Verfahren verwendete IAM-verwaltete Richtlinie, AmazonSageMakerFullAccess, gewährt der Ausführungsrolle nur die Berechtigung, bestimmte Amazon S3-Aktionen für Buckets oder Objekte mit SageMaker, Sagemaker, sagemaker oder aws-glue im Namen auszuführen. Informationen zum Hinzufügen einer zusätzlichen Richtlinie zu einer Ausführungsrolle, um ihr Zugriff auf andere Amazon-S3-Buckets und -Objekte zu gewähren, finden Sie unter Hinzufügen zusätzlicher Amazon-S3-Berechtigungen zu einer SageMaker-AI-Ausführungsrolle.
Anmerkung
Sie können eine Ausführungsrolle direkt erstellen, wenn Sie eine SageMaker-AI-Domain oder eine Notebook-Instance erstellen.
-
Wie Sie eine SageMaker-AI-Domain anlegen, erfahren Sie unter Leitfaden zur Einrichtung von Amazon SageMaker AI.
-
Informationen über die Erstellung einer Notebook-Instance finden Sie unter Erstellen einer Notebook-Instance für Amazon SageMaker für das Tutorial.
So erstellen Sie eine neue Ausführungsrolle von der SageMaker-AI-Konsole aus
Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/
. -
Wählen Sie Roles (Rollen) und anschließend Create role (Rolle erstellen).
-
Behalten Sie für AWS Service den Typ vertrauenswürdiger Entitäten bei und verwenden Sie dann den Abwärtspfeil, um SageMaker AI unter Anwendungsfälle für andere AWS-Services zu finden.
-
Wählen Sie SageMaker AI – Ausführung und dann Weiter aus.
-
Die von IAM verwaltete Richtlinie,
AmazonSageMakerFullAccess, wird automatisch an die Rolle angefügt. Um die in dieser Richtlinie enthaltenen Berechtigungen zu sehen, wählen Sie das Pluszeichen (+) neben dem Richtliniennamen. Wählen Sie Weiter aus. -
Geben Sie einen Rollennamen und eine Beschreibung ein.
-
(Optional) Fügen Sie der Rolle zusätzliche Berechtigungen und Tags hinzu.
-
Wählen Sie Rolle erstellen aus.
-
Suchen Sie im Bereich Rollen der IAM-Konsole nach der Rolle, die Sie gerade erstellt haben. Verwenden Sie bei Bedarf das Textfeld, um anhand des Rollennamens nach der Rolle zu suchen.
-
Notieren Sie sich auf der Seite mit der Rollenübersicht den ARN.
Um eine neue Ausführungsrolle aus dem AWS CLI zu erstellen
Bevor Sie eine Ausführungsrolle mithilfe der AWS CLI erstellen, stellen Sie sicher, dass Sie sie aktualisieren und konfigurieren, indem Sie den Anweisungen unter (Optional) Konfigurieren von AWS CLI folgen. Fahren Sie dann mit den Anweisungen unter Benutzerdefinierte Einrichtung unter Verwendung von AWS CLI fort.
Sobald Sie eine Ausführungsrolle erstellt haben, können Sie sie einer SageMaker-AI-Domain, einem Benutzerprofil oder einer Jupyter-Notebook-Instance zuordnen.
-
Informationen darüber, wie Sie eine Ausführungsrolle mit einer vorhandenen SageMaker-AI-Domain verknüpfen, finden Sie unter Bearbeiten von Domaineinstellungen.
-
Informationen darüber, wie Sie eine Ausführungsrolle einem vorhandenen Benutzerprofil zuordnen, finden Sie unter Benutzerprofil hinzufügen.
-
Informationen zum Zuordnen einer Ausführungsrolle zu einer vorhandenen Notebook-Instance finden Sie unter Aktualisiert eine Notebook-Instance.
Sie können auch den ARN einer Ausführungsrolle an Ihren API-Aufruf übergeben. Mit dem Amazon SageMaker Python SDK
import sagemaker, boto3 from sagemaker import image_uris sess = sagemaker.Session() region = sess.boto_region_name bucket = sess.default_bucket() prefix = "sagemaker/DEMO-xgboost-churn" container = sagemaker.image_uris.retrieve("xgboost", region, "1.7-1") xgb = sagemaker.estimator.Estimator( container,execution-role-ARN, instance_count=1, instance_type="ml.m4.xlarge", output_path="s3://{}/{}/output".format(bucket, prefix), sagemaker_session=sess, ) ...
Hinzufügen zusätzlicher Amazon-S3-Berechtigungen zu einer SageMaker-AI-Ausführungsrolle
Wenn Sie ein SageMaker-AI-Feature mit Ressourcen in Amazon S3 verwenden, wie z. B. Eingabedaten, wird die Ausführungsrolle, die Sie in Ihrer Anfrage angeben (zum Beispiel CreateTrainingJob), für den Zugriff auf diese Ressourcen verwendet.
Wenn Sie die von IAM verwaltete Richtlinie, AmazonSageMakerFullAccess, an eine Ausführungsrolle anhängen, hat diese Rolle die Berechtigung, bestimmte Amazon S3-Aktionen für Buckets oder Objekte mit SageMaker, Sagemaker, sagemaker oder aws-glue im Namen auszuführen. Es ist auch berechtigt, die folgenden Aktionen auf jeder Amazon S3-Ressource durchzuführen:
"s3:CreateBucket", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:GetBucketCors", "s3:PutBucketCors"
Um einer Ausführungsrolle Berechtigungen für den Zugriff auf einen oder mehrere bestimmte Buckets in Amazon S3 zu erteilen, können Sie der Rolle eine Richtlinie ähnlich der folgenden hinzufügen. Diese Richtlinie gewährt einer IAM-Rolle die Berechtigung, alle Aktionen auszuführen, die AmazonSageMakerFullAccess erlaubt, schränkt diesen Zugriff jedoch auf die Buckets amzn-s3-demo-bucket1 und amzn-s3-demo-bucket2 ein. Weitere Informationen zu den für diese Features erforderlichen Amazon S3-Berechtigungen finden Sie in der Sicherheitsdokumentation des jeweiligen SageMaker-AI-Feature, die Sie verwenden.
Abrufen Ihrer Ausführungsrolle
Sie können die SageMaker-AI-Konsole
Themen
Ausführungsrolle für die Domain abrufen
Im Folgenden finden Sie Anweisungen zur Suche nach der Ausführungsrolle Ihrer Domain.
Ermitteln der Ausführungsrolle, die Ihrer Domain zugeordnet ist
-
Öffnen Sie die SageMaker-AI-Konsole, https://console.aws.amazon.com/sagemaker/
-
Wählen Sie im linken Navigationsbereich unter Admin-Konfigurationen die Option Domains aus.
-
Wählen Sie den Link, der Ihrer Domain entspricht.
-
Wählen Sie die Registerkarte Domain-Einstellungen aus.
-
Im Abschnitt Allgemeine Einstellungen ist der ARN für die Ausführungsrolle unter Ausführungsrolle aufgeführt.
Der Name der Ausführungsrolle steht hinter dem letzten Namen
/im ARN der Ausführungsrolle.
Abrufen der Bereichsausführungsrolle
Im Folgenden finden Sie Anweisungen, wie Sie die Ausführungsrolle Ihres Bereichs ermitteln können.
Finde die deinem Space zugeordnete Ausführungsrolle
-
Öffnen Sie die SageMaker-AI-Konsole, https://console.aws.amazon.com/sagemaker/
-
Wählen Sie im linken Navigationsbereich unter Admin-Konfigurationen die Option Domains aus.
-
Wählen Sie den Link, der Ihrer Domain entspricht.
-
Wählen Sie die Registerkarte Speicherverwaltung aus.
-
Im Abschnitt Details ist der ARN der Ausführungsrolle unter Ausführungsrolle aufgeführt.
Der Name der Ausführungsrolle steht hinter dem letzten Namen
/im ARN der Ausführungsrolle.
Anmerkung
Der folgende Code ist für die Ausführung in einer SageMaker-KI-Umgebung vorgesehen, wie jede der IDEs in Amazon SageMaker Studio. Sie erhalten eine Fehlermeldung, wenn Sie get_execution_role außerhalb einer SageMaker-KI-Umgebung arbeiten.
Der folgende get_execution_role
from sagemaker import get_execution_role role = get_execution_role() print(role)
Der Name der Ausführungsrolle steht hinter dem letzten Namen / im ARN der Ausführungsrolle.
Abrufen der Benutzerausführungsrolle
Im Folgenden finden Sie Anweisungen zur Suche nach der Ausführungsrolle eines Benutzers.
Finden Sie die Ausführungsrolle, die einem Benutzer zugewiesen ist
-
Öffnen Sie die SageMaker-AI-Konsole, https://console.aws.amazon.com/sagemaker/
-
Wählen Sie im linken Navigationsbereich unter Admin-Konfigurationen die Option Domains aus.
-
Wählen Sie den Link, der Ihrer Domain entspricht.
-
Wählen Sie die Registerkarte Benutzerprofile aus.
-
Wählen Sie den Link, der Ihrem Benutzer entspricht.
-
Im Abschnitt Details ist der ARN der Ausführungsrolle unter Ausführungsrolle aufgeführt.
Der Name der Ausführungsrolle steht hinter dem letzten Namen
/im ARN der Ausführungsrolle.
Anmerkung
Zur Nutzung der folgenden Beispiele muss die AWS Command Line Interface (AWS CLI) installiert und konfiguriert sein. Weitere Informationen finden Sie unter Erste Schritte mit der AWS CLI im AWS Command Line Interface-Benutzerhandbuch für Version 2.
Der folgende get-caller-identity
aws sts get-caller-identity
Der Name der Ausführungsrolle steht hinter dem letzten Namen / im ARN der Ausführungsrolle.
Ändern Sie Ihre Ausführungsrolle
Eine Ausführungsrolle ist eine IAM-Rolle, die eine SageMaker AI-Identität (wie ein SageMaker AI-Benutzer, Bereich oder Domain) annimmt. Wenn Sie die IAM-Rolle ändern, ändern sich die Berechtigungen für alle Identitäten, die diese Rolle übernehmen.
Wenn Sie eine Ausführungsrolle ändern, ändert sich auch die Ausführungsrolle des entsprechenden Bereichs. Die VerarbeitWeiterleitung der Auswirkungen der Änderung kann einige Zeit dauern.
-
Wenn Sie die Ausführungsrolle eines Benutzers ändern, übernehmen die von diesem Benutzer erstellten privaten Bereiche die geänderte Ausführungsrolle.
-
Wenn Sie die standardmäßige Ausführungsrolle eines Bereichs ändern, übernehmen die gemeinsam genutzten Bereiche in der Domain die geänderte Ausführungsrolle.
Weitere Informationen zu Ausführungsrollen und Bereichen finden Sie unterGrundlegendes zu Domainbereichsberechtigungen und Ausführungsrollen.
Sie können die Ausführungsrolle für eine Identität in eine andere IAM-Rolle ändern, indem Sie eine der folgenden Anweisungen verwenden.
Wenn Sie stattdessen eine Rolle ändern möchten, die eine Identität annimmt, finden Sie Ändern Sie die Berechtigungen für die Ausführungsrolle weitere Informationen unter.
Themen
Ändern Sie die standardmäßige Ausführungsrolle der Domain
Im Folgenden finden Sie Anweisungen zum Ändern der standardmäßigen Ausführungsrolle Ihrer Domain.
Ändern Sie die Ihrer Domain zugeordnete Standardausführungsrolle
-
Öffnen Sie die SageMaker-AI-Konsole, https://console.aws.amazon.com/sagemaker/
-
Wählen Sie im linken Navigationsbereich unter Admin-Konfigurationen die Option Domains aus.
-
Wählen Sie den Link, der Ihrer Domain entspricht.
-
Wählen Sie die Registerkarte Domain-Einstellungen aus.
-
Wählen Sie im Abschnitt Allgemeine Einstellungen die Option Bearbeiten aus.
-
Erweitern Sie im Abschnitt Berechtigungen unter Standardausführungsrolle die Dropdownliste.
-
In der Dropdown-Liste können Sie eine vorhandene Rolle auswählen, einen benutzerdefinierten IAM-Rollen-ARN eingeben oder eine neue Rolle erstellen.
Wenn Sie eine neue Rolle erstellen möchten, können Sie die Option „Rolle mithilfe des Assistenten zur Rollenerstellung erstellen“ auswählen.
-
Wählen Sie in den folgenden Schritten „Weiter“ und im letzten Schritt „Senden“.
Ändern Sie die standardmäßige Ausführungsrolle von Space
Im Folgenden finden Sie Anweisungen zum Ändern der Standard-Ausführungsrolle Ihres Bereiche. Wenn Sie diese Ausführungsrolle ändern, ändert sich auch die Rolle, die von allen gemeinsam genutzten Bereichen in der Domain eingenommen wird.
Ändern Sie die Standard-Ausführungsrolle für den Space, wenn Sie einen neuen Space erstellen
-
Öffnen Sie die SageMaker-AI-Konsole, https://console.aws.amazon.com/sagemaker/
-
Wählen Sie im linken Navigationsbereich unter Admin-Konfigurationen die Option Domains aus.
-
Wählen Sie den Link, der Ihrer Domain entspricht.
-
Wählen Sie die Registerkarte Domain-Einstellungen aus.
-
Wählen Sie im Abschnitt Allgemeine Einstellungen die Option Bearbeiten aus.
-
Erweitern Sie im Abschnitt Berechtigungen unter Space (Standardausführungsrolle) die Dropdownliste.
-
In der Dropdown-Liste können Sie eine vorhandene Rolle auswählen, einen benutzerdefinierten IAM-Rollen-ARN eingeben oder eine neue Rolle erstellen.
Wenn Sie eine neue Rolle erstellen möchten, können Sie die Option „Rolle mithilfe des Assistenten zur Rollenerstellung erstellen“ auswählen.
-
Wählen Sie in den folgenden Schritten „Weiter“ und im letzten Schritt „Senden“.
Ändern Sie die Ausführungsrolle des Benutzerprofils
Im Folgenden finden Sie Anweisungen zum Ändern der Ausführungsrolle eines Benutzers. Wenn Sie diese Ausführungsrolle ändern, ändert sich auch die Rolle, die von allen privaten Bereichen übernommen wird, die von diesem Benutzer erstellt wurden.
Ändern der Ausführungsrolle, die einem Benutzer zugewiesen ist
-
Öffnen Sie die SageMaker-AI-Konsole, https://console.aws.amazon.com/sagemaker/
-
Wählen Sie im linken Navigationsbereich unter Admin-Konfigurationen die Option Domains aus.
-
Wählen Sie den Link, der Ihrer Domain entspricht.
-
Wählen Sie die Registerkarte Benutzerprofile aus.
-
Wählen Sie den Link, der dem Namen des Benutzerprofils entspricht.
-
Wählen Sie Bearbeiten aus.
-
In der Dropdown-Liste können Sie eine vorhandene Rolle auswählen, einen benutzerdefinierten IAM-Rollen-ARN eingeben oder eine neue Rolle erstellen.
Wenn Sie eine neue Rolle erstellen möchten, können Sie die Option „Rolle mithilfe des Assistenten zur Rollenerstellung erstellen“ auswählen.
-
Wählen Sie in den folgenden Schritten „Weiter“ und im letzten Schritt „Senden“.
Ändern Sie die Berechtigungen für die Ausführungsrolle
Sie können bestehende Berechtigungen für die Ausführungsrolle einer Identität (z. B. eines SageMaker AI-Benutzers, eines Bereichs oder einer Domain) ändern. Dazu müssen Sie die entsprechende IAM-Rolle finden, die die Identität annimmt, und dann diese IAM-Rolle ändern. Im Folgenden finden Sie Anweisungen, wie Sie dies über die Konsole erreichen können.
Wenn Sie eine Ausführungsrolle ändern, ändert sich auch die Ausführungsrolle des entsprechenden Bereichs. Die Änderung wirkt sich möglicherweise nicht unmittelbar aus.
-
Wenn Sie die Ausführungsrolle eines Benutzers ändern, übernehmen die von diesem Benutzer erstellten privaten Bereiche die geänderte Ausführungsrolle.
-
Wenn Sie die standardmäßige Ausführungsrolle eines Bereichs ändern, übernehmen die gemeinsam genutzten Bereiche in der Domain die geänderte Ausführungsrolle.
Weitere Informationen zu Ausführungsrollen und Bereichen finden Sie unterGrundlegendes zu Domainbereichsberechtigungen und Ausführungsrollen.
Wenn Sie stattdessen eine Rolle ändern möchten, die eine Identität annimmt, finden Sie unterÄndern Sie Ihre Ausführungsrolle.
So ändern Sie die Berechtigungen für Ihre Ausführungsrollen
-
Rufen Sie zunächst den Namen der Identität ab, die Sie ändern möchten.
-
Informationen zum Ändern einer Rolle, die eine Identität annimmt, finden Sie unter Ändern einer Rolle im AWS Identity and Access ManagementBenutzerhandbuch.
Weitere Informationen und Anweisungen zum Hinzufügen von Berechtigungen zu IAM-Identitäten finden Sie unter Hinzufügen und Entfernen von Identitätsberechtigungen im AWS Identity and Access Management-Benutzerhandbuch.
Rollen weitergeben
Aktionen wie das Übergeben einer Rolle zwischen Services sind ein übliches Feature in SageMaker AI. Weitere Informationen finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für SageMaker AI in der Service-Authorization-Referenz.
Sie übergeben die Rolle (iam:PassRole) bei diesen API-Aufrufen: CreateAutoMLJob, CreateCompilationJob, CreateDomain, CreateFeatureGroup, CreateFlowDefiniton, CreateHyperParameterTuningJob, CreateImage, CreateLabelingJob, CreateModel, CreateMonitoringSchedule, CreateNotebookInstance, CreateProcessingJob, CreateTrainingJob, CreateUserProfile, RenderUiTemplate, UpdateImage und UpdateNotebookInstance.
Sie ordnen der IAM-Rolle die folgende Vertrauensrichtlinie zu, mit der SageMaker AI die Berechtigung zur Übernahme dieser Rolle gewährt wird. Diese ist für alle Ausführungsrollen gleich:
Die Berechtigungen, die der Rolle erteilt werden müssen, hängen von der aufgerufenen API ab. Die folgenden Abschnitte erläutern diese Berechtigungen.
Anmerkung
Anstatt die Berechtigungen durch die Erstellung einer Berechtigungsrichtlinie zu verwalten, können Sie die von AWS verwaltete AmazonSageMakerFullAccess Berechtigungsrichtlinie verwenden. Die Berechtigungen in dieser Richtlinie sind ziemlich weit gefasst, um alle Aktionen zu ermöglichen, die Sie in SageMaker AI durchführen möchten. Eine Liste der Richtlinien einschließlich Informationen über die Gründe für das Hinzufügen vieler dieser Zugriffsrechte, finden Sie unter AWS verwaltete Richtlinie: AmazonSageMakerFullAccess. Wenn Sie lieber benutzerdefinierte Richtlinien erstellen und Berechtigungen so verwalten möchten, dass sie nur für die Aktionen, die Sie mit der Ausführungsrolle durchführen müssen, gelten, lesen Sie die folgenden Themen.
Wichtig
Wenn Sie auf Probleme stoßen, finden Sie weitere Informationen unter Fehlerbehandlung bei Problemen mit Identität und Zugriff von Amazon SageMaker AI.
Weitere Informationen zu IAM-Rollen finden Sie unter IAM-Rollen in der Serviceautorisierungsreferenz.
Themen
CreateAutoMLJob und CreateAutoMLJobV2: Berechtigungen der Ausführungsrolle
CreateImage- und UpdateImage-APIs: Berechtigungen für Ausführungsrollen
CreateNotebookInstance API: Berechtigungen der Ausführungsrolle
CreateHyperParameterTuningJob-API: Berechtigungen der Ausführungsrolle
CreateProcessingJob-API: Berechtigungen für Ausführungsrollen
CreateAutoMLJob und CreateAutoMLJobV2: Berechtigungen der Ausführungsrolle
Für eine Ausführungsrolle, die Sie in einer – CreateAutoMLJoboder CreateAutoMLJobV2-API-Anfrage übergeben können, können Sie die folgende Berechtigungsrichtlinie an die Rolle anfügen:
Wenn Sie eine private VPC für Ihren AutoML-Auftrag angeben, fügen Sie die folgenden Berechtigungen hinzu:
{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ] }
Wenn Ihre Eingabe mit einer serverseitigen Verschlüsselung mit einem AWS KMS-verwalteten Schlüssel (SSE-KMS) verschlüsselt wird, fügen Sie die folgenden Berechtigungen hinzu:
{ "Effect": "Allow", "Action": [ "kms:Decrypt" ] }
Wenn Sie einen KMS-Schlüssel in der Ausgabekonfiguration Ihres AutoML-Auftrags angeben, fügen Sie die folgenden Berechtigungen hinzu:
{ "Effect": "Allow", "Action": [ "kms:Encrypt" ] }
Wenn Sie einen Volume-KMS-Schlüssel in der Ressourcenkonfiguration Ihres AutoML-Auftrags angeben, fügen Sie die folgenden Berechtigungen hinzu:
{ "Effect": "Allow", "Action": [ "kms:CreateGrant" ] }
CreateDomain-API: Berechtigungen der Ausführungsrolle
Die Ausführungsrolle für Domains mit IAM Identity Center und die Benutzer-/Ausführungsrolle für IAM-Domains benötigen die folgenden Berechtigungen, wenn Sie einen kundenverwalteten Schlüssel AWS KMS als KmsKeyId in der CreateDomain API-Anforderung übergeben. Die Berechtigungen werden während des CreateApp API-Aufrufs durchgesetzt.
Bei einer Ausführungsrolle, die Sie in einer CreateDomain-API-Anforderung übergeben, können Sie der Rolle folgende Berechtigungsrichtlinie zuweisen:
Wenn die Berechtigungen in einer KMS-Richtlinie angegeben sind, können Sie der Rolle alternativ die folgende Richtlinie hinzufügen:
CreateImage- und UpdateImage-APIs: Berechtigungen für Ausführungsrollen
Für eine Ausführungsrolle, die Sie in einer – CreateImageoder UpdateImage-API-Anfrage übergeben können, können Sie die folgende Berechtigungsrichtlinie an die Rolle anhängen:
CreateNotebookInstance API: Berechtigungen der Ausführungsrolle
Die Berechtigungen, die Sie der Ausführungsrolle für den Aufruf der CreateNotebookInstance-API erteilen, hängen davon ab, was Sie mit der Notebook-Instance tun möchten. Wenn Sie planen, sie zum Aufrufen von SageMaker-AI-APIs zu verwenden und dieselbe Rolle beim Aufrufen der CreateTrainingJob- und CreateModel-APIs zu übergeben, fügen Sie der Rolle die folgende Berechtigungsrichtlinie hinzu:
Um die Berechtigungen einzuschränken, beschränken Sie sie auf bestimmte Amazon S3- und Amazon ECR-Ressourcen, indem Sie "Resource": "*" wie folgt einschränken:
Wenn Sie planen, auf andere Ressourcen wie Amazon DynamoDB oder Amazon Relational Database Service zuzugreifen, fügen Sie die entsprechenden Berechtigungen zu dieser Richtlinie hinzu.
In der vorgenannten Richtlinie nehmen Sie folgende Zuweisungen vor:
-
Weisen Sie die
s3:ListBucket-Berechtigung dem spezifischen Bucket zu, den Sie alsInputDataConfig.DataSource.S3DataSource.S3Uriin einerCreateTrainingJob-Anforderung angegeben haben. -
Weisen Sie die Berechtigungen
s3:GetObject,s3:PutObjectunds3:DeleteObjectfolgendermaßen zu:-
Begrenzen Sie auf die folgenden Werte, die Sie in einer
CreateTrainingJob-Anforderung definieren:InputDataConfig.DataSource.S3DataSource.S3UriOutputDataConfig.S3OutputPath -
Begrenzen Sie auf die folgenden Werte, die Sie in einer
CreateModel-Anforderung definieren:PrimaryContainer.ModelDataUrlSuplementalContainers.ModelDataUrl
-
-
Weisen Sie die
ecr-Berechtigungen folgendermaßen zu:-
Begrenzen Sie auf den
AlgorithmSpecification.TrainingImage-Wert, den Sie in einerCreateTrainingJob-Anforderung definieren. -
Begrenzen Sie auf den
PrimaryContainer.Image-Wert, den Sie in einerCreateModel-Anforderung definieren:
-
Die Aktionen cloudwatch und logs gelten für die Ressourcen "*". Weitere Informationen finden Sie unter CloudWatch Ressourcen und Operationen im Amazon CloudWatch Benutzerhandbuch.
CreateHyperParameterTuningJob-API: Berechtigungen der Ausführungsrolle
Bei einer Ausführungsrolle, die Sie in einer CreateHyperParameterTuningJob-API-Anforderung übergeben, können Sie der Rolle folgende Berechtigungsrichtlinie zuweisen:
Anstatt "Resource": "*" anzugeben, können Sie diese Berechtigungen auf bestimmte Amazon S3-, Amazon ECR- und Amazon CloudWatch Logs-Ressourcen anwenden:
Wenn der mit dem Hyperparameter-Abstimmungsauftrag verbundene Trainingscontainer auf andere Datenquellen wie DynamoDB- oder Amazon RDS-Ressourcen zugreifen muss, fügen Sie dieser Richtlinie die entsprechenden Berechtigungen hinzu.
In der vorgenannten Richtlinie nehmen Sie folgende Zuweisungen vor:
-
Weisen Sie die
s3:ListBucket-Berechtigung einem spezifischen Bucket zu, den Sie alsInputDataConfig.DataSource.S3DataSource.S3Uriin einerCreateTrainingJob-Anforderung angeben. -
Weisen Sie die Berechtigungen
s3:GetObjectunds3:PutObjectfolgenden Objekten zu, die Sie in der Ein- und Ausgabedatenkonfiguration in einerCreateHyperParameterTuningJob-Anforderung spezifizieren:InputDataConfig.DataSource.S3DataSource.S3UriOutputDataConfig.S3OutputPath -
Erweitern Sie Amazon ECR-Berechtigungen auf den Registry-Pfad (
AlgorithmSpecification.TrainingImage), den Sie in einerCreateHyperParameterTuningJobAnfrage angeben. -
Umfang der Amazon CloudWatch Logs-Berechtigungen zur Protokollierung einer Gruppe von SageMaker-Trainingsaufträgen.
Die cloudwatch Aktionen gelten für die Ressourcen "*". Weitere Informationen finden Sie unter CloudWatch-Ressourcen und -Operationen im Benutzerhandbuch für Amazon CloudWatch.
Wenn Sie eine private VPC für den Hyperparameter-Optimierungsauftrag angeben, fügen Sie die folgenden Berechtigungen hinzu:
{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ] }
Wenn Ihre Eingabe mit einer serverseitigen Verschlüsselung mit einem AWS KMS-verwalteten Schlüssel (SSE-KMS) verschlüsselt wird, fügen Sie die folgenden Berechtigungen hinzu:
{ "Effect": "Allow", "Action": [ "kms:Decrypt" ] }
Wenn Sie in der Ausgabekonfiguration Ihres Hyperparameter-Optimierungsauftrags einen KMS-Schlüssel angeben, fügen Sie die folgenden Berechtigungen hinzu:
{ "Effect": "Allow", "Action": [ "kms:Encrypt" ] }
Wenn Sie in der Ressourcenkonfiguration Ihres Hyperparameter-Optimierungsauftrags einen Volume-KMS-Schlüssel angeben, fügen Sie die folgenden Berechtigungen hinzu:
{ "Effect": "Allow", "Action": [ "kms:CreateGrant" ] }
CreateProcessingJob-API: Berechtigungen für Ausführungsrollen
Bei einer Ausführungsrolle, die Sie in einer CreateProcessingJob-API-Anforderung übergeben, können Sie der Rolle folgende Berechtigungsrichtlinie zuweisen:
Anstatt "Resource": "*" anzugeben, können Sie diese Berechtigungen auf bestimmte Amazon S3- und Amazon ECR-Ressourcen anwenden:
Wenn CreateProcessingJob.AppSpecification.ImageUri auf andere Datenquellen, wie DynamoDB- oder Amazon RDS-Ressourcen, zugreifen muss, fügen Sie dieser Richtlinie entsprechende Berechtigungen hinzu.
In der vorgenannten Richtlinie nehmen Sie folgende Zuweisungen vor:
-
Weisen Sie die
s3:ListBucket-Berechtigung einem spezifischen Bucket zu, den Sie alsProcessingInputsin einerCreateProcessingJob-Anforderung angeben. -
Gültigkeitsbereich der Berechtigungen
s3:GetObjectunds3:PutObjectfür die Objekte, die in derProcessingInputsundProcessingOutputConfigin einerCreateProcessingJob-Anforderung heruntergeladen oder hochgeladen werden. -
Erweitern Sie Amazon ECR-Berechtigungen auf den Registry-Pfad (
AppSpecification.ImageUri), den Sie in einerCreateProcessingJobAnfrage angeben.
Die Aktionen cloudwatch und logs gelten für die Ressourcen "*". Weitere Informationen finden Sie unter CloudWatch Ressourcen und Operationen im Amazon CloudWatch Benutzerhandbuch.
Wenn Sie eine private VPC für Ihren Verarbeitungsauftrag angeben, fügen Sie die folgenden Berechtigungen hinzu. Geben Sie in der Richtlinie keine Bedingungen oder Ressourcenfilter an. Andernfalls schlagen die Validierungsprüfungen, die während der Erstellung des Verarbeitungsauftrags durchgeführt werden, fehl.
{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ] }
Wenn Ihre Eingabe mit einer serverseitigen Verschlüsselung mit einem AWS KMS-verwalteten Schlüssel (SSE-KMS) verschlüsselt wird, fügen Sie die folgenden Berechtigungen hinzu:
{ "Effect": "Allow", "Action": [ "kms:Decrypt" ] }
Wenn Sie in der Ausgabekonfiguration Ihres Verarbeitungsauftrags einen KMS-Schlüssel angeben, fügen Sie die folgenden Berechtigungen hinzu:
{ "Effect": "Allow", "Action": [ "kms:Encrypt" ] }
Wenn Sie in der Ressourcenkonfiguration Ihres Verarbeitungsauftrags einen Volume-KMS-Schlüssel angeben, fügen Sie die folgenden Berechtigungen hinzu:
{ "Effect": "Allow", "Action": [ "kms:CreateGrant" ] }
CreateTrainingJob API: Berechtigungen der Ausführungsrolle
Bei einer Ausführungsrolle, die Sie in einer CreateTrainingJob-API-Anforderung übergeben, können Sie der Rolle folgende Berechtigungsrichtlinie zuweisen:
Anstatt "Resource": "*" anzugeben, können Sie diese Berechtigungen auf bestimmte Amazon S3- und Amazon ECR-Ressourcen anwenden:
Wenn CreateTrainingJob.AlgorithSpecifications.TrainingImage auf andere Datenquellen, wie DynamoDB- oder Amazon RDS-Ressourcen, zugreifen muss, fügen Sie dieser Richtlinie entsprechende Berechtigungen hinzu.
In der vorgenannten Richtlinie nehmen Sie folgende Zuweisungen vor:
-
Weisen Sie die
s3:ListBucket-Berechtigung einem spezifischen Bucket zu, den Sie alsInputDataConfig.DataSource.S3DataSource.S3Uriin einerCreateTrainingJob-Anforderung angeben. -
Weisen Sie die Berechtigungen
s3:GetObjectunds3:PutObjectfolgenden Objekten zu, die Sie in der Ein- und Ausgabedatenkonfiguration in einerCreateTrainingJob-Anforderung spezifizieren:InputDataConfig.DataSource.S3DataSource.S3UriOutputDataConfig.S3OutputPath -
Erweitern Sie Amazon ECR-Berechtigungen auf den Registry-Pfad (
AlgorithmSpecification.TrainingImage), den Sie in einerCreateTrainingJobAnfrage angeben.
Die Aktionen cloudwatch und logs gelten für die Ressourcen "*". Weitere Informationen finden Sie unter CloudWatch Ressourcen und Operationen im Amazon CloudWatch Benutzerhandbuch.
Wenn Sie eine private VPC für den Trainingsjob angeben, fügen Sie die folgenden Berechtigungen hinzu:
{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ] }
Wenn Ihre Eingabe mit einer serverseitigen Verschlüsselung mit einem AWS KMS-verwalteten Schlüssel (SSE-KMS) verschlüsselt wird, fügen Sie die folgenden Berechtigungen hinzu:
{ "Effect": "Allow", "Action": [ "kms:Decrypt" ] }
Wenn Sie in der Ausgabekonfiguration Ihres Trainingsauftrags einen KMS-Schlüssel angeben, fügen Sie die folgenden Berechtigungen hinzu:
{ "Effect": "Allow", "Action": [ "kms:Encrypt" ] }
Wenn Sie in der Ressourcenkonfiguration Ihres Trainingsauftrags einen Volume-KMS-Schlüssel angeben, fügen Sie die folgenden Berechtigungen hinzu:
{ "Effect": "Allow", "Action": [ "kms:CreateGrant" ] }
CreateModel-API: Berechtigungen der Ausführungsrolle
Bei einer Ausführungsrolle, die Sie in einer CreateModel-API-Anforderung übergeben, können Sie der Rolle folgende Berechtigungsrichtlinie zuweisen:
Anstatt "Resource": "*" anzugeben, können Sie diese Berechtigungen auf bestimmte Amazon S3- und Amazon ECR-Ressourcen anwenden:
Wenn CreateModel.PrimaryContainer.Image Zugriff auf andere Datenquellen – z. B. Amazon DynamoDB- oder Amazon RDS-Ressourcen – benötigt, fügen Sie dieser Richtlinie die entsprechenden Berechtigungen hinzu.
In der vorgenannten Richtlinie nehmen Sie folgende Zuweisungen vor:
-
Weisen Sie S3-Berechtigungen den Objekten zu, die Sie unter
PrimaryContainer.ModelDataUrlin einerCreateModel-Anforderung angeben. -
Erweitern Sie Amazon ECR-Berechtigungen auf einen bestimmten Registry-Pfad, den Sie als
PrimaryContainer.ImageundSecondaryContainer.Imagein einerCreateModelAnfrage angeben.
Die Aktionen cloudwatch und logs gelten für die Ressourcen "*". Weitere Informationen finden Sie unter CloudWatch Ressourcen und Operationen im Amazon CloudWatch Benutzerhandbuch.
Anmerkung
Wenn Sie das Bereitstellungs-Integritätsschutz-Feature von SageMaker AI für die Modellbereitstellung in der Produktion verwenden möchten, stellen Sie sicher, dass Ihre Ausführungsrolle berechtigt ist, die cloudwatch:DescribeAlarms-Aktion auf Ihren Auto-Rollback-Alarmen auszuführen.
Wenn Sie eine private VPC für das Modell angeben, fügen Sie die folgenden Berechtigungen hinzu:
{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ] }