Identitäts- und Zugriffsverwaltung in IVS Chat - Amazon IVS

Identitäts- und Zugriffsverwaltung in IVS Chat

AWS Identity and Access Management (IAM) ist ein AWS-Service, mit dem Kontoadministratoren den Zugriff auf AWS-Ressourcen sicher steuern können. Siehe Identitäts- und Zugriffsverwaltung in IVS im Benutzerhandbuch für IVS-Streaming mit niedriger Latenz.

Zielgruppe

Wie Sie IAM verwenden, hängt von der Arbeit ab, die Sie in Amazon IVS ausführen. Siehe Zielgruppe Im Benutzerhandbuch für IVS-Streaming-mit niedriger Latenz.

Wie Amazon IVS mit IAM funktioniert

Bevor Sie Amazon IVS-API-Anfragen stellen können, müssen Sie eine oder mehrere IAM-Identitäten (Benutzer, Gruppen und Rollen) und IAM-Richtlinien erstellen und dann den Identitäten Richtlinien zuordnen. Es dauert bis zu einigen Minuten, bis die Berechtigungen weitergegeben werden. Bis dahin werden API-Anforderungen abgelehnt.

Eine Übersicht darüber, wie Amazon IVS mit IAM funktioniert, finden Sie unter AWS-Services, die mit IAM arbeiten im IAM-Benutzerhandbuch.

Identitäten

Sie können IAM-Identitäten erstellen, um die Authentifizierung für Personen und Prozesse in Ihrem AWS-Konto bereitzustellen. IAM-Gruppen sind Sammlungen von IAM-Benutzern, die Sie als eine Einheit verwalten können. Siehe Identitäten (Benutzer, Gruppen und Rollen) im IAM-Benutzerhandbuch.

Richtlinien

Richtlinien sind JSON-Berechtigungsrichtliniendokumente, die aus Elementen bestehen. Siehe Richtlinien im Benutzerhandbuch für IVS-Streaming-mit niedriger Latenz.

Amazon IVS Chat unterstützt drei Elemente:

  • Aktionen – Richtlinienaktionen für Amazon IVS Chat verwenden das ivschat-Präfix vor der Aktion. Um beispielsweise jemandem die Berechtigung zum Erstellen eines Amazon-IVS-Chat-Channels mit der Amazon IVS Chat CreateRoom-API-Methode zu erteilen, nehmen Sie die ivschat:CreateRoom-Aktion in die Richtlinie für diese Person auf. Richtlinienanweisungen müssen entweder ein – Actionoder ein NotAction-Element enthalten.

  • Ressourcen – Die Amazon-IVS-Chat-Raumressource hat folgendes ARN-Format:

    arn:aws:ivschat:${Region}:${Account}:room/${roomId}

    Um z. B. Raum VgNkEJgOVX9N in Ihrer Anweisung anzugeben, verwenden Sie diese ARN:

    "Resource": "arn:aws:ivschat:us-west-2:123456789012:room/VgNkEJgOVX9N"

    Einige Amazon-IVS-Chat-Aktionen, wie z. B. die zum Erstellen von Ressourcen, können nicht für eine bestimmte Ressource durchgeführt werden. In diesen Fällen müssen Sie den Platzhalter (*) verwenden:

    "Resource":"*"
  • Bedingungen – Amazon IVS Chat unterstützt einige globale Bedingungsschlüssel: aws:RequestTag, aws:TagKeys, und aws:ResourceTag.

Sie können Variablen als Platzhalter in einer Richtlinie verwenden. Sie können beispielsweise einem IAM-Benutzer nur dann die Berechtigung zum Zugriff auf eine Ressource erteilen, wenn diese mit dem IAM-Benutzernamen des Benutzers gekennzeichnet ist. Siehe Variablen und Tags im IAM-Benutzerhandbuch.

Amazon IVS stellt von AWS verwaltete Richtlinien bereit, mit denen Identitäten ein Satz vorkonfigurierter Berechtigungen gewährt werden können (nur Lesezugriff oder Vollzugriff). Sie können anstelle der unten angezeigten identitätsbasierten Richtlinien auch verwaltete Richtlinien verwenden. Einzelheiten finden Sie unter Verwaltete Richtlinien für Amazon IVS Chat.

Autorisierung auf der Basis von Amazon IVS Tags

Sie können Tags an Amazon IVS-Chat-Ressourcen anhängen oder Tags in einer Anforderung an Amazon IVS Chat übergeben. Um den Zugriff auf Basis von Tags zu steuern, geben Sie Tag-Informationen im Bedingungselement einer Richtlinie mithilfe der Bedingungsschlüssel aws:ResourceTag/key-name, aws:RequestTag/key-name oder aws:TagKeys an. Weitere Informationen zum Markieren von Amazon-IVS-Chat-Ressourcen finden Sie unter „Markieren“ in der IVS-Chat-API-Referenz.

Rollen

Siehe IAM-Rollen und Temporäre Anmeldeinformationen im IAM-Benutzerhandbuch.

Eine IAM-Rolle ist eine Entität in Ihrem AWS-Konto mit spezifischen Berechtigungen.

Amazon IVS unterstützt die Verwendung temporärer Sicherheitsanmeldeinformationen. Sie können temporäre Anmeldeinformationen verwenden, um sich mit dem Verbund anzumelden, eine IAM-Rolle zu übernehmen oder eine kontoübergreifende Rolle zu übernehmen. Sie erhalten temporäre Sicherheitsanmeldeinformationen durch Aufrufen von AWS Security Token Service API-Operationen wie AssumeRole oder GetFederationToken.

Privilegierter und unprivilegierter Zugriff

API-Ressourcen haben privilegierten Zugriff. Unprivilegierter Wiedergabezugriff kann über private Kanäle eingerichtet werden; siehe Einrichten von privaten IVS-Kanälen.

Best Practices für Policen

Siehe IAM Best Practices im IAM-Benutzerhandbuch.

Identitätsbasierte Richtlinien sind sehr leistungsfähig. Sie bestimmen, ob jemand Amazon IVS-Ressourcen in Ihrem Konto erstellen, darauf zugreifen oder sie löschen kann. Dies kann zusätzliche Kosten für Ihr AWS-Konto verursachen. Befolgen Sie diese Empfehlungen:

  • Gewähren Sie die geringsten Rechte – Wenn Sie benutzerdefinierte Richtlinien erstellen, gewähren Sie nur die Berechtigungen, die zum Ausführen einer Aufgabe erforderlich sind. Beginnen Sie mit einem minimalen Satz an Berechtigungen und gewähren Sie bei Bedarf mehr Berechtigungen. Dies ist sicherer, als mit zu laxen Berechtigungen zu beginnen und dann zu versuchen, diese später zu verschärfen. Insbesondere reservieren Sie ivschat:* für Admin-Zugriff. Verwenden Sie es nicht in Anwendungen.

  • Aktivieren von MFA für sensible Vorgänge – Fordern Sie von IAM-Benutzern die Verwendung von Multi-Factor Authentication (MFA), um zusätzliche Sicherheit beim Zugriff auf sensible Ressourcen oder API-Operationen zu bieten.

  • Verwenden von Richtlinienbedingungen für zusätzliche Sicherheit – Definieren Sie, soweit dies möglich ist, die Bedingungen, unter denen Ihre identitätsbasierten Richtlinien den Zugriff auf eine Ressource erlauben. Sie können z. B. Bedingungen schreiben, um einen Bereich zulässiger IP-Adressen festzulegen, von denen eine Anfrage kommen muss. Sie können auch Bedingungen schreiben, um Anfragen nur innerhalb eines bestimmten Datums oder Zeitbereichs zuzulassen oder um die Verwendung von SSL oder MFA zu verlangen.

Beispiele für identitätsbasierte Richtlinien

Verwenden Sie die Amazon IVS-Konsole

Um auf die Amazon-IVS-Konsole zuzugreifen, müssen Sie über ein Minimum an Berechtigungen verfügen, die es Ihnen ermöglichen, Details zu den Amazon-IVS-Chat-Ressourcen in Ihrem AWS-Konto aufzulisten und anzuzeigen. Wenn Sie eine identitätsbasierte Richtlinie erstellen, die restriktiver ist als die erforderlichen Mindestberechtigungen, funktioniert die Konsole für Identitäten mit dieser Richtlinie nicht wie vorgesehen. Um den Zugriff auf die Amazon IVS-Konsole sicherzustellen, fügen Sie den Identitäten die folgende Richtlinie an (siehe IAM-Berechtigungen hinzufügen und entfernen im IAM-Benutzerhandbuch).

Die Teile der folgenden Richtlinie bieten Zugriff auf:

  • Alle Amazon-IVS-Chat-API-Endpunkte

  • Ihre Service Quotas für Amazon IVS Chat

  • Auflisten von Lambdas und Hinzufügen von Berechtigungen für das gewählte Lambda für Amazon-IVS-Chat-Moderation

  • Amazon CloudWatch, um Metriken für Ihre Chat-Sitzung zu erhalten

{ "Version": "2012-10-17", "Statement": [ { "Action": "ivschat:*", "Effect": "Allow", "Resource": "*" }, { "Action": [ "servicequotas:ListServiceQuotas" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "cloudwatch:GetMetricData" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "lambda:AddPermission", "lambda:ListFunctions" ], "Effect": "Allow", "Resource": "*" } ] }

Ressourcenbasierte Richtlinie für Amazon IVS Chat

Sie sollten dem Amazon-IVS-Chat-Service die Berechtigung erteilen, zum Überprüfen von Nachrichten Ihre Lambda-Ressource aufzurufen. Befolgen Sie hierzu die Anweisungen unter Verwenden von ressourcenbasierten Richtlinien für AWS Lambda (im AWS-Lambda-Entwicklerhandbuch) und füllen Sie die Felder wie unten angegeben aus.

Um den Zugriff auf Ihre Lambda-Ressource zu steuern, können Sie Bedingungen verwenden, die auf Folgendem basieren:

  • SourceArn – Unsere Beispielrichtlinie verwendet einen Platzhalter (*), damit alle Räume in Ihrem Konto Lambda aufrufen können. Optional können Sie in Ihrem Konto einen Raum angeben, damit nur dieser Raum Lambda aufrufen kann.

  • SourceAccount – Unter der folgenden Beispielrichtlinie lautet die AWS-Konto-ID 123456789012.

{ "Version": "2012-10-17", "Statement": [ { "Principal": { "Service": "ivschat.amazonaws.com" }, "Action": [ "lambda:InvokeFunction" ], "Effect": "Allow", "Resource": "arn:aws:lambda:us-west-2:123456789012:function:name", "Condition": { "StringEquals": { "AWS:SourceAccount": "123456789012" }, "ArnLike": { "AWS:SourceArn": "arn:aws:ivschat:us-west-2:123456789012:room/*" } } } ] }

Fehlerbehebung

Informationen zur Diagnose und Behebung häufiger Probleme, die bei der Arbeit mit Amazon IVS Chat und IAM auftreten können, finden Sie unter Fehlerbehebung im Benutzerhandbuch für IVS-Streaming mit niedriger Latenz.