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.
Verwendung identitätsbasierter Richtlinien bei Amazon SNS
Themen
Amazon Simple Notification Service ist in AWS Identity and Access Management (IAM) integriert, sodass Sie angeben können, welche SNS Amazon-Aktionen ein Benutzer in Ihrem System mit SNS Amazon-Ressourcen ausführen AWS-Konto kann. Sie können ein bestimmtes Thema in der Richtlinie festlegen. Beispielsweise könnten Sie Variablen verwenden, wenn Sie eine IAM Richtlinie erstellen, die bestimmten Benutzern in Ihrer Organisation die Erlaubnis erteilt, die Publish
Aktion für bestimmte Themen in Ihrem Unternehmen zu verwenden AWS-Konto. Weitere Informationen finden Sie unter Richtlinienvariablen im IAMNutzerhandbuch.
Wichtig
Die Verwendung von Amazon SNS mit IAM ändert nichts an der Art und Weise, wie Sie Amazon verwendenSNS. Es gibt keine Änderungen an SNS Amazon-Aktionen und keine neuen SNS Amazon-Aktionen in Bezug auf Benutzer und Zugriffskontrolle.
Beispiele für Richtlinien, die SNS Aktionen und Ressourcen von Amazon abdecken, finden Sie unterBeispielrichtlinien für Amazon SNS.
IAMund SNS Amazon-Richtlinien zusammen
Sie verwenden eine IAM Richtlinie, um den Zugriff Ihrer Benutzer auf SNS Amazon-Aktionen und -Themen einzuschränken. Eine IAM Richtlinie kann den Zugriff nur auf Benutzer in Ihrem AWS Konto beschränken, nicht auf andere AWS-Konten.
Sie verwenden eine SNS Amazon-Richtlinie mit einem bestimmten Thema, um einzuschränken, wer mit diesem Thema arbeiten kann (z. B. wer Nachrichten zu diesem Thema veröffentlichen kann, wer es abonnieren kann usw.). SNSAmazon-Richtlinien können anderen AWS-Konten oder Benutzern innerhalb Ihres eigenen Bereichs Zugriff gewähren AWS-Konto.
Um Ihren Benutzern Berechtigungen für Ihre SNS Amazon-Themen zu gewähren, können Sie IAM Richtlinien, SNS Amazon-Richtlinien oder beides verwenden. In den meisten Fällen erzielen Sie mit beiden Systemen dieselben Ergebnisse. Das folgende Diagramm zeigt beispielsweise eine IAM Richtlinie und eine SNS Amazon-Richtlinie, die gleichwertig sind. Die IAM Richtlinie ermöglicht die SNS Subscribe
Aktion von Amazon für das Thema topic_xyz in Ihrem Konto. AWS Die IAM Richtlinie ist den Benutzern Bob und Susan zugeordnet (was bedeutet, dass Bob und Susan über die in der Richtlinie angegebenen Berechtigungen verfügen). Die SNS Amazon-Richtlinie gewährt Bob und Susan ebenfalls die Erlaubnis, auf Subscribe
topic_xyz zuzugreifen.
Anmerkung
Das vorherige Beispiel veranschaulicht einfache Richtlinien ohne Bedingungen. Sie können eine bestimmte Bedingung in einer der Richtlinien angeben und erhalten dasselbe Ergebnis.
Es gibt einen Unterschied zwischen den AWS IAM SNS Richtlinien von Amazon: Mit dem SNS Amazon-Richtliniensystem können Sie anderen eine Genehmigung erteilen AWS-Konten, während dies bei der IAM Richtlinie nicht der Fall ist.
Sie entscheiden je nach Ihren Anforderungen, wie Sie beide Systeme zum Verwalten von Berechtigungen verwenden. Die folgenden Beispiele zeigen, wie die beiden Richtliniensysteme zusammenarbeiten.
Beispiel 1
In diesem Beispiel gelten sowohl eine IAM Richtlinie als auch eine SNS Amazon-Richtlinie für Bob. Die IAM Richtlinie gewährt ihm die Genehmigung für Subscribe
jedes der AWS-Konto Themen, wohingegen die SNS Amazon-Richtlinie ihm die Erlaubnis zur Verwendung Publish
zu einem bestimmten Thema (topic_xyz) gewährt. Das folgende Diagramm verdeutlicht das Konzept.
Wenn Bob eine Anfrage zum Abonnieren eines beliebigen Themas im AWS Konto senden würde, würde die IAM Richtlinie die Aktion zulassen. Wenn Bob eine Anfrage zur Veröffentlichung einer Nachricht an topic_xyz senden würde, würde die SNS Amazon-Richtlinie die Aktion zulassen.
Beispiel 2
In diesem Beispiel bauen wir auf Beispiel 1 auf (wobei Bob zwei für ihn geltende Richtlinien hat). Angenommen, Bob veröffentlicht Nachrichten für das Thema „topic_xyz“, und sollte daran gehindert werden. In diesem Fall entfernen Sie seine Möglichkeit zur Veröffentlichung für diese Themen vollständig. Am einfachsten ist es, eine IAM Richtlinie hinzuzufügen, die ihm den Zugriff auf die Publish
Aktion zu allen Themen verweigert. Diese dritte Richtlinie setzt die SNS Amazon-Richtlinie außer Kraft, die ihm ursprünglich die Erlaubnis gegeben hat, auf topic_xyz zu veröffentlichen, da eine ausdrückliche Ablehnung immer eine Zulassung außer Kraft setzt (weitere Informationen zur Bewertungslogik von Richtlinien finden Sie unter). Auswertungslogik Das folgende Diagramm verdeutlicht das Konzept.
Beispiele für Richtlinien, die SNS Aktionen und Ressourcen von Amazon abdecken, finden Sie unterBeispielrichtlinien für Amazon SNS. Weitere Informationen zum Verfassen von SNS Amazon-Richtlinien finden Sie in der technischen Dokumentation für Amazon SNS
SNSARNAmazon-Ressourcenformat
Für Amazon SNS sind Themen der einzige Ressourcentyp, den Sie in einer Richtlinie angeben können. Im Folgenden finden Sie das Format Amazon Resource Name (ARN) für Themen.
arn:aws:sns:region
:account_ID
:topic_name
Weitere Informationen zu ARNs finden Sie ARNsim IAMBenutzerhandbuch.
Das Folgende bezieht sich auf ein ARN Thema, das MyTopic in der Region us-east-2 benannt ist und zu AWS-Konto 123456789012 gehört.
arn:aws:sns:us-east-2:123456789012:MyTopic
Wenn Sie MyTopic in jeder der verschiedenen Regionen, die Amazon SNS unterstützt, ein Thema benannt hätten, könnten Sie die Themen wie folgt spezifizierenARN.
arn:aws:sns:*:123456789012:MyTopic
Sie können im Namen des Themas die Platzhalterzeichen * und ? verwenden. Der folgende Namen könnte z. B. alle Themen bezeichnen, die von Bob erstellt wurden und den Präfix bob_
. haben.
arn:aws:sns:*:123456789012:bob_*
Der Einfachheit halber SNS gibt Amazon bei der Erstellung eines Themas die Themen ARN in der Antwort zurück.
SNSAPIAmazon-Aktionen
In einer IAM Richtlinie können Sie alle Aktionen angeben, die Amazon SNS anbietet. Für die Unsubscribe
Aktionen ConfirmSubscription
und ist jedoch keine Authentifizierung erforderlich. Dies bedeutet, dass der Zugriff der Benutzer auf diese Aktionen auch dann IAM nicht eingeschränkt wird, wenn Sie diese Aktionen in einer Richtlinie angeben.
Jeder in einer Richtlinie angegebenen Aktion muss die Zeichenfolge sns:
in Kleinbuchstaben vorangestellt werden. Um beispielsweise alle SNS Amazon-Aktionen anzugeben, würden Sie verwendensns:*
. Eine Liste der Aktionen finden Sie in der Amazon Simple Notification Service API Reference.
SNSAmazon-Richtlinienschlüssel
Amazon SNS implementiert die folgenden AWS allgemeinen Richtlinienschlüssel sowie einige dienstspezifische Schlüssel.
Eine Liste der von ihnen unterstützten Bedingungsschlüssel finden Sie AWS-Services im IAMBenutzerhandbuch unter Aktionen, Ressourcen und Bedingungsschlüssel für. AWS-Service Eine Liste der Bedingungsschlüssel, die in mehreren Fällen verwendet werden können AWS-Services, finden Sie im IAMBenutzerhandbuch unter AWS Globale Kontext-Schlüssel für Bedingungen.
Amazon SNS verwendet die folgenden dienstspezifischen Schlüssel. Verwenden Sie diese Schlüssel in Richtlinien, die den Zugriff auf Subscribe
-Anfragen beschränken.
-
sns:endpoint — Die URL E-Mail-Adresse oder ARN aus einer
Subscribe
Anfrage oder einem zuvor bestätigten Abonnement. Verwendung mit Bedingungen im Zusammenhang mit Zeichenfolgen (siehe Beispielrichtlinien für Amazon SNS), um den Zugriff auf bestimmte Endpunkte (z. B. *@yourcompany.com) zu beschränken. -
sns:Protocol: Der
protocol
-Wert einerSubscribe
-Anfrage oder eines zuvor bestätigten Abonnements. Verwendung mit Bedingungen im Zusammenhang mit Zeichenfolgen (siehe Beispielrichtlinien für Amazon SNS), um die Veröffentlichung auf bestimmte Bereitstellungsprotokolle (z. B. HTTPS) zu beschränken.
Beispielrichtlinien für Amazon SNS
In diesem Abschnitt werden mehrere einfache Richtlinien zur Steuerung des Benutzerzugriffs auf Amazon beschriebenSNS.
Anmerkung
In future SNS könnte Amazon neue Aktionen hinzufügen, die logischerweise in eine der folgenden Richtlinien aufgenommen werden sollten, basierend auf den erklärten Zielen der Richtlinie.
Beispiel 1: Zulassen der Erstellung und Verwaltung von Themen für eine Gruppe
In diesem Beispiel erstellen wir eine Richtlinie, die Zugriff auf CreateTopic
, ListTopics
, SetTopicAttributes
und DeleteTopic
gewährt.
{ "Statement": [{ "Effect": "Allow", "Action": ["sns:CreateTopic", "sns:ListTopics", "sns:SetTopicAttributes", "sns:DeleteTopic"], "Resource": "*" }] }
Beispiel 2: Zulassen der Veröffentlichung von Nachrichten zu einem bestimmten Thema für die IT-Gruppe
In diesem Beispiel erstellen wir eine Gruppe für die IT, die eine Richtlinie zuweist, die Zugriff auf Publish
für das definierte Thema gewährt.
{ "Statement": [{ "Effect": "Allow", "Action": "sns:Publish", "Resource": "arn:aws:sns:*:123456789012:MyTopic" }] }
Beispiel 3: Geben Sie Benutzern die AWS-Konto Möglichkeit, Themen zu abonnieren
In diesem Beispiel erstellen wir eine Richtlinie mit der Bedingungen für die Zeichenfolgenübereinstimmungen für die Richtlinienschlüssel sns:Protocol
und sns:Endpoint
, die den Zugriff auf die Subscribe
-Aktion gewährt.
{ "Statement": [{ "Effect": "Allow", "Action": ["sns:Subscribe"], "Resource": "*", "Condition": { "StringLike": { "SNS:Endpoint": "*@example.com" }, "StringEquals": { "sns:Protocol": "email" } } }] }
Beispiel 4: Zulassen der Veröffentlichung von Nachrichten zu einem bestimmten Thema für einen Partner
Sie können eine SNS Amazon-Richtlinie oder eine IAM Richtlinie verwenden, um einem Partner zu ermöglichen, zu einem bestimmten Thema zu veröffentlichen. Wenn Ihr Partner eine hat AWS-Konto, ist es möglicherweise einfacher, eine SNS Amazon-Richtlinie zu verwenden. Jeder Mitarbeiter des Partners, der über die AWS Sicherheitsnachweise verfügt, könnte jedoch Nachrichten zu diesem Thema veröffentlichen. In diesem Beispiel wird davon ausgegangen, dass Sie den Zugriff auf eine bestimmte Person (oder Anwendung) begrenzen möchten. Dazu müssen Sie den Partner wie einen Benutzer in Ihrem eigenen Unternehmen behandeln und eine IAM Richtlinie anstelle einer SNS Amazon-Richtlinie verwenden.
In diesem Beispiel erstellen wir eine Gruppe mit dem Namen WidgetCo , die das Partnerunternehmen repräsentiert. Wir erstellen einen Benutzer für die bestimmte Person (oder Anwendung) bei dem Partnerunternehmen, die Zugriff benötigt, und fügen den Benutzer dann der Gruppe hinzu.
Anschließend fügen wir eine Richtlinie hinzu, die der Gruppe Publish
Zugriff auf das angegebene Thema gewährt WidgetPartnerTopic.
Wir möchten auch verhindern, dass die WidgetCo Gruppe etwas anderes mit Themen macht. Deshalb fügen wir eine Erklärung hinzu, die allen SNS Amazon-Aktionen die Genehmigung verweigert, außer zu anderen Publish
Themen als WidgetPartnerTopic. Dies ist nur erforderlich, wenn es an anderer Stelle im System eine umfassende Richtlinie gibt, die Benutzern umfassenden Zugriff auf Amazon gewährtSNS.
{ "Statement": [{ "Effect": "Allow", "Action": "sns:Publish", "Resource": "arn:aws:sns:*:123456789012:WidgetPartnerTopic" }, { "Effect": "Deny", "NotAction": "sns:Publish", "NotResource": "arn:aws:sns:*:123456789012:WidgetPartnerTopic" } ] }