View a markdown version of this page

Verwenden parametrisierter verwalteter Berechtigungen in AWS RAM - AWS Resource Access Manager

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.

Verwenden parametrisierter verwalteter Berechtigungen in AWS RAM

Eine parametrisierte verwaltete Berechtigung ist eine verwaltete Berechtigung mit Platzhaltern in den Richtlinienbedingungen, die Sie mit Ihren eigenen Werten ausfüllen. Diese Platzhalter sind Vorlagenparameter. Sie erstellen keine neue Art von verwalteten Berechtigungen. Sie erweitern die Richtlinienvorlage einer vorhandenen Vorlage um Variabilität.

Anstatt für jeden eindeutigen Bedingungswert eine separate, vom Kunden verwaltete Berechtigung zu erstellen, erstellen Sie eine vom Kunden verwaltete Berechtigung mit Parametern. Wenn Sie sie mit einer gemeinsam genutzten Ressource verknüpfen, geben Sie für jeden Parameter einen Wert an. AWS RAM ersetzt Ihre Werte in die Richtlinienvorlage und hängt die resultierende ressourcenbasierte Richtlinie an die gemeinsam genutzten Ressourcen an.

Ein zentrales Plattformteam erstellt beispielsweise eine vom Kunden verwaltete Genehmigung für AWS Systems Manager Parameter: Parameter speichern (Ressourcentyp) ssm:Parameter). Es gewährt nur Prinzipalen Lesezugriff mit einem zugelassenen team Etikett. Das Plattformteam teilt diese vom Kunden verwaltete Erlaubnis mit den Konten in seiner Organisation. Jedes Konto verwendet es dann in seinen eigenen Ressourcenfreigaben, die einen oder mehrere Parameter Store-Parameter enthalten können. In jeder Ressourcenfreigabe liefert das Konto die team Tag-Werte der Principals, die die gemeinsam genutzten Parameter Store-Parameter lesen können.

Typen von Vorlagenparametern

AWS RAM unterstützt zwei Parametertypen. Der Typ bestimmt, wie AWS RAM ersetzt den Wert in die gerenderte Richtlinie. In der AWS RAM API und die AWS CLI, die Typen sind STRING und STRING_LIST. Das AWS RAM Konsole zeigt sie als Zeichenfolge und StringList.

STRING

Akzeptiert genau einen Zeichenkettenwert.

  • Sie können eine verwenden STRING Parameter in einem Bedingungsschlüssel oder in einem Bedingungswert.

  • Sie können eine einbetten STRING Parameter in anderem Text. Beispiel, "arn:aws:iam::@{accountId}:role/Auditor".

  • Der gerenderte Wert ist immer eine Zeichenfolge. Da IAM-Bedingungsoperatoren Zeichenketten in den Typ konvertieren, den sie vergleichen, ist STRING Ein Parameter kann numerische, boolesche, Datums-, IP-Adressen- oder ARN-Werte bereitstellen.

STRING_LIST

Akzeptiert 1 bis 100 Zeichenfolgenwerte.

  • Sie können eine verwenden STRING_LIST Parameter nur in einem Bedingungswert, nicht in einem Bedingungsschlüssel.

  • Wenn der Bedingungswert eine einzelne Zeichenfolge ist, die nur den Parameter enthält, zum Beispiel "@{teams}", AWS RAM rendert ein Array der Werte, die Sie angeben. Wenn Sie einen einzelnen Wert angeben, AWS RAM rendert eine einzelne Zeichenfolge.

  • Wenn der Bedingungswert Text vor oder nach dem Parameter enthält, zum Beispiel "arn:aws:iam::@{accountIds}:role/ParameterReader", AWS RAM kombiniert jeden Wert mit diesem Text.

  • Um jeden Wert mit mehr als einer Zeichenfolge zu kombinieren, listen Sie die Zeichenketten in einer Reihe von Bedingungswerten auf. AWS RAM rendert jeden Array-Eintrag für jeden Wert und entfernt doppelte Ergebnisse. Das Ergebnis ist immer ein Array.

  • AWS RAM und IAM teilt eine Zeichenfolge nicht nach Kommas auf. Eine durch Kommas getrennte Zeichenfolge wird als ein Wert verglichen.

Beispiele finden Sie unter ZEICHENKETTENLISTE Beispiele für Parameter.

Syntaxregeln für Richtlinienvorlagen

Wenn Sie der Richtlinienvorlage einer verwalteten Berechtigung Parameter hinzufügen, gelten die folgenden Regeln. Wenn eine Anfrage gegen eine dieser Regeln verstößt, AWS RAM lehnt sie ab mit einem InvalidParameterException oder InvalidPolicyException Fehler.

  • Ein Parameter-Platzhalter verwendet die Syntax @{parameterName}.

  • Parameternamen können Buchstaben enthalten (a-z, A-Z), Zahlen (0-9), Doppelpunkte (:), Bindestriche (-) und Unterstriche (_). Namen müssen innerhalb einer Version mit verwalteten Berechtigungen eindeutig sein, und beim Vergleich wird die Groß- und Kleinschreibung ignoriert.

  • Sie müssen jeden Parameter deklarieren, wenn Sie die Berechtigung oder die Berechtigungsversion erstellen. Jede Deklaration erfordert einen Namen, einen Typ und eine Beschreibung. Die Beschreibung kann bis zu 255 Zeichen lang sein.

  • Jeder deklarierte Parameter muss in der Richtlinienvorlage erscheinen.

  • Platzhalter entsprechen exakt den deklarierten Namen, einschließlich Groß- und Kleinschreibung. Text im @{...} Ein Format, das nicht genau mit einem deklarierten Namen übereinstimmt, bleibt in der Richtlinie als literaler Text erhalten. Zum Beispiel, wenn Sie deklarieren teams aber schreibe @{Teams}, AWS RAM Leckereien @{Teams} als Text und lehnt die Anfrage ab, weil teams wird nicht verwendet.

  • Parameter können nur in der Condition Element, als Bedingungsschlüssel oder als Bedingungswert. AWS RAM lehnt Parameter in der ab Effect, Action, oder irgendein anderes Element.

  • Ein Bedingungsschlüssel kann höchstens einen Parameter enthalten, und es muss ein STRING Parameter. Ein Bedingungswert kann mehr als einen Parameter enthalten, zum Beispiel "@{project}-@{stage}". Wenn ein Bedingungswert kombiniert wird STRING_LIST Parameter, AWS RAM rendert jede Kombination ihrer Werte, bis zu 100 Zeichenketten für jeden Bedingungswert.

  • Sie können bis zu 100 Parameter für jede Version mit verwalteten Berechtigungen deklarieren.

  • Parameter haben keine Standardwerte. Wenn Sie die Berechtigung einer Ressourcenfreigabe zuordnen, müssen Sie für jeden deklarierten Parameter einen nicht leeren Wert angeben. Sie können keinen Namen angeben, der nicht deklariert ist, oder denselben Namen zweimal angeben.

Erstellen Sie eine parametrisierte verwaltete Berechtigung

Sie erstellen eine parametrisierte verwaltete Berechtigung auf die gleiche Weise wie jede andere vom Kunden verwaltete Berechtigung. Der Unterschied besteht darin, dass Sie Parameter deklarieren und verwenden @{parameterName} Platzhalter in den Bedingungen der Richtlinienvorlage.

Console
Um eine parametrisierte verwaltete Berechtigung zu erstellen
  1. Öffnen Sie das Bibliothek für verwaltete Berechtigungen und wähle Erstellen Sie eine vom Kunden verwaltete Erlaubnis.

  2. Unter Vom Kunden verwaltete Genehmigungsdetails, geben Sie einen Namen ein und wählen Sie den Ressourcentyp aus.

  3. Unter Vorlage für Richtlinien, geben Sie die Richtlinie ein. Verwenden @{parameterName} Platzhalter in den Bedingungen, unter denen jeder Ressourcenanteil seinen eigenen Wert liefern soll.

  4. Unter Vorlagen-Parameter, wählen Fügen Sie Parameter aus der Richtlinie hinzu um eine Zeile für jeden Platzhalter in der Richtlinie hinzuzufügen, oder wählen Sie Fügen Sie einen Parameter hinzu um jeweils eine Zeile hinzuzufügen. Geben Sie für jeden Parameter den Name des Parameters, wählen Sie Geben Sie ein (Zeichenfolge oder StringList), und geben Sie einen ein Beschreibung. Die Beschreibung wird jedem angezeigt, der einen Wert für den Parameter angibt.

  5. (Optional) Fügen Sie Tags hinzu.

  6. Wählen Sie Erstellen Sie eine vom Kunden verwaltete Erlaubnis.

AWS CLI
Um eine parametrisierte verwaltete Berechtigung zu erstellen
  • Führen Sie das aus create-permission Befehl mit dem --policy-template und --permission-template-parameters Parameter.

    Das folgende Beispiel erstellt eine vom Kunden verwaltete Berechtigung für ssm:Parameter Ressourcentyp. In dieser Richtlinie können Principals Parameter nur lesen, wenn der Principal über eine team Tag, dessen Wert in der teams Liste.

    $ aws ram create-permission \ --name ParameterReadByTeam \ --resource-type ssm:Parameter \ --permission-template-parameters '[{"name":"teams","type":"STRING_LIST","description":"Values of the team principal tag that can read the shared parameters"}]' \ --policy-template '{"Effect":"Allow","Action":["ssm:GetParameter","ssm:GetParameters"],"Condition":{"StringEquals":{"aws:PrincipalTag/team":"@{teams}"}}}' { "permission": { "arn": "arn:aws:ram:us-east-1:123456789012:permission/ParameterReadByTeam", "version": "1", "defaultVersion": true, "name": "ParameterReadByTeam", "resourceType": "ssm:Parameter", "status": "ATTACHABLE", "creationTime": 1763300000.000, "lastUpdatedTime": 1763300000.000, "permissionTemplateParameters": [ { "name": "teams", "type": "STRING_LIST", "description": "Values of the team principal tag that can read the shared parameters" } ] } }

Versionierung einer parametrisierten verwalteten Berechtigung

Parametrisierte verwaltete Berechtigungen werden auf dieselbe Weise versioniert wie jede andere vom Kunden verwaltete Berechtigung. Jede Version deklariert ihre Parameter unabhängig voneinander, sodass eine neue Version einen anderen Parametersatz deklarieren kann als die vorherige Version.

Um eine neue Version zu erstellen, führen Sie den Befehl aus create-permission-version Befehl mit dem --policy-template und --permission-template-parameters Parameter. Im folgenden Beispiel wird eine zweite Bedingung mit einer hinzugefügt STRING Parameter benannt environment.

$ aws ram create-permission-version \ --permission-arn arn:aws:ram:us-east-1:123456789012:permission/ParameterReadByTeam \ --permission-template-parameters '[{"name":"teams","type":"STRING_LIST","description":"Values of the team principal tag that can read the shared parameters"},{"name":"environment","type":"STRING","description":"Value of the environment principal tag that can read the shared parameters"}]' \ --policy-template '{"Effect":"Allow","Action":["ssm:GetParameter","ssm:GetParameters"],"Condition":{"StringEquals":{"aws:PrincipalTag/team":"@{teams}","aws:PrincipalTag/environment":"@{environment}"}}}'

Eine neue Version wird zur Standardversion, sobald Sie sie erstellen. Bestehende Ressourcenfreigaben behalten die Version, die sie verwenden. Wenn der Besitzer einer Ressourcenfreigabe sie auf die neue Version aktualisiert, muss der Besitzer Werte für die Parameter angeben, die in der neuen Version deklariert werden. Weitere Informationen finden Sie unter Aktualisieren AWS verwaltete Berechtigungen für eine neuere Version.

Weitere Informationen zur Funktionsweise von Versionen und Standardversionen mit vom Kunden verwalteten Berechtigungen finden Sie unter Erstellen und Verwenden von kundenverwalteten Berechtigungen in AWS RAM.

Zeigen Sie eine Vorschau einer gerenderten Richtlinienvorlage an

Bevor Sie einer Ressourcenfreigabe eine parametrisierte verwaltete Berechtigung zuordnen, können Sie eine Vorschau der Richtlinie anzeigen, die AWS RAM wird anhand bestimmter Parameterwerte gerendert.

In der AWS RAM Wenn Sie eine Ressourcenfreigabe erstellen oder aktualisieren, geben Sie in der Konsole die Werte unter ein Werte der Vorlagenparameter und wähle Vorschau der gerenderten Richtlinie anzeigen.

In der AWS CLI, starte den Erlaubnis einholen Befehl mit dem --permission-template-parameters Parameter. Der permission Das Feld der Antwort enthält die Richtlinie mit Ihren Werten anstelle der Platzhalter.

$ aws ram get-permission \ --permission-arn arn:aws:ram:us-east-1:123456789012:permission/ParameterReadByTeam \ --permission-template-parameters '[{"name":"teams","values":["payments","analytics"]},{"name":"environment","values":["prod"]}]' { "permission": { "arn": "arn:aws:ram:us-east-1:123456789012:permission/ParameterReadByTeam", "version": "2", "defaultVersion": true, "name": "ParameterReadByTeam", "resourceType": "ssm:Parameter", "permission": "{\"Effect\":\"Allow\",\"Action\":[\"ssm:GetParameter\",\"ssm:GetParameters\"],\"Condition\":{\"StringEquals\":{\"aws:PrincipalTag/team\":[\"payments\",\"analytics\"],\"aws:PrincipalTag/environment\":\"prod\"}}}", "creationTime": 1763400000.000, "lastUpdatedTime": 1763400000.000, "isResourceTypeDefault": false, "permissionType": "CUSTOMER_MANAGED", "featureSet": "STANDARD", "status": "ATTACHABLE", "permissionTemplateParameters": [ { "name": "teams", "type": "STRING_LIST", "description": "Values of the team principal tag that can read the shared parameters" }, { "name": "environment", "type": "STRING", "description": "Value of the environment principal tag that can read the shared parameters" } ] } }

Ohne die --permission-template-parameters Parameter, der get-permission Der Befehl gibt die Richtlinienvorlage mit dem zurück @{parameterName} Platzhalter. Die permissionTemplateParameters Feld listet den Namen, den Typ und die Beschreibung jedes deklarierten Parameters auf.

Ordnen Sie einer Ressourcenfreigabe eine parametrisierte verwaltete Berechtigung zu

Wenn Sie einer Ressourcenfreigabe eine parametrisierte verwaltete Berechtigung zuordnen, müssen Sie Werte für alle Parameter angeben, die in der Version deklariert werden. AWS RAM rendert die Richtlinienvorlage mit Ihren Werten und hängt die resultierende ressourcenbasierte Richtlinie an die gemeinsam genutzten Ressourcen dieses Typs an.

Console
Um eine parametrisierte verwaltete Berechtigung einer Ressourcenfreigabe zuzuordnen
  1. Wenn Sie eine Ressourcenfreigabe erstellen oder aktualisieren, auf der Ordnen Sie verwaltete Berechtigungen zu Wählen Sie auf der Seite die parametrisierte verwaltete Berechtigung für den Ressourcentyp aus.

  2. Unter Werte der Vorlagenparameter, geben Sie für jeden Parameter einen Wert ein. Für einen StringList Parameter, drücken Sie nach jedem Wert die EINGABETASTE, oder fügen Sie Werte ein, die durch Zeilenumbrüche getrennt sind.

  3. (Optional) Wählen Sie Vorschau der gerenderten Richtlinie anzeigen um die Richtlinie zu überprüfen, die AWS RAM wird anhängen.

  4. Schließe den Rest des Wizards ab. Auf der Übersichtsseite sind die Werte unter aufgeführt Werte der Vorlagenparameter.

AWS CLI
Um eine parametrisierte verwaltete Berechtigung einer Ressourcenfreigabe zuzuordnen
  1. Führen Sie aus create-resource-share oder Erlaubnis zum Teilen von Ressourcen zuordnen mit dem --permission-template-parameters Parameter.

    Für create-resource-share, der Parameter ist eine Liste. Jeder Eintrag enthält eine permissionArn und der permissionTemplateParameters Werte für diese Erlaubnis. Im folgenden Beispiel wird eine Ressourcenfreigabe erstellt, die einen Parameter Store-Parameter mit einem anderen gemeinsam nutzt AWS-Konto. Schulleiter bei der team Tag payments oder analytics und die environment Tag prod kann es lesen.

    $ aws ram create-resource-share \ --name PaymentsConfig \ --resource-arns arn:aws:ssm:us-east-1:123456789012:parameter/payments/endpoint \ --principals 111122223333 \ --permission-arns arn:aws:ram:us-east-1:123456789012:permission/ParameterReadByTeam \ --permission-template-parameters '[{"permissionArn":"arn:aws:ram:us-east-1:123456789012:permission/ParameterReadByTeam","permissionTemplateParameters":[{"name":"teams","values":["payments","analytics"]},{"name":"environment","values":["prod"]}]}]' { "resourceShare": { "resourceShareArn": "arn:aws:ram:us-east-1:123456789012:resource-share/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "name": "PaymentsConfig", "owningAccountId": "123456789012", "allowExternalPrincipals": true, "status": "ACTIVE", "creationTime": 1763300000.000, "lastUpdatedTime": 1763300000.000, "featureSet": "STANDARD" } }

    create-resource-share verwendet immer die Standardversion jeder verwalteten Berechtigung. Sie können einer Ressourcenfreigabe nur die Standardversion einer verwalteten Berechtigung zuordnen.

  2. Um die Parameterwerte einer vorhandenen Ressourcenfreigabe zu ändern oder sie auf die Standardversion der Berechtigung zu verschieben, führen Sie den Befehl aus Associate-Resource-Share-Permission mit dem --replace Parameter. Für diesen Befehl --permission-template-parameters nimmt die Parameterwerte direkt an.

    $ aws ram associate-resource-share-permission \ --resource-share-arn arn:aws:ram:us-east-1:123456789012:resource-share/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --permission-arn arn:aws:ram:us-east-1:123456789012:permission/ParameterReadByTeam \ --permission-template-parameters '[{"name":"teams","values":["payments"]},{"name":"environment","values":["prod"]}]' \ --replace { "returnValue": true }

Um viele Ressourcenfreigaben von einer Version oder Berechtigung auf eine andere zu übertragen, führen Sie den Befehl aus replace-permission-associations. Wenn die Zielversion Parameter deklariert, schließen Sie Folgendes ein --permission-template-parameters. AWS RAM wendet dieselben Werte auf jeden Ressourcenanteil an, den der Befehl aktualisiert.

Vorlagenparameter und -werte anzeigen

Sie können die Parameter anzeigen, die eine verwaltete Berechtigung deklariert, und die Werte, die Ihre Ressourcenfreigaben bereitstellen.

Sehen Sie sich die Parameter an, die eine verwaltete Berechtigung deklariert

Führen Sie das aus Genehmigung einholen Befehl. Der permissionTemplateParameters Das Feld listet den Namen, den Typ und die Beschreibung der einzelnen Parameter auf. In der Konsole werden auf der Seite mit den Berechtigungsdetails dieselben Informationen angezeigt.

Sehen Sie sich die Werte an, die eine Ressourcenfreigabe liefert

Führen Sie das aus list-resource-share-permissions Befehl. Für jede zugeordnete parametrisierte verwaltete Berechtigung ist der permissionTemplateParameters Das Feld enthält die Werte, die der Ressourcenanteil liefert.

$ aws ram list-resource-share-permissions \ --resource-share-arn arn:aws:ram:us-east-1:123456789012:resource-share/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 { "permissions": [ { "arn": "arn:aws:ram:us-east-1:123456789012:permission/ParameterReadByTeam", "version": "2", "defaultVersion": true, "name": "ParameterReadByTeam", "resourceType": "ssm:Parameter", "status": "ATTACHABLE", "creationTime": 1763400000.000, "lastUpdatedTime": 1763400000.000, "isResourceTypeDefault": false, "permissionType": "CUSTOMER_MANAGED", "featureSet": "STANDARD", "permissionTemplateParameters": [ { "name": "teams", "values": ["payments"] }, { "name": "environment", "values": ["prod"] } ] } ] }

Das Rechtevereinigungen auflisten Der Befehl gibt auch die Werte für die Ressourcenanteile zurück, die Sie besitzen. Wenn Sie die Ressourcenanteile in anderen auflisten AWS-Konten wenn Sie eine vom Kunden verwaltete Berechtigung verwenden, die Sie geteilt haben, enthält die Antwort nicht deren Werte.

Gemeinsame Nutzung parametrisierter verwalteter Berechtigungen für mehrere Konten

Sie können eine parametrisierte verwaltete Berechtigung mit anderen teilen AWS-Konten wie jede andere vom Kunden verwaltete Berechtigung. Die Empfängerkonten können den Namen, den Typ und die Beschreibung jedes Parameters sehen. Schreiben Sie daher Beschreibungen, aus denen hervorgeht, welcher Wert angegeben werden muss. Jedes Empfängerkonto gibt seine eigenen Werte an, wenn es die gemeinsam verwaltete Berechtigung seinen eigenen Ressourcenfreigaben zuordnet.

Anweisungen zum Teilen von vom Kunden verwalteten Berechtigungen finden Sie unter Teilen und Verwenden von kundenverwalteten Berechtigungen für mehrere Konten in AWS RAM.

Steuern Sie die Vorlagenparameterwerte mit IAM-Richtlinien

Sie können das verwenden ram:PermissionTemplateParameter/parameter-name Bedingungsschlüssel in einer IAM-Richtlinie, um zu steuern, welche Werte ein Principal für einen Parameter angeben kann. Der Schlüssel ist mehrwertig und enthält die Werte in der Anforderung für den benannten Parameter. Er ist auf der Berechtigungsressource für den verfügbar ram:CreateResourceShare, ram:AssociateResourceSharePermission, und ram:ReplacePermissionAssociations Aktionen.

In der folgenden Beispielrichtlinie gewährt die erste Anweisung die Aktionen für ParameterReadByTeam vom Kunden verwaltete Erlaubnis. In der zweiten Anweisung wird ihnen verweigert, wenn ein Wert angegeben wurde teams ist etwas anderes als payments oder analytics. Da der Schlüssel mehrwertig ist, verwendet die Richtlinie den ForAnyValue Operator festlegen. AWS RAM erfordert einen Wert für jeden deklarierten Parameter, sodass eine Anfrage, die diese vom Kunden verwaltete Berechtigung verwendet, immer den Schlüssel enthält.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ram:CreateResourceShare", "ram:AssociateResourceSharePermission", "ram:ReplacePermissionAssociations" ], "Resource": "arn:aws:ram:us-east-1:123456789012:permission/ParameterReadByTeam" }, { "Effect": "Deny", "Action": [ "ram:CreateResourceShare", "ram:AssociateResourceSharePermission", "ram:ReplacePermissionAssociations" ], "Resource": "arn:aws:ram:us-east-1:123456789012:permission/ParameterReadByTeam", "Condition": { "ForAnyValue:StringNotEquals": { "ram:PermissionTemplateParameter/teams": [ "payments", "analytics" ] } } } ] }

Diese Anweisungen steuern nur die Berechtigungsressource. Der Hauptbenutzer benötigt auch die Genehmigung für die anderen Ressourcen in der Anfrage, z. B. für den Ressourcenanteil und die Ressourcen, die er gemeinsam nutzt. Weitere Beispiele finden Sie unter Beispiel für IAM-Richtlinien für AWS RAM.

ZEICHENKETTENLISTE Beispiele für Parameter

Die folgenden Beispiele zeigen, wie AWS RAM macht STRING_LIST Parameter.

Beispiel EIN ZEICHENKETTENLISTE Parameter allein in einem Bedingungswert

Vorlage:

"Condition": { "StringEquals": { "aws:PrincipalTag/team": "@{teams}" } }

Werte: ["payments", "analytics"]

Gerenderte Richtlinie:

"Condition": { "StringEquals": { "aws:PrincipalTag/team": ["payments", "analytics"] } }

Mit dem einzelnen Wert ["payments"], der gerenderte Wert ist die Zeichenfolge "payments".

Beispiel EIN ZEICHENKETTENLISTE Parameter mit umgebendem Text

AWS RAM kombiniert jeden Wert mit dem Text vor und nach dem Parameter.

Vorlage:

"Condition": { "ArnLike": { "aws:PrincipalArn": "arn:aws:iam::@{accountIds}:role/ParameterReader" } }

Werte: ["111122223333", "444455556666"]

Gerenderte Richtlinie:

"Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::111122223333:role/ParameterReader", "arn:aws:iam::444455556666:role/ParameterReader" ] } }
Beispiel EIN ZEICHENKETTENLISTE Parameter in einem Array von Bedingungswerten

AWS RAM rendert jeden Eintrag im Array für jeden Wert und entfernt doppelte Ergebnisse.

Vorlage:

"Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::@{accountIds}:role/Auditor", "arn:aws:iam::@{accountIds}:role/Reader" ] } }

Werte: ["111122223333", "444455556666"]

Gerenderte Richtlinie:

"Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::111122223333:role/Auditor", "arn:aws:iam::444455556666:role/Auditor", "arn:aws:iam::111122223333:role/Reader", "arn:aws:iam::444455556666:role/Reader" ] } }