サービスリンクロール削除時のエラーメッセージを確認したい
困っていた内容
サービスリンクロール削除失敗時のエラーメッセージを CloudTrail で確認したいのですが、DeleteServiceLinkedRole イベントにはエラーコードやエラーメッセージが表示されていません。
確認する方法はありますか?
※ サービスリンクロールとサービスロールの差異や見分け方については、以下の記事をご確認ください。
どう対応すればいいの?
DeleteServiceLinkedRole イベントレコードの responseElements
に記録されている deletionTaskId に対し、get-service-linked-role-deletion-status
コマンドを実行することで確認できます。
以下は、サービスロール AWSServiceRoleForAmazonSSM を削除した際の DeleteServiceLinkedRole イベントの例です。
ハイライト部分が responseElements
となってます。
{
"eventVersion": "1.10",
"userIdentity": {
.....
},
"eventTime": "2024-09-24T00:08:07Z",
"eventSource": "iam.amazonaws.com",
"eventName": "DeleteServiceLinkedRole",
"awsRegion": "us-east-1",
"sourceIPAddress": "1.1.1.1",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36",
"requestParameters": {
"roleName": "AWSServiceRoleForAmazonSSM"
},
> "responseElements": {
> "deletionTaskId": "task/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX"
> },
"requestID": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"eventID": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"readOnly": false,
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "XXXXXXXXXXXX",
"eventCategory": "Management",
"tlsDetails": {
"tlsVersion": "TLSv1.3",
"cipherSuite": "TLS_AES_128_GCM_SHA256",
"clientProvidedHostHeader": "iam.amazonaws.com"
},
"sessionCredentialFromConsole": "true"
}
},
このタスクの詳細を確認するためには、以下のように get-service-linked-role-deletion-status
コマンドを実行します。
$aws iam get-service-linked-role-deletion-status --deletion-task-id task/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX --region us-east-1
{
"Status": "FAILED",
"Reason": {
"Reason": "Role is currently in use.",
"RoleUsageList": [
{
"Region": "us-west-2",
"Resources": [
"At least one association found in account XXXXXXXXXXXX"
]
}
]
}
}
このケースでは、対象のロールが us-west-2 リージョンで使用されているために削除に失敗したことがわかります。