我使用了以下内联json策略,以允许不同的IAM用户调用SetDesiredCapacity:
from couchbase.cluster import Cluster, ClusterOptions
from couchbase_core.cluster import PasswordAuthenticator
from couchbase.cluster import QueryOptions
import pandas as pd
cluster = Cluster("couchbase_url", ClusterOptions(PasswordAuthenticator("couchbase_username", "couchbase_password")))
cb = cluster.bucket("couchbase_bucket")
cb.n1ql_timeout = 5600
cb.timeout = 5600
cluster.n1ql_timeout = 5600
cluster.timeout = 5600
result = cluster.query(f"""
select * from couchbase_bucket
""")
#result.timeout = 5600
data_list = []
for row in result:
data_list.append(row)
df = pd.DataFrame(data_list)
df.head()
每个用户都有一个分配给他们的自动缩放计算机组,其名称类似于$ {companyname}-$ {username}-$ {machinetype}。填写正确的用户名,用户名和区域后,上述内联json策略似乎可以正常工作,用户可以调用SetDesiredCapacity。
我想允许用户也在此自动伸缩组中的某些实例上设置实例保护状态。为此,我尝试创建此规则:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "autoscaling:SetDesiredCapacity",
"Resource": [
"arn:aws:autoscaling:${region}:${userid}:autoScalingGroup:*:autoScalingGroupName/*-${username}-*"
]
}
]
}
但是,在将此内联json策略添加到IAM用户的权限后,他仍然收到“更改此实例的终止保护设置时发生错误”。我需要更改此内联json策略,以便用户修改自动伸缩组实例上的实例保护状态吗?