翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
このセクションでは、マルチ VPC プライベート接続機能を使用するクライアントとクラスターに必要なアクセス許可の概要を示します。マルチ VPC プライベート接続では、クライアント管理者が、MSK クラスターへのマネージド VPC 接続を持つ各クライアントに対するアクセス許可を作成する必要があります。また、MSK クラスター管理者が MSK クラスターで PrivateLink 接続を有効にし、クラスターへのアクセスを制御する認証スキームを選択する必要もあります。
クラスターの認証タイプとトピックのアクセス許可
MSK クラスターで有効になっている認証スキームのマルチ VPC プライベート接続機能を有効にします。「マルチ VPC プライベート接続の要件と制限」を参照してください。SASL/SCRAM 認証スキームを使用するように MSK クラスターを設定する場合、Apache Kafka ACL プロパティ allow.everyone.if.no.acl.found=false
は必須です。クラスターに Apache Kafka ACL を設定した後、クラスターの設定を更新して、クラスターのプロパティ allow.everyone.if.no.acl.found
を false に設定します。クラスターの設定を更新する方法については、「ブローカー設定オペレーション」を参照してください。
クロスアカウントクラスターポリシーのアクセス許可
Kafka クライアントが MSK クラスターとは異なる AWS アカウントにある場合は、クライアントルートユーザーにクロスアカウント接続を許可するクラスターベースのポリシーを MSK クラスターにアタッチします。MSK コンソールの IAM ポリシーエディタ (クラスターの [セキュリティ設定] > [クラスターポリシーの編集]) を使用してマルチ VPC クラスターポリシーを編集するか、以下の API を使用してクラスターポリシーを管理できます。
- PutClusterPolicy
-
クラスターポリシーをクラスターにアタッチします。この API を使用して、指定した MSK クラスターポリシーを作成または更新できます。ポリシーを更新する場合、リクエストペイロードには currentVersion フィールドが必要です。
- GetClusterPolicy
-
クラスターにアタッチされているクラスターポリシードキュメントの JSON テキストを取得します。
- DeleteClusterPolicy
-
クラスターポリシーを削除します。
MSK コンソールの IAM ポリシーエディタに表示されるポリシーと同様の、基本的なクラスターポリシーの JSON の例を以下に示します。次のポリシーは、クラスター、トピック、およびグループレベルのアクセス許可を付与します。
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {
"AWS": [
"123456789012"
]
},
"Action": [
"kafka-cluster:*",
"kafka:CreateVpcConnection",
"kafka:GetBootstrapBrokers",
"kafka:DescribeCluster",
"kafka:DescribeClusterV2"
],
"Resource": [
"arn:aws:kafka:us-east-1:123456789012:cluster/testing/de8982fa-8222-4e87-8b20-9bf3cdfa1521-2",
"arn:aws:kafka:us-east-1:123456789012:topic/testing/*",
"arn:aws:kafka:us-east-1:123456789012:group/testing/*"
]
}]
}
MSK クラスターへのマルチ VPC プライベート接続のクライアントアクセス許可
Kafka クライアントと MSK クラスターの間にマルチ VPC プライベート接続をセットアップするには、クライアントでの kafka:CreateVpcConnection
、ec2:CreateTags
、および ec2:CreateVPCEndpoint
のアクションのアクセス許可を付与する ID ポリシーがクライアントにアタッチされている必要があります。参考までに、基本的なクライアント ID ポリシーの JSON の例を以下に示します。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kafka:CreateVpcConnection",
"ec2:CreateTags",
"ec2:CreateVPCEndpoint"
],
"Resource": "*"
}
]
}