Closed5

CDK の 'current credentials could not be used to assume ...' メッセージを解決したい

snakasnaka

current credentials could not be used to assume ...

cdk diff を実行すると以下のメッセージが出ている。 IAM User の権限に cloudformation 系の権限が不足していると出ていたので追加したが、その後も出続けている。

current credentials could not be used to assume 'arn:aws:iam::xxxxxxxxxxxxx:role/cdk-xxxxxxxxx-lookup-role-xxxxxxxxxxxx-ap-northeast-1', but are for the right account. Proceeding anyway.
Lookup role exists but was not assumed. Proceeding with default credentials.
snakasnaka

原因

CDK v2 では CDK を利用するための Role を用意しているが、利用している IAM User にその Role を Assume するための権限が付与されていない。

対応

以下の role が作成されているが、この中で必要な role だけを assume できるように IAM User のポリシーを設定する。

cfn-exec-role
deploy-role
file-publishing-role
image-publishing-role
lookup-role

見たところ cfn-exec-role は Administrator Access になってて、この Role は間接的に deploy-role から Assume Role することを想定しているように見受けられる。

よって、cfn-exec-role 以外を Assume Role できるようにポリシーを追加する。

{
    "Effect": "Allow",
    "Action": [
        "sts:AssumeRole"
    ],
    "Resource": [
        "arn:aws:iam::xxxxxxxxxxxx:role/cdk-*-deploy-role-*",
        "arn:aws:iam::xxxxxxxxxxxx:role/cdk-*-file-publishing-role-*",
        "arn:aws:iam::xxxxxxxxxxxx:role/cdk-*-image-publishing-role-*",
        "arn:aws:iam::xxxxxxxxxxxx:role/cdk-*-lookup-role-*"
    ]
}
このスクラップは5ヶ月前にクローズされました