おじさん。AWSを触る。その4。Amplifyを触る前の事前準備。
その4です。
Amplifyを触る前にネットで色々調べているんですが、
「やってみた」とか「ハンズオン」で利用しているアクセス許可の設定例って「AdministratorAccess」ばかりなんですよね。
管理者用アカウント以外にこんな強力な権限を与えるのは、「僕は嫌だ」と。権限は最低限にしたいのです。
で「カスタマー管理ポリシー」を作ります。
1.カスタマー管理ポリシーの作成
1-1.管理者アカウントでIAMコンソールに入ります。
1-2.ポリシーを選択します。
1-3.「ポリシーの作成」を選択
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」タブを選択します。
1-6.テキストをペーストします。
1-7.「ビジュアルエディタ」タブを開くとこんな風に見えます。
「ポリシーの確認」をクリック。
1-8.適用されるポリシーが確認できます。
今回は名前に「MyAmplifyPolicy」とつけています。
「ポリシーの作成」のボタンを押します。
1-9.ポリシーが作成されました。
1-10.「My」で検索すると先ほど作成されたポリシーが確認できます。
今回は以上です。
Amplify用カスタマー管理ポリシーの作成でした。
次回は、Amplify環境とVueプロジェクトの作成の予定です。
サポートして頂くと頑張るかもしれません。