本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將混淆代理人新增至 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"
}
]
}