Verwenden von serviceverknüpften Rollen für Amazon RDS - Amazon Relational Database Service

Verwenden von serviceverknüpften Rollen für Amazon RDS

Amazon RDS nutzt von AWS Identity and Access Management (IAM) serviceverknüpfte Rollen. Eine serviceverknüpfte Rolle ist ein spezieller Typ einer IAM-Rolle, die direkt mit Amazon RDS verknüpft ist. Serviceverknüpfte Rollen werden von Amazon RDS vordefiniert und schließen alle Berechtigungen ein, die der Service zum Aufrufen anderer AWS-Services in Ihrem Namen erfordert.

Eine serviceverknüpfte Rolle macht die Nutzung von Amazon RDS einfacher, da Sie die erforderlichen Berechtigungen nicht manuell hinzufügen müssen. Amazon RDS definiert die Berechtigungen seiner serviceverknüpften Rollen, und sofern nicht anders definiert, kann nur Amazon RDS seine Rollen übernehmen. Die definierten Berechtigungen umfassen die Vertrauens- und Berechtigungsrichtlinie. Diese Berechtigungsrichtlinie kann keinen anderen IAM-Entitäten zugewiesen werden.

Sie können die Rollen nur nach dem Löschen der zugehörigen Ressourcen löschen. Dies schützt Ihre Amazon RDS-Ressourcen, da Sie nicht versehentlich die Berechtigung für den Zugriff auf die Ressourcen entfernen können.

Informationen zu anderen Services, die serviceverknüpfte Rollen unterstützen, finden Sie unter AWS-Services, die mit IAM funktionieren. Suchen Sie nach den Services, für die Yes (Ja) in der Spalte Service-Linked Role (Serviceverknüpfte Rolle) angegeben ist. Wählen Sie über einen Link Ja aus, um die Dokumentation zu einer serviceverknüpften Rolle für diesen Service anzuzeigen.

Berechtigungen von serviceverknüpften Rollen für Amazon RDS

Amazon RDS verwendet die serviceverknüpfte Rolle namens AWSServiceRoleForRDS– damit Amazon RDS -AWSServices im Namen Ihrer DB-Instances aufrufen kann.

Die servicegebundene Rolle AWSServiceRoleForRDS vertraut den folgenden Services, die diese Rolle übernehmen:

  • rds.amazonaws.com

Dieser dienstgebundenen Rolle ist eine Berechtigungsrichtlinie namens AmazonRDSServiceRolePolicy zugeordnet, die ihr Berechtigungen für den Betrieb in Ihrem Konto erteilt. Die Rollenberechtigungsrichtlinie erlaubt Amazon RDS die Durchführung der folgenden Aktionen für die angegebenen Ressourcen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds:CrossRegionCommunication" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:AllocateAddress", "ec2:AssociateAddress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateCoipPoolPermission", "ec2:CreateLocalGatewayRouteTablePermission", "ec2:CreateNetworkInterface", "ec2:CreateSecurityGroup", "ec2:DeleteCoipPoolPermission", "ec2:DeleteLocalGatewayRouteTablePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteSecurityGroup", "ec2:DescribeAddresses", "ec2:DescribeAvailabilityZones", "ec2:DescribeCoipPools", "ec2:DescribeInternetGateways", "ec2:DescribeLocalGatewayRouteTablePermissions", "ec2:DescribeLocalGatewayRouteTables", "ec2:DescribeLocalGatewayRouteTableVpcAssociations", "ec2:DescribeLocalGateways", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcAttribute", "ec2:DescribeVpcs", "ec2:DisassociateAddress", "ec2:ModifyNetworkInterfaceAttribute", "ec2:ModifyVpcEndpoint", "ec2:ReleaseAddress", "ec2:RevokeSecurityGroupIngress", "ec2:CreateVpcEndpoint", "ec2:DescribeVpcEndpoints", "ec2:DeleteVpcEndpoints", "ec2:AssignPrivateIpAddresses", "ec2:UnassignPrivateIpAddresses" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/rds/*", "arn:aws:logs:*:*:log-group:/aws/docdb/*", "arn:aws:logs:*:*:log-group:/aws/neptune/*" ] }, { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/rds/*:log-stream:*", "arn:aws:logs:*:*:log-group:/aws/docdb/*:log-stream:*", "arn:aws:logs:*:*:log-group:/aws/neptune/*:log-stream:*" ] }, { "Effect": "Allow", "Action": [ "kinesis:CreateStream", "kinesis:PutRecord", "kinesis:PutRecords", "kinesis:DescribeStream", "kinesis:SplitShard", "kinesis:MergeShards", "kinesis:DeleteStream", "kinesis:UpdateShardCount" ], "Resource": [ "arn:aws:kinesis:*:*:stream/aws-rds-das-*" ] }, { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData" ], "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": [ "AWS/DocDB", "AWS/Neptune", "AWS/RDS", "AWS/Usage" ] } } } ] }
Anmerkung

Sie müssen Berechtigungen konfigurieren, damit eine juristische Stelle von IAM (z. B. Benutzer, Gruppe oder Rolle) eine serviceverknüpfte Rolle erstellen, bearbeiten oder löschen kann. Wenn Sie die folgende Fehlermeldung erhalten:

Unable to create the resource. Überprüfen Sie, ob Sie die Berechtigung haben, eine serviceverknüpfte Rolle zu erstellen. Andernfalls warten Sie und versuchen Sie es später noch einmal.

Stellen Sie sicher, dass Sie die folgenden Berechtigungen für Sie aktiviert sind:

{ "Action": "iam:CreateServiceLinkedRole", "Effect": "Allow", "Resource": "arn:aws:iam::*:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS", "Condition": { "StringLike": { "iam:AWSServiceName":"rds.amazonaws.com" } } }

Weitere Informationen finden Sie unter Serviceverknüpfte Rollenberechtigung im IAM-Benutzerhandbuch.

Erstellen einer serviceverknüpften Rolle für Amazon RDS

Sie müssen eine serviceverknüpfte Rolle nicht manuell erstellen. Wenn Sie eine DB-Instance erstellen, erstellt Amazon RDS die serviceverknüpfte Rolle für Sie.

Wichtig

Wenn Sie Amazon RDS bereits vor dem 1. Dezember 2017 verwendet haben, bevor der Service serviceverknüpfte Rollen unterstützt hat, hat Amazon RDS die Rolle AWSServiceRoleForRDS in Ihrem Konto erstellt. Weitere Informationen finden Sie unter In meinem AWS-Konto wird eine neue Rolle angezeigt.

Wenn Sie diese serviceverknüpfte Rolle löschen und sie dann erneut erstellen müssen, können Sie dasselbe Verfahren anwenden, um die Rolle in Ihrem Konto neu anzulegen. Wenn Sie eine DB-Instance erstellen, erstellt Amazon RDS wieder die serviceverknüpfte Rolle für Sie.

Bearbeiten einer serviceverknüpften Rolle für Amazon RDS

Amazon RDS erlaubt es Ihnen nicht, die serviceverknüpfte Rolle AWSServiceRoleForRDS zu bearbeiten. Da möglicherweise verschiedene Entitäten auf die Rolle verweisen, kann der Rollenname nach dem Erstellen einer serviceverknüpften Rolle nicht mehr geändert werden. Sie können jedoch die Beschreibung der Rolle mit IAM bearbeiten. Weitere Informationen finden Sie unter Bearbeiten einer serviceverknüpften Rolle im IAM-Benutzerhandbuch.

Löschen einer serviceverknüpften Rolle für Amazon RDS

Wenn Sie eine Funktion oder einen Service, die bzw. der eine serviceverknüpfte Rolle erfordert, nicht mehr benötigen, sollten Sie diese Rolle löschen. Auf diese Weise haben Sie keine ungenutzte Entität, die nicht aktiv überwacht oder verwaltet wird. Sie müssen jedoch all Ihre DB-Instances löschen, bevor Sie die serviceverknüpfte Rolle löschen können.

Bereinigen einer serviceverknüpften Rolle

Bevor Sie mit IAM eine serviceverknüpfte Rolle löschen können, müssen Sie sich zunächst vergewissern, dass die Rolle über keine aktiven Sitzungen verfügt, und alle Ressourcen entfernen, die von der Rolle verwendet werden.

So überprüfen Sie in der IAM-Konsole, ob die serviceverknüpfte Rolle über eine aktive Sitzung verfügt

  1. Melden Sie sich bei der AWS Management Console an, und öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie im Navigationsbereich der IAM Console Roles aus. Wählen Sie dann den Namen (nicht das Kontrollkästchen) der Rolle AWSServiceRoleForRDS aus.

  3. Wählen Sie auf der Seite Summary (Zusammenfassung) für die ausgewählte Rolle die Registerkarte Access Advisor (Advisor aufrufen) aus.

  4. Überprüfen Sie auf der Registerkarte Access Advisor die jüngsten Aktivitäten für die serviceverknüpfte Rolle.

    Anmerkung

    Wenn Sie sich nicht sicher sind, ob Amazon RDS die Rolle AWSServiceRoleForRDS verwendet, können Sie versuchen, die Rolle zu löschen. Wenn der Service die Rolle verwendet, schlägt die Löschung fehl und Sie können die AWS-Regionen anzeigen, in denen die Rolle verwendet wird. Wenn die Rolle verwendet wird, müssen Sie warten, bis die Sitzung beendet wird, bevor Sie die Rolle löschen können. Die Sitzung für eine serviceverknüpfte Rolle können Sie nicht widerrufen.

Wenn Sie die Rolle AWSServiceRoleForRDS entfernen wollen, müssen Sie zunächst alle DB-Instances löschen.

Löschen aller Ihrer Instances

Verwenden Sie eine dieser Verfahren, um Ihrer kompletten Instance zu löschen.

So löschen Sie eine Instance (Konsole)

  1. Öffnen Sie die Amazon-RDS-Konsole unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Databases (Datenbanken) aus.

  3. Wählen Sie die Instance aus, die Sie löschen möchten.

  4. Klicken Sie bei Actions auf Delete.

  5. Wenn Sie die Aufforderung Create final Snapshot? (Finalen Snapshot erstellen), wählen Sie Yes (Ja) oder No (Nein) aus.

  6. Wenn Sie im vorherigen Schritt Yes (Ja) gewählt haben, geben Sie unter Final snapshot name (Endgültiger Snapshot-Name) den Namen Ihres endgültigen DB-Snapshots ein.

  7. Wählen Sie Delete (Löschen).

So löschen Sie eine Instance (CLI)

Siehe delete-db-instance in der AWS CLI-Befehlsreferenz.

So löschen Sie eine Instance (API)

Weitere Informationen finden Sie im Amazon RDS API Reference unter DeleteDBInstance.

Sie können die IAM-Konsole, die IAM-CLI oder die IAM-API verwenden, um die serviceverknüpfte Rolle AWSServiceRoleForRDS zu löschen. Weitere Informationen finden Sie unter Löschen einer serviceverknüpften Rolle im IAM-Benutzerhandbuch.

Serviceverknüpfte Rollenberechtigungen für Amazon RDS Custom

Amazon RDS Custom verwendet die serviceverknüpfte Rolle namens AWSServiceRoleForRDSCustom damit RDS Custom AWS-Services im Namen Ihrer DB-Instances aufrufen kann.

Die servicegebundene Rolle AWSServiceRoleForRDSCustom vertraut den folgenden Services, die diese Rolle übernehmen:

  • custom.rds.amazonaws.com

Dieser dienstgebundenen Rolle ist eine Berechtigungsrichtlinie namens AmazonRDSCustomServiceRolePolicy zugeordnet, die ihr Berechtigungen für den Betrieb in Ihrem Konto erteilt. Die Rollenberechtigungsrichtlinie erlaubt RDS Custom die Durchführung der folgenden Aktionen für die angegebenen Ressourcen:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ecc1", "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeInstanceAttribute", "ec2:DescribeRegions", "ec2:DescribeSnapshots", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVolumes", "ec2:DescribeInstanceStatus", "ec2:DescribeIamInstanceProfileAssociations", "ec2:DescribeImages", "ec2:DescribeVpcs", "ec2:RegisterImage", "ec2:DeregisterImage", "ec2:DescribeTags", "ec2:DescribeSecurityGroups", "ec2:DescribeVolumesModifications", "ec2:DescribeSubnets", "ec2:DescribeVpcAttribute" ], "Resource": [ "*" ] }, { "Sid": "ecc2", "Effect": "Allow", "Action": [ "ec2:DisassociateIamInstanceProfile", "ec2:AssociateIamInstanceProfile", "ec2:ReplaceIamInstanceProfileAssociation", "ec2:TerminateInstances", "ec2:StartInstances", "ec2:StopInstances", "ec2:RebootInstances" ], "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "aws:ResourceTag/AWSRDSCustom": [ "custom-oracle", "custom-sqlserver" ] } } }, { "Sid": "ecc1scoping", "Effect": "Allow", "Action": [ "ec2:AllocateAddress" ], "Resource": [ "*" ], "Condition": { "StringLike": { "aws:RequestTag/AWSRDSCustom": [ "custom-oracle", "custom-sqlserver" ] } } }, { "Sid": "ecc1scoping2", "Effect": "Allow", "Action": [ "ec2:AssociateAddress", "ec2:DisassociateAddress", "ec2:ReleaseAddress" ], "Resource": [ "*" ], "Condition": { "StringLike": { "aws:ResourceTag/AWSRDSCustom": [ "custom-oracle", "custom-sqlserver" ] } } }, { "Sid": "eccRunInstances1", "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:volume/*", "arn:aws:ec2:*:*:network-interface/*" ], "Condition": { "StringLike": { "aws:RequestTag/AWSRDSCustom": [ "custom-oracle", "custom-sqlserver" ] } } }, { "Sid": "eccRunInstances2", "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*::image/*", "arn:aws:ec2:*:*:key-pair/do-not-delete-rds-custom-*", "arn:aws:ec2:*:*:placement-group/*" ] }, { "Sid": "eccRunInstances3keyPair1", "Effect": "Allow", "Action": [ "ec2:RunInstances", "ec2:DeleteKeyPair" ], "Resource": [ "arn:aws:ec2:*:*:key-pair/do-not-delete-rds-custom-*" ], "Condition": { "StringLike": { "aws:ResourceTag/AWSRDSCustom": [ "custom-oracle", "custom-sqlserver" ] } } }, { "Sid": "eccKeyPair2", "Effect": "Allow", "Action": [ "ec2:CreateKeyPair" ], "Resource": [ "arn:aws:ec2:*:*:key-pair/do-not-delete-rds-custom-*" ], "Condition": { "StringLike": { "aws:RequestTag/AWSRDSCustom": [ "custom-oracle", "custom-sqlserver" ] } } }, { "Sid": "eccCreateTag1", "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "*" ], "Condition": { "StringLike": { "aws:ResourceTag/AWSRDSCustom": [ "custom-oracle", "custom-sqlserver" ] } } }, { "Sid": "eccCreateTag2", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "*", "Condition": { "StringLike": { "aws:RequestTag/AWSRDSCustom": [ "custom-oracle", "custom-sqlserver" ], "ec2:CreateAction": [ "CreateKeyPair", "RunInstances", "CreateVolume", "CreateSnapshots", "CopySnapshot", "AllocateAddress" ] } } }, { "Sid": "eccVolume1", "Effect": "Allow", "Action": [ "ec2:DetachVolume", "ec2:AttachVolume" ], "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:volume/*" ], "Condition": { "StringLike": { "aws:ResourceTag/AWSRDSCustom": [ "custom-oracle", "custom-sqlserver" ] } } }, { "Sid": "eccVolume2", "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "arn:aws:ec2:*:*:volume/*", "Condition": { "StringLike": { "aws:RequestTag/AWSRDSCustom": [ "custom-oracle", "custom-sqlserver" ] } } }, { "Sid": "eccVolume3", "Effect": "Allow", "Action": [ "ec2:ModifyVolumeAttribute", "ec2:DeleteVolume", "ec2:ModifyVolume" ], "Resource": "arn:aws:ec2:*:*:volume/*", "Condition": { "StringLike": { "aws:ResourceTag/AWSRDSCustom": [ "custom-oracle", "custom-sqlserver" ] } } }, { "Sid": "eccVolume4snapshot1", "Effect": "Allow", "Action": [ "ec2:CreateVolume", "ec2:DeleteSnapshot" ], "Resource": "arn:aws:ec2:*::snapshot/*", "Condition": { "StringLike": { "aws:ResourceTag/AWSRDSCustom": [ "custom-oracle", "custom-sqlserver" ] } } }, { "Sid": "eccSnapshot2", "Effect": "Allow", "Action": [ "ec2:CopySnapshot", "ec2:CreateSnapshots" ], "Resource": "arn:aws:ec2:*::snapshot/*", "Condition": { "StringLike": { "aws:RequestTag/AWSRDSCustom": [ "custom-oracle", "custom-sqlserver" ] } } }, { "Sid": "eccSnapshot3", "Effect": "Allow", "Action": "ec2:CreateSnapshots", "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:volume/*" ], "Condition": { "StringLike": { "aws:ResourceTag/AWSRDSCustom": [ "custom-oracle", "custom-sqlserver" ] } } }, { "Sid": "iam1", "Effect": "Allow", "Action": [ "iam:ListInstanceProfiles", "iam:GetInstanceProfile", "iam:GetRole", "iam:ListRolePolicies", "iam:GetRolePolicy", "iam:ListAttachedRolePolicies", "iam:GetPolicy", "iam:GetPolicyVersion" ], "Resource": "*" }, { "Sid": "iam2", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/AWSRDSCustom*", "Condition": { "StringLike": { "iam:PassedToService": "ec2.amazonaws.com" } } }, { "Sid": "cloudtrail1", "Effect": "Allow", "Action": [ "cloudtrail:GetTrailStatus" ], "Resource": "arn:aws:cloudtrail:*:*:trail/do-not-delete-rds-custom-*" }, { "Sid": "cw1", "Effect": "Allow", "Action": [ "cloudwatch:EnableAlarmActions", "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarms" ], "Resource": "arn:aws:cloudwatch:*:*:alarm:do-not-delete-rds-custom-*", "Condition": { "StringLike": { "aws:ResourceTag/AWSRDSCustom": [ "custom-oracle", "custom-sqlserver" ] } } }, { "Sid": "cw2", "Effect": "Allow", "Action": [ "cloudwatch:PutMetricAlarm", "cloudwatch:TagResource" ], "Resource": "arn:aws:cloudwatch:*:*:alarm:do-not-delete-rds-custom-*", "Condition": { "StringLike": { "aws:RequestTag/AWSRDSCustom": [ "custom-oracle", "custom-sqlserver" ] } } }, { "Sid": "ssm1", "Effect": "Allow", "Action": "ssm:SendCommand", "Resource": "arn:aws:ssm:*:*:document/*" }, { "Sid": "ssm2", "Effect": "Allow", "Action": "ssm:SendCommand", "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "aws:ResourceTag/AWSRDSCustom": [ "custom-oracle", "custom-sqlserver" ] } } }, { "Sid": "ssm3", "Effect": "Allow", "Action": [ "ssm:GetCommandInvocation", "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation" ], "Resource": "*" }, { "Sid": "eb1", "Effect": "Allow", "Action": [ "events:PutRule", "events:TagResource" ], "Resource": "arn:aws:events:*:*:rule/do-not-delete-rds-custom-*", "Condition": { "StringLike": { "aws:RequestTag/AWSRDSCustom": [ "custom-oracle", "custom-sqlserver" ] } } }, { "Sid": "eb2", "Effect": "Allow", "Action": [ "events:PutTargets", "events:DescribeRule", "events:EnableRule", "events:ListTargetsByRule", "events:DeleteRule", "events:RemoveTargets", "events:DisableRule" ], "Resource": "arn:aws:events:*:*:rule/do-not-delete-rds-custom-*", "Condition": { "StringLike": { "aws:ResourceTag/AWSRDSCustom": [ "custom-oracle", "custom-sqlserver" ] } } }, { "Sid": "secretmanager1", "Effect": "Allow", "Action": [ "secretsmanager:TagResource", "secretsmanager:CreateSecret" ], "Resource": "arn:aws:secretsmanager:*:*:secret:do-not-delete-rds-custom-*", "Condition": { "StringLike": { "aws:RequestTag/AWSRDSCustom": [ "custom-oracle", "custom-sqlserver" ] } } }, { "Sid": "secretmanager2", "Effect": "Allow", "Action": [ "secretsmanager:TagResource", "secretsmanager:DescribeSecret", "secretsmanager:DeleteSecret", "secretsmanager:PutSecretValue" ], "Resource": "arn:aws:secretsmanager:*:*:secret:do-not-delete-rds-custom-*", "Condition": { "StringLike": { "aws:ResourceTag/AWSRDSCustom": [ "custom-oracle", "custom-sqlserver" ] } } } ] }

Das Erstellen, Bearbeiten oder Löschen der serviceverknüpften Rolle für RDS Custom funktioniert genauso wie bei Amazon RDS. Weitere Informationen finden Sie unter Berechtigungen von serviceverknüpften Rollen für Amazon RDS.

Anmerkung

Sie müssen Berechtigungen konfigurieren, damit eine juristische Stelle von IAM (z. B. Benutzer, Gruppe oder Rolle) eine servicegebundene Rolle erstellen, bearbeiten oder löschen kann. Wenn Sie die folgende Fehlermeldung erhalten:

Unable to create the resource. Überprüfen Sie, ob Sie die Berechtigung haben, eine serviceverknüpfte Rolle zu erstellen. Andernfalls warten Sie und versuchen Sie es später noch einmal.

Stellen Sie sicher, dass Sie die folgenden Berechtigungen für Sie aktiviert sind:

{ "Action": "iam:CreateServiceLinkedRole", "Effect": "Allow", "Resource": "arn:aws:iam::*:role/aws-service-role/custom.rds.amazonaws.com/AmazonRDSCustomServiceRolePolicy", "Condition": { "StringLike": { "iam:AWSServiceName":"custom.rds.amazonaws.com" } } }

Weitere Informationen finden Sie unter Serviceverknüpfte Rollenberechtigung im IAM-Benutzerhandbuch.