Amazon MSK クラスターの SASL/SCRAM 認証を設定する - Amazon Managed Streaming for Apache Kafka

Amazon MSK クラスターの SASL/SCRAM 認証を設定する

AWS Secrets Manager でシークレットを設定するには、「AWS Secrets Manager ユーザーガイド」のシークレットの作成と取得のチュートリアルに従ってください。

Amazon MSK クラスターのシークレットを作成するときは、次の要件に注意してください。

  • シークレットタイプには、他のタイプのシークレット (API キーなど) を選択します。

  • シークレット名は、プレフィックス AmazonMSK_ から始まる必要があります。

  • 既存のカスタム AWS KMS キーを使用するか、シークレット用に新しいカスタム AWS KMS キーを作成する必要があります。Secrets Manager は、デフォルトでシークレットにデフォルトの AWS KMS キーを使用します。

    重要

    デフォルトの AWS KMS キーで作成されたシークレットは、Amazon MSK クラスターでは使用できません。

  • [プレーンテキスト] オプションを使用してキーと値のペアを入力するには、サインイン認証情報データは次の形式である必要があります。

    { "username": "alice", "password": "alice-secret" }
  • シークレットの ARN (Amazon リソース名) 値をレコードします。

  • 重要

    クラスターの適切なサイズ設定: 標準ブローカーあたりのパーティション数」で説明されている制限を超えるクラスターに Secrets Manager シークレットを関連付けることはできません。

  • AWS CLI を使用してシークレットを作成する場合は、kms-key-id パラメータにキー ID または ARN を指定します。エイリアスは指定しないでください。

  • シークレットをクラスターに関連付けるには、Amazon MSK コンソールまたは BatchAssociateScramSecret オペレーションのいずれかを使用します。

    重要

    シークレットをクラスターに関連付けると、Amazon MSK はそのシークレットにリソースポリシーをアタッチします。これにより、定義したシークレット値にクラスターがアクセスして読み取ることができるようになります。このリソースポリシーは変更しないでください。変更すると、クラスターがシークレットにアクセスできなくなる可能性があります。シークレットリソースポリシーおよび/またはシークレット暗号化に使用される KMS キーに変更を加えた場合は、必ずシークレットを MSK クラスターに再関連付けしてください。これにより、クラスターがシークレットに引き続きアクセスできるようになります。

    次の BatchAssociateScramSecret オペレーションの JSON 入力の例は、シークレットをクラスターに関連付けます。

    { "clusterArn" : "arn:aws:kafka:us-west-2:0123456789019:cluster/SalesCluster/abcd1234-abcd-cafe-abab-9876543210ab-4", "secretArnList": [ "arn:aws:secretsmanager:us-west-2:0123456789019:secret:AmazonMSK_MyClusterSecret" ] }