おじさん。AWSを触る。その4。Amplifyを触る前の事前準備。

その4です。
Amplifyを触る前にネットで色々調べているんですが、
「やってみた」とか「ハンズオン」で利用しているアクセス許可の設定例って「AdministratorAccess」ばかりなんですよね。
管理者用アカウント以外にこんな強力な権限を与えるのは、「僕は嫌だ」と。権限は最低限にしたいのです。
で「カスタマー管理ポリシー」を作ります。

1.カスタマー管理ポリシーの作成

1-1.管理者アカウントでIAMコンソールに入ります。

画像1

画像2

1-2.ポリシーを選択します。

画像3

1-3.「ポリシーの作成」を選択

画像4

1-4.「カスタマー管理ポリシー」について

AmplifyのWEBサイトにサンプルがあるのでそれを利用します。
URL

何を許可しているかは中身を見てください。
appsync、apigateway、cloudformation、cloudfront、cognito-identity、dynamodb、iam、lambda、s3、amplify
の全部または一部権限が設定されています。
とりあえず下のテキストをコピー。

{
   "Version": "2012-10-17",
   "Statement": [
       {
           "Sid": "VisualEditor0",
           "Effect": "Allow",
           "Action": [
               "appsync:*",
               "apigateway:POST",
               "apigateway:DELETE",
               "apigateway:PATCH",
               "apigateway:PUT",
               "cloudformation:CreateStack",
               "cloudformation:CreateStackSet",
               "cloudformation:DeleteStack",
               "cloudformation:DeleteStackSet",
               "cloudformation:DescribeStackEvents",
               "cloudformation:DescribeStackResource",
               "cloudformation:DescribeStackResources",
               "cloudformation:DescribeStackSet",
               "cloudformation:DescribeStackSetOperation",
               "cloudformation:DescribeStacks",
               "cloudformation:UpdateStack",
               "cloudformation:UpdateStackSet",
               "cloudfront:CreateCloudFrontOriginAccessIdentity",
               "cloudfront:CreateDistribution",
               "cloudfront:DeleteCloudFrontOriginAccessIdentity",
               "cloudfront:DeleteDistribution",
               "cloudfront:GetCloudFrontOriginAccessIdentity",
               "cloudfront:GetCloudFrontOriginAccessIdentityConfig",
               "cloudfront:GetDistribution",
               "cloudfront:GetDistributionConfig",
               "cloudfront:TagResource",
               "cloudfront:UntagResource",
               "cloudfront:UpdateCloudFrontOriginAccessIdentity",
               "cloudfront:UpdateDistribution",
               "cognito-identity:CreateIdentityPool",
               "cognito-identity:DeleteIdentityPool",
               "cognito-identity:DescribeIdentity",
               "cognito-identity:DescribeIdentityPool",
               "cognito-identity:SetIdentityPoolRoles",
               "cognito-identity:UpdateIdentityPool",
               "cognito-idp:CreateUserPool",
               "cognito-idp:CreateUserPoolClient",
               "cognito-idp:DeleteUserPool",
               "cognito-idp:DeleteUserPoolClient",
               "cognito-idp:DescribeUserPool",
               "cognito-idp:UpdateUserPool",
               "cognito-idp:UpdateUserPoolClient",
               "dynamodb:CreateTable",
               "dynamodb:DeleteItem",
               "dynamodb:DeleteTable",
               "dynamodb:DescribeTable",
               "dynamodb:PutItem",
               "dynamodb:UpdateItem",
               "dynamodb:UpdateTable",
               "iam:CreateRole",
               "iam:DeleteRole",
               "iam:DeleteRolePolicy",
               "iam:GetRole",
               "iam:GetUser",
               "iam:PassRole",
               "iam:PutRolePolicy",
               "iam:UpdateRole",
               "lambda:AddPermission",
               "lambda:CreateFunction",
               "lambda:DeleteFunction",
               "lambda:GetFunction",
               "lambda:GetFunctionConfiguration",
               "lambda:InvokeAsync",
               "lambda:InvokeFunction",
               "lambda:RemovePermission",
               "lambda:UpdateFunctionCode",
               "lambda:UpdateFunctionConfiguration",
               "s3:*",
               "amplify:*"
           ],
           "Resource": "*"
       }
   ]
}

1-5.「Json」タブを選択します。

画像5

1-6.テキストをペーストします。

画像6

1-7.「ビジュアルエディタ」タブを開くとこんな風に見えます。
     「ポリシーの確認」をクリック。

画像7

1-8.適用されるポリシーが確認できます。
    今回は名前に「MyAmplifyPolicy」とつけています。
   「ポリシーの作成」のボタンを押します。

画像9

1-9.ポリシーが作成されました。

画像9

1-10.「My」で検索すると先ほど作成されたポリシーが確認できます。

画像10


今回は以上です。
Amplify用カスタマー管理ポリシーの作成でした。

次回は、Amplify環境とVueプロジェクトの作成の予定です。

サポートして頂くと頑張るかもしれません。