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.
Servicerollen für AWS HealthOmics
Eine Servicerolle ist eine AWS Identity and Access Management (IAM) -Rolle, die einem AWS Service Berechtigungen für den Zugriff auf Ressourcen in Ihrem Konto erteilt. Sie stellen eine Servicerolle zur Verfügung AWS HealthOmics , wenn Sie einen Importauftrag oder eine Ausführung starten.
Die HealthOmics Konsole kann die erforderliche Rolle für Sie erstellen. Wenn Sie die HealthOmics API zur Verwaltung von Ressourcen verwenden, erstellen Sie die Servicerolle mithilfe der IAM-Konsole. Weitere Informationen finden Sie unter Erstellen Sie eine Rolle, um Berechtigungen an einen zu delegieren. AWS-Service
Für Servicerollen muss die folgende Vertrauensrichtlinie gelten.
Die Vertrauensrichtlinie ermöglicht es dem HealthOmics Dienst, die Rolle zu übernehmen.
Themen
Beispiel für IAM-Servicerichtlinien
In diesen Beispielen sind Ressourcennamen und Konto-IDs Platzhalter, die Sie durch tatsächliche Werte ersetzen können.
Das folgende Beispiel zeigt die Richtlinie für eine Servicerolle, die Sie zum Starten einer Ausführung verwenden können. Die Richtlinie gewährt Berechtigungen für den Zugriff auf den Amazon S3-Ausgabespeicherort, die Workflow-Protokollgruppe und den Amazon ECR-Container für den Lauf.
Anmerkung
Wenn Sie Call Caching für den Lauf verwenden, fügen Sie den Amazon S3-Standort des Run-Cache als Ressource in den S3-Berechtigungen hinzu.
Beispiel Richtlinie zur Rolle des Dienstes für das Starten eines Laufs
Das folgende Beispiel zeigt die Richtlinie für eine Servicerolle, die Sie für einen Shop-Importauftrag verwenden können. Die Richtlinie gewährt Berechtigungen für den Zugriff auf den Amazon S3-Eingabeort.
Beispiel Servicerolle für den Job „Reference Store“
Das folgende Beispiel zeigt die Richtlinie für eine Servicerolle, für die Laufmetriken veröffentlicht werden CloudWatch. Weitere Informationen finden Sie unter Metriken für private Workflows ausführen.
Beispiel Richtlinie zur Servicerolle für Run-Metriken
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloudwatch:PutMetricData", "Resource": "*" } ] }
Verwenden Sie Sitzungsrichtlinien, um Berechtigungen einzuschränken
Sie können Sitzungsrichtlinien verwenden, um die Berechtigungen, die durch eine Servicerolle für einzelne Workflow-Ausführungen gewährt werden, weiter einzuschränken. Sitzungsrichtlinien sind Inline-IAM-Richtlinien, die Sie beim Starten einer Ausführung angeben. Die effektiven Berechtigungen für die Ausführung ergeben sich aus der Schnittmenge der Berechtigungen der Servicerolle und der Sitzungsrichtlinie.
Sitzungsrichtlinien sind nützlich, wenn Sie:
-
Gewähren Sie temporären Zugriff auf bestimmte Amazon S3-Buckets oder -Objekte für einen einzigen Lauf
-
Beschränken Sie den Zugriff auf vertrauliche Ressourcen pro Lauf
-
Wenden Sie zusätzliche Sicherheitskontrollen an, ohne die Servicerolle zu ändern
Wichtig
Sitzungsrichtlinien können nur Berechtigungen einschränken; sie können keine Berechtigungen gewähren, die über das hinausgehen, was die Servicerolle bereits zulässt. Die Sitzungsrichtlinie muss Berechtigungen für Amazon CloudWatch Logs (logs:CreateLogStreamundlogs:PutLogEvents) enthalten, da die Anmeldeinformationen des Laufs HealthOmics verwendet werden, um Protokollgruppen zu erstellen und in sie zu schreiben.
Sitzungsrichtlinien haben eine maximale Länge von 2.048 Zeichen und müssen gültige JSON-Dokumente sein. Weitere Informationen zu Sitzungsrichtlinien finden Sie unter Sitzungsrichtlinien im IAM-Benutzerhandbuch.
Beispiel Sitzungsrichtlinie für einen Workflow-Lauf
Das folgende Beispiel zeigt eine Sitzungsrichtlinie, die einen Lauf auf den Zugriff auf ein bestimmtes Amazon S3-Präfix für die Ausgabe beschränkt und CloudWatch Logs-Berechtigungen erfordert:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject" ], "Resource": "arn:aws:s3:::my-bucket/workflow-outputs/run-123/*" }, { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/omics/WorkflowLog:*" } ] }
Sie können eine Sitzungsrichtlinie angeben, wenn Sie einen Lauf mithilfe der HealthOmics API starten. Die StartRun API enthält einen sessionPolicy Parameter, in dem Sie die Inline-Richtlinie als JSON-Zeichenfolge angeben. Für Batch-Ausführungen können Sie in der eine Sitzungsrichtlinie angebenDefaultRunSetting, die für alle Läufe im Batch gilt.
Beispiel CloudFormation Vorlage
Die folgende CloudFormation Beispielvorlage erstellt eine Servicerolle, die den HealthOmics Zugriff auf Amazon S3-Buckets mit omics- vorangestellten Namen und das Hochladen von Workflow-Protokollen ermöglicht.
Beispiel Berechtigungen für Referenzspeicher, Amazon S3 und Logs CloudWatch
Parameters: bucketName: Description: Bucket name Type: String Resources: serviceRole: Type: AWS::IAM::Role Properties: Policies: - PolicyName: read-reference PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Action: - omics:* Resource: !Sub arn:${AWS::Partition}:omics:${AWS::Region}:${AWS::AccountId}:referenceStore/* - PolicyName: read-s3 PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Action: - s3:ListBucket Resource: !Sub arn:${AWS::Partition}:s3:::${bucketName} - Effect: Allow Action: - s3:GetObject - s3:PutObject Resource: !Sub arn:${AWS::Partition}:s3:::${bucketName}/* - PolicyName: upload-logs PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Action: - logs:DescribeLogStreams - logs:CreateLogStream - logs:PutLogEvents Resource: !Sub arn:${AWS::Partition}:logs:${AWS::Region}:${AWS::AccountId}:loggroup:/aws/omics/WorkflowLog:log-stream:* - Effect: Allow Action: - logs:CreateLogGroup Resource: !Sub arn:${AWS::Partition}:logs:${AWS::Region}:${AWS::AccountId}:loggroup:/aws/omics/WorkflowLog:* AssumeRolePolicyDocument: | { "Version": "2012-10-17", "Statement": [ { "Action": [ "sts:AssumeRole" ], "Effect": "Allow", "Principal": { "Service": [ "omics.amazonaws.com" ] } } ] }