[英]sam pipeline bootstrap created an omnipotent role
在AWS SAM 教程研討會的 CI/CD 部分,當我運行sam pipeline init --bootstrap
並完成配置時,使用此策略創建了一個角色:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "*",
"Resource": "*",
"Effect": "Allow"
}
]
}
這不會授予角色對我的 AWS 帳戶的完全權限,這是一個很大的禁忌嗎? 還是因為權限授予了 AWS 服務而不是用戶?
這是信任關系:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "cloudformation.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
擁有具有這些權限的角色很好。 當您創建普通 AWS 賬戶(換句話說,我不包括那些由 Control Tower 等企業登錄區創建的賬戶)時,它會附帶一個名為AdministratorAccess 的策略和一個名為 Administrator的角色。
最佳實踐是您允許誰或什么以及何時使用該策略。
角色優先於用戶,因為角色提供安全憑證。 對於用戶,您擁有需要保護的持久憑證。
在這種情況下,您允許 CloudFormation 擔任此角色。 這是有道理的,因為 CloudFormation 通常需要能夠創建和修改任何資源,包括 IAM 角色。 如果您知道您不會創建或修改 IAM 資源,您可以使用限制性更強的角色(最低權限),例如使用如下所示的PowerUserAccess 策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"NotAction": [
"iam:*",
"organizations:*",
"account:*"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"iam:CreateServiceLinkedRole",
"iam:DeleteServiceLinkedRole",
"iam:ListRoles",
"organizations:DescribeOrganization",
"account:ListRegions"
],
"Resource": "*"
}
]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.