Amazon S3 バケットに書き込む際の Kinesis Data Firehose の「アクセスが拒否されました」エラーの解決方法を教えてください。

最終更新日: 2020 年 4 月 21 日

Amazon Kinesis Data Firehose から、AWS Key Management Service (AWS KMS) で暗号化された Amazon Simple Storage Service (Amazon S3) バケットにデータを書き込もうとしています。しかし、「アクセスが拒否されました」というエラーメッセージが表示されます。どうすればこのエラーを解決できますか?

解決方法

重要: Kinesis Data Firehose の AWS Identity and Access Management (IAM) ロールに、関連する Amazon S3 アクセス許可があることを確認します。S3 アクセス許可の詳細については Amazon S3 の送信先へのアクセス権を Kinesis Data Firehose に付与するを参照してください。

Kinesis Data Firehose で「アクセスが拒否されました」のエラーメッセージを解決するには、以下の手順を実行します。

1.    AWS KMS コンソールを開きます。

2.    S3 バケットの暗号化に現在使用されている KMS キーを選択します。

3.    [ポリシービューへの切り替え] を選択します。

4.    必要なアクセス許可が KMS キーポリシー内にあることを確認します。適切なアクセスにより、S3 バケットに書き込まれるデータを暗号化できます。

注意: KMS キーポリシーの詳細については、AWS Key Management Service (SSE-KMS) に保存されている CMK でサーバー側の暗号化を使用してデータを保護するを参照してください。

5.    ポリシーを更新し、Kinesis Data Firehose に KMS キーへのアクセス許可を付与します。

{
            "Sid": "Allow use of the key",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::<account-ID>:role/<FirehoseRole>"
            },
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*",
                "kms:DescribeKey"
            ],
            "Resource": "*"
}

6.    [保存] を選択します。

ポリシーを変更することなく「アクセスが拒否されました」のエラーメッセージを解決することもできます。IAM ロールを更新してエラーメッセージを解決するには、次の手順を実行します。

1.    AWS KMS コンソールを開きます。

2.    S3 バケットの暗号化に現在使用されている KMS キーを選択します。

3.    [キーユーザー] セクションで、[追加] を選択します。

4.    Kinesis Data Firehose のロールを選択します。

5.    [追加] を選択します。


この記事はお役に立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合