As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Etapa 5: Criar funções de lançamento
Nesta etapa, você criará uma função do IAM (função de lançamento) especificando as permissões que o mecanismo de provisionamento do Terraform AWS Service Catalog pode assumir quando um usuário final lança um produto Terraform. HashiCorp
O perfil do IAM (função de inicialização) que você atribui posteriormente ao seu produto Terraform de bucket simples do Amazon S3 como uma restrição de inicialização deve ter as seguintes permissões:
-
Acesso aos recursos da AWS subjacentes do seu produto Terraform. Neste tutorial, isso inclui acesso às operações
s3:CreateBucket*
,s3:DeleteBucket*
,s3:Get*
,s3:List*
es3:PutBucketTagging
do Amazon S3. -
Acesso de leitura ao modelo do Amazon S3 em um bucket do Amazon S3 de propriedade do AWS Service Catalog
-
Acesso às operações
CreateGroup
,ListGroupResources
,DeleteGroup
eTag
do grupo de recursos. Essas operações permitem ao AWS Service Catalog gerenciar grupos de recursos e tags.
Para criar uma função de lançamento na conta do administrador AWS Service Catalog
-
Enquanto estiver conectado à conta do administrador do AWS Service Catalog, siga as instruções para Criar novas políticas na guia JSON no Guia do Usuário do IAM.
-
Crie uma política para seu produto simples do Amazon S3 bucket Terraform. Essa política deve ser criada antes de você criar o perfil de lançamento e consiste nas seguintes permissões:
-
s3
— concede ao AWS Service Catalog permissões completas para listar, ler, gravar, provisionar e marcar o produto Amazon S3. -
s3
— permite acesso aos buckets do Amazon S3 de propriedade do AWS Service Catalog. Para implantar o produto, AWS Service Catalog é necessário acesso aos artefatos de provisionamento. -
resourcegroups
— permite ao AWS Service Catalog criar, listar, excluir e marcar AWS Resource Groups. -
tag
— concede ao AWS Service Catalog permissões de marcação.
nota
Dependendo dos recursos subjacentes que você deseja implantar, talvez seja necessário modificar o exemplo de política JSON.
Cole o seguinte documento da política JSON:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "s3:GetObject", "Resource": "*", "Condition": { "StringEquals": { "s3:ExistingObjectTag/servicecatalog:provisioning": "true" } } }, { "Action": [ "s3:CreateBucket*", "s3:DeleteBucket*", "s3:Get*", "s3:List*", "s3:PutBucketTagging" ], "Resource": "arn:aws:s3:::*", "Effect": "Allow" }, { "Action": [ "resource-groups:CreateGroup", "resource-groups:ListGroupResources", "resource-groups:DeleteGroup", "resource-groups:Tag" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "tag:GetResources", "tag:GetTagKeys", "tag:GetTagValues", "tag:TagResources", "tag:UntagResources" ], "Resource": "*", "Effect": "Allow" } ] }
-
-
-
Escolha Próximo, Tags.
-
Escolha Próximo, Revisar.
-
Na página Revisar política, para o Nome , insira
S3ResourceCreationAndArtifactAccessPolicy
. -
Escolha Criar política.
-
-
No painel de navegação, escolha Roles (Funções) e Criar função.
-
Em Selecionar entidade confiável, escolha Política de confiança personalizada e, em seguida, insira a seguinte política JSON:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "GivePermissionsToServiceCatalog", "Effect": "Allow", "Principal": { "Service": "servicecatalog.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account_id:root" }, "Action": "sts:AssumeRole", "Condition": { "StringLike": { "aws:PrincipalArn": [ "arn:aws:iam::accounti_id:role/TerraformEngine/TerraformExecutionRole*", "arn:aws:iam::accounti_id:role/TerraformEngine/ServiceCatalogExternalParameterParserRole*", "arn:aws:iam::accounti_id:role/TerraformEngine/ServiceCatalogTerraformOSParameterParserRole*" ] } } } ] }
-
Escolha Próximo.
-
Na lista Políticas, selecione a
S3ResourceCreationAndArtifactAccessPolicy
que você criou. -
Escolha Próximo.
-
Em Nome do perfil, insira
SCLaunch-S3product
.Importante
Os nomes do perfil de lançamento devem começar com “SCLaunch” seguido pelo nome do perfil desejado.
-
Selecione Criar perfil.
Importante
Depois de criar a função de lançamento na sua conta de administrador AWS Service Catalog, você também deve criar uma função de lançamento idêntico na conta do usuário final do AWS Service Catalog. O perfil na conta do usuário final deve ter o mesmo nome e incluir a mesma política do perfil na conta do administrador.
Para criar uma função de lançamento na conta do usuário final AWS Service Catalog
-
Faça login como administrador na conta do usuário final e siga as instruções para Criar novas políticas na guia JSON no Guia do Usuário do IAM.
-
Repita as etapas 2 a 10 de Para criar uma função de lançamento na conta de administrador AWS Service Catalog acima.
nota
Ao criar uma função de lançamento na conta do usuário final AWS Service Catalog, certifique-se de usar o mesmo administrador AccountId
na política de confiança personalizada.
Agora que você criou uma função de lançamento nas contas de administrador e usuário final, pode adicionar uma restrição de lançamento ao produto.