ID プールに Amazon Cognito Streams を設定しましたが、データが Amazon Kinesis ストリームに送信されません。Amazon Cognito Streams から Amazon Kinesis ストリームにデータを送信できるように、AWS Identity and Access Management (IAM) ロールを設定する方法を教えてください。

この問題を解決するには、以下の点を確認します。

  • Amazon Cognito ストリームが正しく設定されており、そのストリームのステータス有効に設定されていること。
  • Amazon Kinesis ストリームとの信頼関係を持つ IAM ロールが Amazon Cognito に関連付けられていること。
  • Amazon Cognito に関連付けられている IAM ロールに、Amazon Kinesis ストリームにデータを発行するアクセス許可が付与されていること。

1.    ストリームが正しく設定されていること、ストリームのステータス有効に設定されていることを確認します。

2.    選択した Amazon Kinesis ストリームとの信頼関係を持つ IAM ロールが Amazon Cognito に関連付けられていることを確認します。使用するアクセス許可および構文を以下の例に示します。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Principal": {
                "Service": "cognito-sync.amazonaws.com"
        },
            "Action": "sts:AssumeRole"
        }
    ]
}

3.    Amazon Cognito ID プールに関連付けられている IAM ロールに、データを発行するために必要な IAM アクセス許可が付与されていることを確認します。Kinesis との通信を許可する IAM ロールのアクセス許可および構文の例を以下に示します。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kinesis:PutRecord"
            ],
            "Resource": [
                "arn:aws:kinesis:<REGION>:<ACCOUNTID>:stream/{my kinesis stream}"
            ]
        }
    ]
}

4.    (オプション) 同期オペレーションの開始時にストリームデータが送信されていることをモニタリングするには、CloudWatch を使用して、IncomingRecords メトリクスまたは PutRecord.Success メトリクスをモニタリングします

Kinesis と通信する IAM ポリシーおよびロールの作成とサンプルポリシーについては、「IAM を使用して Amazon Kinesis Streams リソースへのアクセスを制御する」を参照してください。


このページは役に立ちましたか? はい | いいえ

AWS サポート ナレッジ センターに戻る

サポートが必要ですか? AWS サポートセンターをご覧ください。

公開日: 2016 年 11 月 23 日

更新: 2018 年 08 月 29 日