0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

lamdaの実行ロールとは

0
Posted at

背景

Lamdaのリソースを作成するためにterraform planを実行したとき、roleの値についてエラーになった。
なぜerrorになったのかがわからずIAM周りの知識が曖昧だったため調べたことをまとめつつ解決していく。

結論

""がついてたからデータを代入できなかった(凡ミス)

resource "aws_lambda_function" "devtime-prod-app-lambda" {
  function_name = "devtime-prod-app-lambda"
- role          = "aws_iam_role.devtime-prod-app-lambda.arn"
+ role          = aws_iam_role.devtime-prod-app-lambda.arn

エラーが出てしまいました...おそらくECRにイメージをまだpushしてないのでURIを取得できずエラーになったんですかね。このエラーはCDをを作成した時に解消します。

 Error: creating Lambda Function (devtime-prod-app-lambda): operation error Lambda: CreateFunction, https response error StatusCode: 400, RequestID: c72af30d-f483-4be4-8f3c-47fd8bf5283b, InvalidParameterValueException: Source image 022544359532.dkr.ecr.ap-northeast-1.amazonaws.com/devtime-prod-app-ecr is not valid. Provide a valid source image.

なぜLambdaにsts:AssumeRoleのaction権限を付与しないといけないのか?`

AssumeRoleを実行するのはLambda Entity。Lamda EntityはデフォルトでIAMロールがアタッチされている。
そのIAMロールをAssumeRoleアクションを実行して関数実行時にattachしないといけないから。(解釈が違うかもしれない)

roleとpolicyの違い

policy > roleの関係があると思っていたが違うっぽい。
roleとpermission勘違いしてた。roleはIDでpolicyはpermissionsのオブジェクト。

Lamdbdaの実行ロールとは

awsのサービスおよびリソースにアクセスする許可を関数に付与するIAMロール
つまりLambdaを実行したときにawsのリソースにアクセスするかどうかで設定するかしないかが決まるということ?
内部的に実行するアクションがあるため、sts:AssumeRoleなどの権限の付与が必要だった。

AsuumueRoleとは

AssumeRoleとはAWS STSのサービスの1機能のこと

stsとは

AWSサービスに対して何かしら操作したい時に一時的に操作する権利(Token)を発行するサービス

信頼ポリシー

異なるEntity間の認証(違うと思うがこの前提で理解する。) → IAMロールを引き受けることのできるエンティティを定義する。後で図で書きたい。

Permissions boundary

実行できるアクションに境界を設定(delete権限に特定のリソースしかdeleteできないようにするなど)

アイデンティティベースポリシー

実行できるアクションを定義(permission)

PassRole

awsサービスにIAMロールをアタッチするときに必要な権限

感想

記事というよりかは10行ぐらいで調べたことをまとめたものを書こうと思ったが、
思ったよりもlamdaの実行ロールというものは深いものだった。
記事を書くというのを目的にするとなかなか手がつかないが、スコープを最小に絞ってまとめるのは継続しやすいからいい。いい。

参考文献

(まず最初に見た記事)

(体系的に理解するために見た記事)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?