2

私は AWS に比較的慣れていないので、ロール ポリシーがどのように機能するかを理解しようとしています。非常に包括的な AWS のドキュメントを読みましたが、適用しているポリシーがまだ期待どおりに機能していません...説明させてください

ロールへのアクセスを許可しようとしているので、想定されたときにラムダで何かを行うことができます

「デプロイ担当者」というロールを作成しました。
次に、以下のポリシーをそのロールにアタッチしました。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Action": "lambda:*"
            "Resource": "arn:aws:iam::<account_id>:role/deployer"
        }
    ]
}

ここでの私の期待は、ポリシーが言うことです... 指定されたリソース (デプロイ担当者の役割) は、Lambda サービスで任意のアクションを実行することを「許可」されています

ただし、フロントエンドでそのロールに切り替えると、Lambda ダッシュボードに次のエラーが表示されます。

lambda:GetAccountSettings を実行する権限がありません。

私が見つけた唯一の解決策は、ポリシーのリソース属性をワイルドカードにすることです...しかし、そのような役割のみへのアクセスを制限しようとする目的を無効にします

私が望むことをするポリシーの例

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Action": "lambda:*"
            "Resource": "*"
        }
    ]
}

誰かがここで実際に何が起こっているのか説明してもらえますか? Resource 属性が何に使用されているのかはっきりと理解していません...私にとって、2番目のポリシーは、どのリソースもLambdaで何でもできると言っています...

ありがとう

4

2 に答える 2

2

変化する

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Action": "lambda:*"
            "Resource": "arn:aws:iam::<account_id>:role/deployer"
        }
    ]
}

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Action": "lambda:*"
            "Resource": "arn:aws:lambda:<region>:<account_number>:function:my-awesome-lambda-function"
        }
    ]
}
于 2018-05-23T20:13:22.643 に答える