

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# IAM 認可ポリシーアクションとリソースのセマンティクス
<a name="kafka-actions"></a>

**注記**  
Apache Kafka バージョン 3.8 以降を実行しているクラスターの場合、IAM アクセスコントロールはトランザクションを終了するための WriteTxnMarkers API をサポートしています。3.8 より前のバージョンの Kafka を実行しているクラスターの場合、IAM アクセスコントロールは WriteTxnMarkers を含む内部クラスターアクションをサポートしていません。これらの以前のバージョンでは、トランザクションを終了するには、IAM 認証の代わりに適切な ACLs で SCRAM または mTLS 認証を使用します。

このセクションでは、IAM 認可ポリシーで使用できるアクション要素とリソース要素のセマンティクスについて説明します。ポリシーの例については「[IAM ロールの認可ポリシーを作成する](create-iam-access-control-policies.md)」を参照してください。

## 認可ポリシーアクション
<a name="actions"></a>

次の表に、Amazon MSK の IAM アクセス制御を使用するときに認可ポリシーに含めることができるアクションを示します。表の*アクション*列のアクションを認可ポリシーに含める場合は、*必須アクション*列の対応するアクションも含める必要があります。


| [アクション] | 説明 | 必須アクション | 必要なリソース | サーバーレスクラスターに適用可能 | 
| --- | --- | --- | --- | --- | 
| kafka-cluster:Connect | クラスターに接続して認証するためのアクセス許可を付与します。 | なし | クラスター | はい | 
| kafka-cluster:DescribeCluster | Apache Kafka の DESCRIBE CLUSTER ACL に相当する、クラスターのさまざまな側面を記述するためのアクセス許可を付与します。 | `kafka-cluster:Connect` | クラスター | はい | 
| kafka-cluster:AlterCluster | Apache Kafka の ALTER CLUSTER ACL と同等の、クラスターのさまざまな側面を変更するためのアクセス許可を付与します。 | `kafka-cluster:Connect`<br />`kafka-cluster:DescribeCluster` | クラスター | いいえ | 
| kafka-cluster:DescribeClusterDynamicConfiguration | Apache Kafka の DESCRIBE\_CONFIGSCLUSTER ACL に相当する、クラスターの動的設定を記述するためのアクセス許可を付与します。 | `kafka-cluster:Connect` | クラスター | いいえ | 
| kafka-cluster:AlterClusterDynamicConfiguration | Apache Kafka の ALTER\_CONFIGSCLUSTER ACL に相当する、クラスターの動的設定を変更するためのアクセス許可を付与します。 | `kafka-cluster:Connect`<br />`kafka-cluster:DescribeClusterDynamicConfiguration` | クラスター | いいえ | 
| kafka-cluster:WriteDataIdempotently | Apache Kafka の IDEMPOTENT\_WRITECLUSTER ACL に相当する、クラスターにデータをべき等に書き込むためのアクセス許可を付与します。 | `kafka-cluster:Connect`<br />`kafka-cluster:WriteData` | クラスター | はい | 
| kafka-cluster:CreateTopic | Apache Kafka の CREATECLUSTER/TOPIC ACL に相当する、クラスター上にトピックを作成するためのアクセス許可を付与します。 | `kafka-cluster:Connect` | トピック | はい | 
| kafka-cluster:DescribeTopic | Apache Kafka の DESCRIBETOPIC ACL に相当する、クラスター上のトピックを記述するためのアクセス許可を付与します。 | `kafka-cluster:Connect` | トピック | はい | 
| kafka-cluster:AlterTopic | Apache Kafka の ALTER TOPIC ACL に相当する、クラスター上のトピックを変更するためのアクセス許可を付与します。 | `kafka-cluster:Connect`<br />`kafka-cluster:DescribeTopic` | トピック | はい | 
| kafka-cluster:DeleteTopic | Apache Kafka の DELETE TOPIC ACL に相当する、クラスター上のトピックを削除するためのアクセス許可を付与します。 | `kafka-cluster:Connect`<br />`kafka-cluster:DescribeTopic` | トピック | はい | 
| kafka-cluster:DescribeTopicDynamicConfiguration | Apache Kafka の DESCRIBE\_CONFIGSTOPIC ACL に相当する、クラスター上のトピックの動的設定を記述するためのアクセス許可を付与します。 | `kafka-cluster:Connect` | トピック | はい | 
| kafka-cluster:AlterTopicDynamicConfiguration | Apache Kafka の ALTER\_CONFIGSTOPIC ACL に相当する、クラスター上のトピックの動的設定を変更する許可を付与します。 | `kafka-cluster:Connect`<br />`kafka-cluster:DescribeTopicDynamicConfiguration` | トピック | はい | 
| kafka-cluster:ReadData | Apache Kafka の READ TOPIC ACL に相当する、クラスター上のトピックからデータを読み取りためのアクセス許可を付与します。 | `kafka-cluster:Connect`<br />`kafka-cluster:DescribeTopic`<br />`kafka-cluster:AlterGroup` | トピック | はい | 
| kafka-cluster:WriteData | Apache Kafka の WRITE TOPIC ACL に相当する、クラスター上のトピックにデータを書き込みためのアクセス許可を付与します | `kafka-cluster:Connect`<br />`kafka-cluster:DescribeTopic` | トピック | はい | 
| kafka-cluster:DescribeGroup | Apache Kafka の DESCRIBE GROUP ACL に相当する、クラスター上のグループを記述するためのアクセス許可を付与します。 | `kafka-cluster:Connect` | グループ | はい | 
| kafka-cluster:AlterGroup | Apache Kafka の READ GROUP ACL に相当する、クラスター上のグループに参加するためのアクセス許可を付与します。 | `kafka-cluster:Connect`<br />`kafka-cluster:DescribeGroup` | グループ | はい | 
| kafka-cluster:DeleteGroup | Apache Kafka の DELETE GROUP ACL に相当する、クラスター上のグループを削除するためのアクセス許可を付与します。 | `kafka-cluster:Connect`<br />`kafka-cluster:DescribeGroup` | グループ | はい | 
| kafka-cluster:DescribeTransactionalId | Apache Kafka の DESCRIBE TRANSACTIONAL\_ID ACL に相当する、クラスター上のトランザクション ID を記述するためのアクセス許可を付与します。 | `kafka-cluster:Connect` | transactional-id | はい | 
| kafka-cluster:AlterTransactionalId | Apache Kafka の WRITE TRANSACTIONAL\_ID ACL に相当する、クラスター上のトランザクション ID を変更するためのアクセス許可を付与します。 | `kafka-cluster:Connect`<br />`kafka-cluster:DescribeTransactionalId`<br />`kafka-cluster:WriteData` | transactional-id | はい | 

コロンの後のアクションでは、アスタリスク (\*) ワイルドカードを何度でも使用できます。以下は例です。
+ `kafka-cluster:*Topic` は、`kafka-cluster:CreateTopic`、`kafka-cluster:DescribeTopic`、`kafka-cluster:AlterTopic`、および `kafka-cluster:DeleteTopic` の略です。`kafka-cluster:DescribeTopicDynamicConfiguration` や `kafka-cluster:AlterTopicDynamicConfiguration` は含まれていません。
+ `kafka-cluster:*` はすべての権限を表します。

## 認可ポリシーリソース
<a name="msk-iam-resources"></a>

次の表は、Amazon MSK の IAM アクセスコントロールを使用するときに認可ポリシーで使用できる 4 種類のリソースを示しています。クラスターの Amazon リソースネーム (ARN) は、 から、 AWS マネジメントコンソール または [DescribeCluster](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn.html#DescribeCluster) API または [describe-cluster](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kafka/describe-cluster.html) AWS CLI コマンドを使用して取得できます。次に、クラスター ARN を使用して、トピック、グループ、およびトランザクション ID の ARN を作成できます。認可ポリシーでリソースを指定するには、そのリソースのARNを使用します。


| [リソース]  | ARN 形式 | 
| --- | --- | 
| クラスター | arn:aws:kafka:{{region}}:{{account-id}}:cluster/{{cluster-name}}/{{cluster-uuid}} | 
| Topic | arn:aws: kafka:{{region}}:{{account-id}}:topic/{{cluster-name}}/{{cluster-uuid}}/{{topic-name}} | 
| Group | arn:aws:kafka:{{region}}:{{account-id}}:topic/{{cluster-name}}/{{cluster-uuid}}/{{group-name}} | 
| トランザクション ID | arn:aws:kafka:{{region}}:{{account-id}}:transactional-id/{{cluster-name}}/{{cluster-uuid}}/{{transactional-id}} | 

アスタリスク (\*) ワイルドカードは、`:cluster/`、`:topic/`、`:group/`、および `:transactional-id/` の後に続く ARN の部分のどこでも何度でも使用できます。以下は、アスタリスク (\*) ワイルドカードを使用して複数のリソースを参照する方法の例です。
+ `arn:aws:kafka:us-east-1:0123456789012:topic/MyTestCluster/*`: クラスターの UUID に関係なく、MyTestCluster という名前のクラスター内のすべてのトピック。
+ `arn:aws:kafka:us-east-1:0123456789012:topic/MyTestCluster/abcd1234-0123-abcd-5678-1234abcd-1/*_test`: 名前が MyTestCluster で、UUID が abcd1234-0123-abcd-5678-1234abcd-1 であるクラスター内で、名前が「\_test」で終わるすべてのトピック。
+ `arn:aws:kafka:us-east-1:0123456789012:transactional-id/MyTestCluster/*/5555abcd-1111-abcd-1234-abcd1234-1`: アカウント内の MyTestCluster という名前のクラスターのすべてのインカネーションにわたる、トランザクション ID が 5555abcd-1111-abcd-1234-abcd1234-1 であるすべてのトランザクション。つまり、MyTestCluster という名前のクラスターを作成し、それを削除してから、同じ名前で別のクラスターを作成すると、このリソース ARN を使用して、両方のクラスターで同じトランザクション ID を表すことができます。ただし、削除されたクラスターにはアクセスできません。