LoginSignup
0
1

More than 1 year has passed since last update.

Terraform + AWS App Runner + ECRを使うときのIAM Role

Posted at

Motivation

Terraform で AWS App Runnerを使うときにECRからアプリケーションをデプロイするときはIAMロールが必要になります。

対処

  1. AWS App Runnerのビルド用のインスタンスロールを作成する
  2. ECRへのアクセス用のポリシーをアタッチする
  3. "authentication_configuration" にインスタンスロールのARNを設定する

AWS App Runnerのビルド用のインスタンスロールを作成する

ポリシードキュメント

data "aws_iam_policy_document" "app_runner_build_policy_document" {
  statement {
    actions = ["sts:AssumeRole"]

    principals {
      type        = "Service"
      identifiers = ["build.apprunner.amazonaws.com"]
    }
  }
}

#### インスタンスロールの作成

```terraform
resource "aws_iam_role" "app_runner_build_role" {
  name               = "AWSAppRunnerBuildRole"
  assume_role_policy = data.aws_iam_policy_document.app_runner_build_policy_document.json
}

ECRへのアクセス用のポリシーをアタッチする

resource "aws_iam_role_policy_attachment" "ecr_read_only_policy_attachment" {
  policy_arn = "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly"
  role       = aws_iam_role.app_runner_build_role.name
}

"authentication_configuration" にインスタンスロールのARNを設定する

authentication_configuration {
      access_role_arn = "先ほど作成したインスタンスロールのARN"
    }
0
1
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
1