在仔細考慮之後,我們決定在兩個步驟中停止 Amazon Kinesis Data Analytics for SQL 應用程式:
1. 從 2025 年 10 月 15 日起,您將無法為SQL應用程式建立新的 Kinesis Data Analytics。
2. 我們將自 2026 年 1 月 27 日起刪除您的應用程式。您將無法啟動或操作SQL應用程式的 Amazon Kinesis Data Analytics。從那時SQL起,Amazon Kinesis Data Analytics 將不再提供 的支援。如需詳細資訊,請參閱Amazon Kinesis Data Analytics for SQL 應用程式終止。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
針對 使用以身分為基礎的政策 (IAM 政策)
以下是以身分為基礎的政策範例,示範帳戶管理員如何將許可政策連接到身分 IAM (即使用者、群組和角色),並授予許可以對資源執行操作。
重要
建議您先檢閱介紹主題,理解可用來管理 資源存取的基本槪念和選項。如需詳細資訊,請參閱管理您的 資源之存取許可的概觀。
以下顯示許可政策範例。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1473028104000", "Effect": "Allow", "Action": [ "kinesisanalytics:CreateApplication" ], "Resource": [ "*" ] } ] }
此政策具有一個陳述式:
-
第一個陳述式會使用應用程式的 Amazon Resource Name (
kinesisanalytics:CreateApplication
) 授予資源上一個動作 (ARN) 的許可。ARN 在此情況下, 會指定萬用字元 (*),以表示授予任何資源的許可。
如需顯示所有API操作及其適用的資源的資料表,請參閱 API 許可:動作、許可和資源參考。
使用主控台所需的許可
如要讓使用者在主控台上作業,您必須授予必要的許可。舉例來說,如果您希望使用者擁有建立應用程式的許可,請授與許可向他們展示帳戶中的串流來源,以便使用者可以在主控台上設定輸入和輸出。
我們建議下列作法:
-
使用 Amazon 受管政策授予使用者許可。如需可用政策,請參閱 之 Amazon 受管 (預先定義) 政策 。
-
建立自訂政策。在此情況下,我們建議您檢閱本節中提供的範例。如需詳細資訊,請參閱客戶受管政策範例。
之 Amazon 受管 (預先定義) 政策
AWS 提供由 建立和管理的獨立IAM政策,以解決許多常見的使用案例 AWS。這些 Amazon 受管政策會授予常用案例所需的許可,讓您不需調查需要哪些許可。如需詳細資訊,請參閱IAM《 使用者指南》中的 Amazon 受管政策。
您可將下列 Amazon 受管政策附加到帳戶中的使用者,這些政策專屬於:
-
AmazonKinesisAnalyticsReadOnly
:授與許可給可讓使用者列出應用程式和檢閱輸入/輸出組態的動作。它還授予許可,允許使用者檢視 Kinesis 串流和 Firehose 交付串流的清單。應用程式正在執行時,使用者可以在主控台中檢視來源資料和即時分析結果。 -
AmazonKinesisAnalyticsFullAccess
:授與許可給所有可讓使用者建立和管理應用程式的動作和其他許可。但是,請注意以下內容:-
如果使用者想要在主控台中建立新的IAM角色,這些許可就不足 (這些許可允許使用者選取現有的角色)。如果您希望使用者能夠在 主控台中建立IAM角色,請新增
IAMFullAccess
Amazon 受管政策。 -
使用者必須具有
iam:PassRole
動作的許可,才能在設定應用程式時指定 IAM角色。此 Amazon 受管政策只會在字首 開頭IAM的角色上,將iam:PassRole
動作的許可授予使用者service-role/kinesis-analytics
。如果使用者想用沒有此字首的角色來設定應用程式,您必須先明確授與使用者對該角色之
iam:PassRole
動作許可。
-
您也可以建立自己的自訂IAM政策,以允許動作和資源的許可。您可以將這些自訂政策連接至需要這些許可的使用者或群組。
客戶受管政策範例
本節的範例提供一組範本政策可供您連接到使用者。如果您在建立政策方面是新手,我們建議您先在自己的帳戶中建立使用者。然後依序將策略附加到使用者,如本節所述步驟。當您將政策連接到使用者時,即可使用主控台來驗證每個政策的效果。
起初,使用者沒有許可且無法在主控台進行任何操作。隨著您將政策連接到使用者,便可以驗證使用者在主控台上能夠執行各種動作。
我們建議您使用兩個瀏覽器視窗。在一個視窗中,建立使用者並授予許可。在另一個 中, AWS Management Console 使用使用者的登入資料登入 ,並在您授予許可時驗證許可。
如需示範如何建立角色IAM的範例,以做為應用程式的執行角色,請參閱IAM《 使用者指南》中的建立IAM角色。
範例步驟
步驟 1:建立IAM使用者
首先,您需要建立使用者、將使用者新增至具有管理許可的 IAM 群組,然後將管理許可授予您建立的使用者。然後,您可以使用 AWS 特殊 URL和該使用者的登入資料來存取 。
如需說明,請參閱IAM《 使用者指南》中的建立您的第一個IAM使用者和管理員群組。
步驟 2:允許非特定動作的使用者許可
首先,針對使用者在使用應用程式時所需的所有非特定動作,授予使用者許可。這些包括使用串流的許可 (Amazon Kinesis Data Streams 動作、Amazon Data Firehose 動作),以及 CloudWatch 動作的許可。將下列政策附加到使用者。
您需要提供要授予iam:PassRole
許可IAM的角色名稱來更新政策,或指定指出所有IAM角色的萬用字元 (*)。這不是安全的做法;但您可能沒有在此測試期間建立的特定IAM角色。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesis:CreateStream", "kinesis:DeleteStream", "kinesis:DescribeStream", "kinesis:ListStreams", "kinesis:PutRecord", "kinesis:PutRecords" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "firehose:DescribeDeliveryStream", "firehose:ListDeliveryStreams" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics" ], "Resource": "*" }, { "Effect": "Allow", "Action": "logs:GetLogEvents", "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:ListPolicyVersions", "iam:ListRoles" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/service-role/
role-name
" } ] }
步驟 3:允許使用者查看應用程式清單與詳細資訊
以下政策會授予使用者下列許可:
-
kinesisanalytics:ListApplications
動作的許可,以便使用者檢視應用程式清單。這是服務層級API呼叫,因此您會指定「*」做為Resource
值。 -
kinesisanalytics:DescribeApplication
動作的許可,以便您取得有關任何應用程式的資訊。
將此政策新增至使用者。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesisanalytics:ListApplications" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "kinesisanalytics:DescribeApplication" ], "Resource": "arn:aws:kinesisanalytics:
aws-region
:aws-account-id
:application/*" } ] }
用使用者憑證登入主控台,以驗證這些許可。
步驟 4:允許使用者啟動特定應用程式
如果您希望使用者能夠啟動其中一個現有的應用程式,請將下列政策附加至使用者。此政策會提供 kinesisanalytics:StartApplication
動作的許可。您必須提供您的帳戶 ID、 AWS 區域和應用程式名稱來更新政策。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesisanalytics:StartApplication" ], "Resource": "arn:aws:kinesisanalytics:
aws-region
:aws-account-id
:application/application-name
" } ] }
步驟 5:允許使用者建立應用程式
如果您希望使用者建立應用程式,可將下列政策附加至使用者。您必須更新政策並提供 AWS 區域、您的帳戶 ID,以及您希望使用者建立的特定應用程式名稱,或「*」,以便使用者指定任何應用程式名稱 (進而建立多個應用程式)。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1473028104000", "Effect": "Allow", "Action": [ "kinesisanalytics:CreateApplication" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "kinesisanalytics:StartApplication", "kinesisanalytics:UpdateApplication", "kinesisanalytics:AddApplicationInput", "kinesisanalytics:AddApplicationOutput" ], "Resource": "arn:aws:kinesisanalytics:
aws-region
:aws-account-id
:application/application-name
" } ] }
步驟 6:允許應用程式使用 Lambda 預處理
如果您希望應用程式能夠使用 Lambda 預先處理,請將下列政策附加至該角色。
{ "Sid": "UseLambdaFunction", "Effect": "Allow", "Action": [ "lambda:InvokeFunction", "lambda:GetFunctionConfiguration" ], "Resource": "<FunctionARN>" }