EC2 数据生命周期管理器的 IAM 权限不起作用
IAM permission for EC2 Data Lifecycle Manager is not working
我在我的 AWS 账户中创建了一个 IAM 用户。 IAM 用户需要访问 Amazon 数据生命周期管理器的权限。我已将以下权限授予 IAM 用户
- AmazonEC2FullAccess,
- AWSDataLifecycleManagerServiceRole
- 和AWSDataLifecycleManagerServiceRoleForAMIManagement。
但是当我尝试使用此 IAM 用户帐户访问 Amazon Data Lifecycle Manager 时,我在生命周期管理器页面上看到以下语句
It is taking a bit longer than usual to fetch your data.
(页面持续加载时间较长)
当我尝试使用相同的 IAM 用户访问同一页面但这次使用管理员访问权限时,此消息没有出现。
有人可以告诉我这里出了什么问题吗,因为我想授予我的 IAM 用户有限的权限来管理我的 AWS 资源。
您提到的策略不包括访问 Data Lifecycle Manager 的权限。
这是 EC2 中未包含的另一项服务(这就是 AmazonEC2FullAccess 不授予您权限的原因)。此外,AWSDataLifecycleManagerServiceRole 和 AWSDataLifecycleManagerServiceRoleForAMIManagement 是托管策略,允许 AWS Data Lifecycle Manager 本身对 AWS 资源采取行动。因此,这些策略不应应用于 IAM 用户。
您需要创建具有适当权限的自定义 IAM 策略。如果是只读,你可以使用这个:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DataLifecycleManagerRead",
"Effect": "Allow",
"Action": [
"dlm:Get*",
"dlm:List*"
],
"Resource": "*"
}
]
}
更新
要通过 Web 控制台创建策略,需要一些额外的权限,因为 Web 会显示更多信息以在创建过程中提供帮助。因此,为了有足够的权限通过网络创建策略,请使用这个(其中一些在 documentation 上被引用但似乎不完整):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"dlm:*",
"iam:GetRole",
"ec2:DescribeTags",
"iam:ListRoles",
"iam:PassRole",
"iam:CreateRole",
"iam:AttachRolePolicy"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateSnapshot",
"ec2:CreateSnapshots",
"ec2:DeleteSnapshot",
"ec2:DescribeInstances",
"ec2:DescribeVolumes",
"ec2:DescribeSnapshots",
"ec2:EnableFastSnapshotRestores",
"ec2:DescribeFastSnapshotRestores",
"ec2:DisableFastSnapshotRestores",
"ec2:CopySnapshot",
"ec2:ModifySnapshotAttribute",
"ec2:DescribeSnapshotAttribute"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateTags"
],
"Resource": "arn:aws:ec2:*::snapshot/*"
},
{
"Effect": "Allow",
"Action": [
"events:PutRule",
"events:DeleteRule",
"events:DescribeRule",
"events:EnableRule",
"events:DisableRule",
"events:ListTargetsByRule",
"events:PutTargets",
"events:RemoveTargets"
],
"Resource": "arn:aws:events:*:*:rule/AwsDataLifecycleRule.managed-cwe.*"
}
]
}
我在我的 AWS 账户中创建了一个 IAM 用户。 IAM 用户需要访问 Amazon 数据生命周期管理器的权限。我已将以下权限授予 IAM 用户
- AmazonEC2FullAccess,
- AWSDataLifecycleManagerServiceRole
- 和AWSDataLifecycleManagerServiceRoleForAMIManagement。
但是当我尝试使用此 IAM 用户帐户访问 Amazon Data Lifecycle Manager 时,我在生命周期管理器页面上看到以下语句
It is taking a bit longer than usual to fetch your data.
(页面持续加载时间较长)
当我尝试使用相同的 IAM 用户访问同一页面但这次使用管理员访问权限时,此消息没有出现。
有人可以告诉我这里出了什么问题吗,因为我想授予我的 IAM 用户有限的权限来管理我的 AWS 资源。
您提到的策略不包括访问 Data Lifecycle Manager 的权限。
这是 EC2 中未包含的另一项服务(这就是 AmazonEC2FullAccess 不授予您权限的原因)。此外,AWSDataLifecycleManagerServiceRole 和 AWSDataLifecycleManagerServiceRoleForAMIManagement 是托管策略,允许 AWS Data Lifecycle Manager 本身对 AWS 资源采取行动。因此,这些策略不应应用于 IAM 用户。
您需要创建具有适当权限的自定义 IAM 策略。如果是只读,你可以使用这个:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DataLifecycleManagerRead",
"Effect": "Allow",
"Action": [
"dlm:Get*",
"dlm:List*"
],
"Resource": "*"
}
]
}
更新
要通过 Web 控制台创建策略,需要一些额外的权限,因为 Web 会显示更多信息以在创建过程中提供帮助。因此,为了有足够的权限通过网络创建策略,请使用这个(其中一些在 documentation 上被引用但似乎不完整):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"dlm:*",
"iam:GetRole",
"ec2:DescribeTags",
"iam:ListRoles",
"iam:PassRole",
"iam:CreateRole",
"iam:AttachRolePolicy"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateSnapshot",
"ec2:CreateSnapshots",
"ec2:DeleteSnapshot",
"ec2:DescribeInstances",
"ec2:DescribeVolumes",
"ec2:DescribeSnapshots",
"ec2:EnableFastSnapshotRestores",
"ec2:DescribeFastSnapshotRestores",
"ec2:DisableFastSnapshotRestores",
"ec2:CopySnapshot",
"ec2:ModifySnapshotAttribute",
"ec2:DescribeSnapshotAttribute"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateTags"
],
"Resource": "arn:aws:ec2:*::snapshot/*"
},
{
"Effect": "Allow",
"Action": [
"events:PutRule",
"events:DeleteRule",
"events:DescribeRule",
"events:EnableRule",
"events:DisableRule",
"events:ListTargetsByRule",
"events:PutTargets",
"events:RemoveTargets"
],
"Resource": "arn:aws:events:*:*:rule/AwsDataLifecycleRule.managed-cwe.*"
}
]
}