View a markdown version of this page

將混淆代理人新增至 Terraform 佈建引擎 - AWS Service Catalog

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將混淆代理人新增至 Terraform 佈建引擎

端點上的混淆代理人內容索引鍵,以限制lambda:Invoke操作的存取

AWS Service Catalog由提供的引擎建立的參數剖析器 Lambda 函數具有存取政策,僅授予跨帳戶lambda:Invoke許可給 AWS Service Catalog 服務主體:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "servicecatalog.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:us-east-1:111122223333:function:ServiceCatalogTerraformOSParameterParser" } ] }

這應該是與 整合 AWS Service Catalog 以正常運作所需的唯一許可。不過,您可以使用aws:SourceAccount混淆代理人內容索引鍵進一步限制這一點。當 AWS Service Catalog 傳送訊息至這些佇列時, 會將佈建帳戶的 ID AWS Service Catalog 填入金鑰。當您打算透過產品組合共用分發產品,並希望確保只有特定帳戶使用您的引擎時,這會很有幫助。

例如,您可以使用如下所示的條件,將引擎限制為僅允許源自 000000000000 和 111111111111 的請求:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "servicecatalog.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:us-east-1:111122223333:function:ServiceCatalogTerraformOSParameterParser", "Condition": { "StringLike": { "aws:SourceAccount": [ "000000000000", "111111111111" ] } } } ] }

端點上的混淆代理人內容索引鍵,以限制sqs:SendMessage操作的存取

佈建操作會擷取由 AWS Service Catalog提供的引擎建立的 Amazon SQS 佇列,其存取政策只會授與跨帳戶 sqs:SendMessage(和相關聯的 KMS) 許可給 AWS Service Catalog 服務主體:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Enable AWS Service Catalog to send messages to the queue", "Effect": "Allow", "Principal": { "Service": "servicecatalog.amazonaws.com" }, "Action": "sqs:SendMessage", "Resource": [ "arn:aws:sqs:us-east-1:111122223333:ServiceCatalogTerraformOSProvisionOperationQueue" ] }, { "Sid": "Enable AWS Service Catalog encryption/decryption permissions when sending message to queue", "Effect": "Allow", "Principal": { "Service": "servicecatalog.amazonaws.com" }, "Action": [ "kms:DescribeKey", "kms:Decrypt", "kms:ReEncryptFrom", "kms:ReEncryptTo", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/key_id" } ] }

這應該是與 整合 AWS Service Catalog 以正常運作所需的唯一許可。不過,您可以使用aws:SourceAccount混淆代理人內容索引鍵進一步限制這一點。當 AWS Service Catalog 傳送訊息到這些佇列時, 會將佈建帳戶的 ID AWS Service Catalog 填入金鑰。當您打算透過產品組合共用分發產品,並希望確保只有特定帳戶使用您的引擎時,這會很有幫助。

例如,您可以使用如下所示的條件,將引擎限制為僅允許源自 000000000000 和 111111111111 的請求:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Enable AWS Service Catalog to send messages to the queue", "Effect": "Allow", "Principal": { "Service": "servicecatalog.amazonaws.com" }, "Action": "sqs:SendMessage", "Resource": [ "arn:aws:sqs:us-east-1:111122223333:ServiceCatalogTerraformOSProvisionOperationQueue" ], "Condition": { "StringLike": { "aws:SourceAccount": [ "000000000000", "111111111111" ] } } }, { "Sid": "Enable AWS Service Catalog encryption/decryption permissions when sending message to queue", "Effect": "Allow", "Principal": { "Service": "servicecatalog.amazonaws.com" }, "Action": [ "kms:DescribeKey", "kms:Decrypt", "kms:ReEncryptFrom", "kms:ReEncryptTo", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/key_id" } ] }