Amazon web services 无法获取aws:PrincipalOrgID以创建订阅筛选器
我有一个启用了组织的AWS帐户。我想确保我的子帐户中的某些日志在日志帐户中进入我的Kinesis流。这个想法是,将来如果我在组织中创建一个新的子帐户,日志应该转到Kinesis 为此,我使用Amazon web services 无法获取aws:PrincipalOrgID以创建订阅筛选器,amazon-web-services,amazon-cloudwatch,amazon-cloudwatchlogs,Amazon Web Services,Amazon Cloudwatch,Amazon Cloudwatchlogs,我有一个启用了组织的AWS帐户。我想确保我的子帐户中的某些日志在日志帐户中进入我的Kinesis流。这个想法是,将来如果我在组织中创建一个新的子帐户,日志应该转到Kinesis 为此,我使用aws logs put destination命令在我的日志帐户中创建了一个Kinesis日志目标。我给它添加了一个目的地策略。我采用的政策是: { "Version": "2012-10-17", "Statement": { "Sid": "PutSubscription
aws logs put destination
命令在我的日志帐户中创建了一个Kinesis日志目标。我给它添加了一个目的地策略。我采用的政策是:
{
"Version": "2012-10-17",
"Statement": {
"Sid": "PutSubscriptionFilter",
"Effect": "Allow",
"Principal": {
"AWS": ["*"]
},
"Action": "logs:PutSubscriptionFilter",
"Resource": "arn:aws:logs:us-east-1:123456789012:destination:mytestLogDestination",
"Condition": {
"StringEquals": {
"aws:PrincipalOrgID": "o-abcde12345"
}
}
}
}
我用于添加目标策略的命令是:
aws logs put-destination-policy \
--destination-name mytestLogDestination \
--access-policy file://destination_policy.json
这已成功添加目标策略。我可以通过运行命令来确认这一点:aws日志描述目的地——目的地名称前缀mytestLogDestination
。当我尝试使用以下命令在我的一个成员帐户中创建新的订阅筛选器时,它会出错。我尝试的命令是:
aws logs put-subscription-filter \
--log-group-name "/aws/lambda/GetOrgIdFunction" \
--filter-name randomsubscriptionfilter --filter-pattern "" \
--destination-arn arn:aws:logs:us-east-1:123456789012:destination:mytestLogDestination
错误消息是:
调用PutSubscriptionFilter操作时出错(AccessDeniedException):帐户ID为210987654321的用户无权在资源上执行:logs:PutSubscriptionFilter:arn:aws:logs:us-east-1:123456789012:destination:mytestLogDestination
当我删除该条件并将委托人限制在我的帐户(210987654321)内时,它可以正常工作。是否可以使此设置正常工作,或者AWS目前不支持此设置?自2019年8月2日起 在与AWS支持人员交谈后,这是CloudWatch日志限制,因为他们还不支持PrincipalOrgID。在创建日志目标策略时,我们必须分别添加每个帐户
现在将此标记为一个答案。多么烦人,我浪费了这么多时间测试不同的方法来尝试运行它。很高兴我终于找到了你的答案!
我想他们没有向您提供任何关于支持日期的进一步信息?我假设在我尝试学习这些策略时,没有任何条件适用于这些策略,我遇到了相同的问题。我只能让它适用于
aws:SourceArn
条件,这相当令人沮丧
{
"Version": "2008-10-17",
"Id": "__default_policy_ID",
"Statement": [
{
"Sid": "__default_statement_ID",
"Effect": "Allow",
"Principal": {
"Service": "cloudwatch.amazonaws.com",
"AWS": "*"
},
"Action": [
"SNS:GetTopicAttributes",
"SNS:SetTopicAttributes",
"SNS:AddPermission",
"SNS:RemovePermission",
"SNS:DeleteTopic",
"SNS:Subscribe",
"SNS:ListSubscriptionsByTopic",
"SNS:Publish",
"SNS:Receive"
],
"Resource": "<topic arn>",
"Condition": {
"ArnLike": {
"aws:SourceArn": [
"arn:aws:cloudwatch:<region>:<account a>:alarm:*",
"arn:aws:cloudwatch:<region>:<account b>:alarm:*",
"arn:aws:cloudwatch:<region>:<account c>:alarm:*"
]
}
}
}
]
}
{
“版本”:“2008-10-17”,
“Id”:“默认策略Id”,
“声明”:[
{
“Sid”:“\u默认\u语句\u ID”,
“效果”:“允许”,
“委托人”:{
“服务”:“cloudwatch.amazonaws.com”,
“AWS”:“*”
},
“行动”:[
“SNS:GetTopicAttributes”,
“SNS:SettoPictAttributes”,
“SNS:AddPermission”,
“SNS:RemovePermission”,
“SNS:DeleteTopic”,
“SNS:订阅”,
“SNS:ListSubscriptionsByTopic”,
“SNS:发布”,
“SNS:接收”
],
“资源”:“,
“条件”:{
“阿恩利克”:{
“aws:SourceArn”:[
“arn:aws:cloudwatch:::报警:”,
“arn:aws:cloudwatch:::报警:”,
“arn:aws:cloudwatch:::警报:”
]
}
}
}
]
}
我可以在2020年4月确认情况仍然如此。一个目的地可以添加多少帐户?有吗limitation@TraychoIvanov你能找到这个问题的答案吗?2021年3月:CloudWatch警报也(仍然)有问题。