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

最終更新日: 2020 年 10 月 15 日

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) に保存されている KMS キーでサーバー側の暗号化を使用してデータを保護するを参照してください。

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": "<ARN of the KMS key>"
}

S3 バケットを暗号化した KMS キーの Amazon リソースネーム (ARN) を必ず指定してください。

6.    [Save] を選択します。

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

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

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

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

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

5.    [追加] をクリックします。 これで、Kinesis Data Firehose から、暗号化した S3 バケットにデータを書き込むための適切なアクセス許可が付与されました。


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


請求に関するサポートまたは技術サポートが必要ですか?