このトピックでは、ApsaraMQ for Kafka のサービスリンクロールの背景情報、ポリシー、および追加の考慮事項について説明します。また、これらのロールについてよくある質問への回答も提供します。
背景情報
Alibaba Cloud サービスは、機能を実装するために他の Alibaba Cloud サービスにアクセスする必要がある場合があります。この場合、Alibaba Cloud サービスは、対応するサービスリンクロールを引き受けて、他の Alibaba Cloud サービスにアクセスするために必要な権限を取得する必要があります。サービスリンクロールは、Resource Access Management (RAM) ロールです。Alibaba Cloud サービスのコンソールで初めて機能を使用すると、システムは自動的にサービスリンクロールを作成し、サービスリンクロールが作成されたことを通知します。詳細については、「サービスリンクロール」をご参照ください。
ApsaraMQ for Kafka は、次のサービスリンクロールを引き受けることができます。
- AliyunServiceRoleForAlikafka: ApsaraMQ for Kafka は、このロールを引き受けて他の Alibaba Cloud サービスにアクセスします。ApsaraMQ for Kafka コンソールで ApsaraMQ for Kafka を初めてアクティブ化すると、システムは自動的に AliyunServiceRoleForAlikafka ロールを作成し、ロールが作成されたことを通知します。
AliyunServiceRoleForAlikafkaConnector: ApsaraMQ for Kafka は、このロールを引き受けて、コネクタが接続できるサービスへのアクセス権限を取得します。このようにして、Message Queue for Apache Kafka はコネクタ機能を実装します。ApsaraMQ for Kafka コンソールで初めてコネクタを作成すると、システムは自動的に AliyunServiceRoleForAlikafkaConnector ロールを作成し、ロールが作成されたことを通知します。詳細については、「Function Compute シンクコネクタを作成する」をご参照ください。
- AliyunServiceRoleForAlikafkaInstanceEncryption: ApsaraMQ for Kafka は、このロールを引き受けて Key Management Service (KMS) にアクセスし、KMS が提供する暗号化機能を使用する権限を取得します。このようにして、Message Queue for Apache Kafka インスタンスは暗号化機能を使用できます。インスタンス暗号化機能は、API オペレーションを呼び出すことによってのみ使用できます。この機能は、将来のバージョンでコンソールで提供される予定です。StartInstanceApsaraMQ for Kafka で提供されている オペレーションを呼び出して、ディスクの暗号化が有効になっているインスタンスを初めてデプロイすると、システムはアカウントに AliyunServiceRoleForAlikafkaInstanceEncryption ロールを自動的に作成します。
- AliyunServiceRoleForAlikafkaETL: ApsaraMQ for Kafka は、このロールを引き受けて、データ分析を実行するための抽出、変換、ロード (ETL) タスクを作成します。ApsaraMQ for Kafka コンソールで ETL 機能を初めて有効にすると、システムは自動的に AliyunServiceRoleForAlikafkaETL ロールを作成し、ロールが作成されたことを通知します。詳細については、「ETL タスクの管理」をご参照ください。
ポリシー
- AliyunServiceRoleForAlikafka ロールには、次のポリシーがアタッチされています。
{ "Version": "1", "Statement": [ { "Action": [ "ecs:CreateNetworkInterface", "ecs:DeleteNetworkInterface", "ecs:DescribeNetworkInterfaces", "ecs:CreateNetworkInterfacePermission", "ecs:DescribeNetworkInterfacePermissions", "ecs:DeleteNetworkInterfacePermission", "ecs:CreateSecurityGroup", "ecs:AuthorizeSecurityGroup", "ecs:DescribeSecurityGroupAttribute", "ecs:RevokeSecurityGroup", "ecs:DeleteSecurityGroup", "ecs:DescribeSecurityGroups" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "vpc:DescribeVSwitches", "vpc:DescribeVpcs" ], "Resource": "*", "Effect": "Allow" }, { "Effect": "Allow", "Action": "ram:DeleteServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "ram:ServiceName": "alikafka.aliyuncs.com" } } } ] }
- AliyunServiceRoleForAlikafkaConnector ロールには、次のポリシーがアタッチされています。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "fc:InvokeFunction", "fc:GetFunction", "fc:ListServices", "fc:ListFunctions", "fc:ListServiceVersions", "fc:ListAliases", "fc:CreateService", "fc:DeleteService", "fc:CreateFunction", "fc:DeleteFunction", "fc:CreateLayerVersion", "fc:ListLayers" ], "Resource": "*" }, { "Action": [ "rds:DescribeDatabases" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "oss:ListBuckets", "oss:GetBucketAcl" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "elasticsearch:DescribeInstance", "elasticsearch:ListInstance" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "dataworks:CreateRealTimeProcess", "dataworks:QueryRealTimeProcessStatus" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "eventbridge:CreateEventStreaming", "eventbridge:UpdateEventStreaming", "eventbridge:GetEventStreaming", "eventbridge:DeleteEventStreaming", "eventbridge:ListEventStreamings", "eventbridge:StartEventStreaming", "eventbridge:PauseEventStreaming", "eventbridge:ListEventStreamingMetrics" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "ots:GetInstance", "ots:ListInstance", "ots:ListTable", "ots:CreateTable", "ots:UpdateTable", "ots:DescribeTable", "ots:GetRow", "ots:PutRow", "ots:UpdateRow", "ots:DeleteRow", "ots:GetRange", "ots:BatchGetRow", "ots:BatchWriteRow", "ots:BulkImport", "ots:Search", "ots:OpenOtsService", "ots:GetOtsServiceStatus", "ots:InsertInstance", "ots:DeleteTable", "ots:CreateSearchIndex", "ots:DeleteSearchIndex", "ots:UpdateSearchIndex" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "gpdb:DescribeDBInstances", "gpdb:DescribeDBInstanceAttribute" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "adb:DescribeDBClusters", "adb:DescribeSchemas", "adb:DescribeTables" ], "Resource": "*", "Effect": "Allow" }, { "Effect": "Allow", "Action": "ram:DeleteServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "ram:ServiceName": "connector.alikafka.aliyuncs.com" } } } ] }
- AliyunServiceRoleForAlikafkaInstanceEncryption ロールには、次のポリシーがアタッチされています。
{ "Version":"1", "Statement":[ { "Action":[ "kms:Listkeys", "kms:Listaliases", "kms:ListResourceTags", "kms:DescribeKey", "kms:TagResource", "kms:UntagResource" ], "Resource":"*", "Effect":"Allow" }, { "Action":[ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey" ], "Resource":"*", "Effect":"Allow", "Condition":{ "StringEqualsIgnoreCase":{ "kms:tag/acs:alikafka:instance-encryption":"true" } } }, { "Action":"ram:DeleteServiceLinkedRole", "Resource":"*", "Effect":"Allow", "Condition":{ "StringEquals":{ "ram:ServiceName":"instanceencryption.alikafka.aliyuncs.com" } } } ] }
- AliyunServiceRoleForAlikafkaETL ロールには、次のポリシーがアタッチされています。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "fc:InvokeFunction", "fc:GetFunction", "fc:ListServices", "fc:ListFunctions", "fc:ListServiceVersions", "fc:ListAliases", "fc:CreateService", "fc:DeleteService", "fc:CreateFunction", "fc:DeleteFunction" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ram:DeleteServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "ram:ServiceName": "etl.alikafka.aliyuncs.com" } } }, { "Effect": "Allow", "Action": "ram:PassRole", "Resource": "acs:ram:*:*:role/aliyunfcdefaultrole", "Condition": { "StringEquals": { "acs:Service": "fc.aliyuncs.com" } } } ] }
追加の考慮事項
システムによって自動的に作成されたサービスリンクロールを削除すると、権限が不足しているため、依存する機能を使用できなくなります。サービスリンクロールを削除する際は注意してください。サービスリンクロールを再度作成し、サービスリンクロールに権限を付与する方法の詳細については、「信頼できる Alibaba Cloud サービスの RAM ロールの作成」および「RAM ロールへの権限の付与」をご参照ください。
FAQ
- ApsaraMQ for Kafka にリンクされている AliyunServiceRoleForAlikafka ロールが RAM ユーザーに対して自動的に作成されない場合はどうすればよいですか?
サービスリンクロールが Alibaba Cloud アカウントに作成されている場合、RAM ユーザーは Alibaba Cloud アカウントからサービスリンクロールを継承します。RAM ユーザーがサービスリンクロールを継承できない場合は、RAM コンソール にログインし、次のカスタムポリシーを作成して、RAM ユーザーにアタッチします。
{ "Statement": [ { "Action": [ "ram:CreateServiceLinkedRole" ], "Resource": "*", "Effect": "Allow", "Condition": { "StringEquals": { "ram:ServiceName": "alikafka.aliyuncs.com" } } } ], "Version": "1" }
- ApsaraMQ for Kafka にリンクされている AliyunServiceRoleForAlikafkaConnector ロールが RAM ユーザーに対して自動的に作成されない場合はどうすればよいですか?
サービスリンクロールが Alibaba Cloud アカウントに作成されている場合、RAM ユーザーは Alibaba Cloud アカウントからサービスリンクロールを継承します。RAM ユーザーがサービスリンクロールを継承できない場合は、RAM コンソール にログインし、次のカスタムポリシーを作成して、RAM ユーザーにアタッチします。
{ "Statement": [ { "Action": [ "ram:CreateServiceLinkedRole" ], "Resource": "*", "Effect": "Allow", "Condition": { "StringEquals": { "ram:ServiceName": "connector.alikafka.aliyuncs.com" } } } ], "Version": "1" }
- ApsaraMQ for Kafka にリンクされている AliyunServiceRoleForAlikafkaInstanceEncryption ロールが RAM ユーザーに対して自動的に作成されない場合はどうすればよいですか?
サービスリンクロールが Alibaba Cloud アカウントに作成されている場合、RAM ユーザーは Alibaba Cloud アカウントからサービスリンクロールを継承します。RAM ユーザーがサービスリンクロールを継承できない場合は、RAM コンソール にログインし、次のカスタムポリシーを作成して、RAM ユーザーにアタッチします。
{ "Statement":[ { "Action":[ "ram:CreateServiceLinkedRole" ], "Resource":"*", "Effect":"Allow", "Condition":{ "StringEquals":{ "ram:ServiceName":"instanceencryption.alikafka.aliyuncs.com" } } } ], "Version":"1" }
- ApsaraMQ for Kafka にリンクされている AliyunServiceRoleForAlikafkaETL ロールが RAM ユーザーに対して自動的に作成されない場合はどうすればよいですか?
サービスリンクロールが Alibaba Cloud アカウントに作成されている場合、RAM ユーザーは Alibaba Cloud アカウントからサービスリンクロールを継承します。RAM ユーザーがサービスリンクロールを継承できない場合は、RAM コンソール にログインし、次のカスタムポリシーを作成して、RAM ユーザーにアタッチします。
{ "Statement":[ { "Action":[ "ram:CreateServiceLinkedRole" ], "Resource":"*", "Effect":"Allow", "Condition":{ "StringEquals":{ "ram:ServiceName":"etl.alikafka.aliyuncs.com" } } } ], "Version":"1" }
ポリシーを RAM ユーザーにアタッチした後も、サービスリンクロールが RAM ユーザーに対して自動的に作成されない場合は、AliyunKafkaFullAccess ポリシーを RAM ユーザーにアタッチします。詳細については、「RAM ユーザーへの権限の付与」をご参照ください。