1回答
- 新しい順
- 投票が多い順
- コメントが多い順
0
「rds:db-tag」はRDSインスタンスでのみ使用できる条件キーです。
https://docs.aws.amazon.com/ja_jp/service-authorization/latest/reference/list_amazonrds.html#amazonrds-rds_db-tag___TagKey_
DB インスタンスにアタッチされたタグでアクセスをフィルタリングします。
クラスターのタグで制御する場合は「rds:cluster-tag」で制御する必要があります。
また、「StopDBCluster」のリクエストには「rds:db-tag」が含まれないためIAMポリシーに記載されているEffectが評価されなくなります。(下記ブログ参照)
https://dev.classmethod.jp/articles/tsnote-rds-tag-iampolicy/
なので、IAMポリシーは以下のようにする必要があります。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"rds:DescribeDBInstances",
"rds:DescribeDBClusters",
"rds:DescribeGlobalClusters"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"rds:RebootDBInstance",
"rds:StartDBInstance",
"rds:StopDBInstance"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:PrincipalTag/Department": "DBAdmins",
"rds:db-tag/Environment": "Production"
}
}
},
{
"Effect": "Allow",
"Action": [
"rds:StopDBCluster"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:PrincipalTag/Department": "DBAdmins",
"rds:cluster-tag/Environment": "Production"
}
}
}
]
}
もしくは「aws:ResourceTag」を使用して制御することも可能です。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"rds:DescribeDBInstances",
"rds:DescribeDBClusters",
"rds:DescribeGlobalClusters"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"rds:RebootDBInstance",
"rds:StartDBInstance",
"rds:StopDBInstance",
"rds:StopDBCluster"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:PrincipalTag/Department": "DBAdmins",
"aws:ResourceTag/Environment": "Production"
}
}
}
]
}
関連するコンテンツ
- 質問済み 5ヶ月前
- AWS公式更新しました 2年前
- AWS公式更新しました 1年前
- AWS公式更新しました 1年前
ありがとうございます。インスタンスとクラスターでタグが違ったのですね。またサービス認証リファレンスもちゃんと読んだことがなかったので目を通すようにします。