概要
IAM ユーザーを作成してポリシーをアタッチします。
そして、アクセスキーを生成して、AWS リソースへの接続を試してみます。
AWS への操作は AWS CLI を使います。
IAM ユーザーの作成
まずは IAM ユーザーを作成します。
ユーザーの作成にはcreate-user
コマンドを実行します。
aws iam create-user --user-name MyUser
ポリシーの作成
次に、ポリシーを作成します。
example-policy.json
ファイルを作成します。
以下は S3 バケットへアクセスするためのポリシーの例です。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListAllMyBuckets"],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": ["s3:ListBucket", "s3:GetBucketLocation"],
"Resource": "arn:aws:s3:::*"
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl",
"s3:GetObject",
"s3:GetObjectAcl",
"s3:DeleteObject"
],
"Resource": "arn:aws:s3:::examplebucket/*"
}
]
}
ファイルが作成できたらcreate-policy
コマンドを実行します。
作成されたポリシーの ARN が出力されるので書き留めておきます。
aws iam create-policy --policy-name example-policy --policy-document file://example-policy.json
attach-user-policy
コマンドを実行して、ポリシーを最初に作成したユーザーにアタッチします。
aws iam attach-user-policy --user-name MyUser --policy-arn "arn:aws:iam::123456789012:policy/example-policy"
作成したユーザーを使って接続テスト
作成したユーザーで AWS S3 へ接続してみます。
ここではfog-aws
を使います。
まずはアクセスキーを生成します。
create-access-key
コマンドを実行します。
aws iam create-access-key --user-name MyUser
実行すると、アクセスキーが出力されます。
ユーザーのホームディレクトリ直下に.fog
ファイルを作成して、アクセスキーを書き込みます。
default:
aws_access_key_id: <YOUR_ACCESS_KEY_ID>
aws_secret_access_key: <YOUR_SECRET_ACCESS_KEY>
S3 の適当なバケットへアクセスしてみます。
require 'fog-aws'
s3 = Fog::Storage.new(provider: 'AWS', region: 'ap-northeast-1')
s3.directories.get(BUCKET_NAME)
バケットのオブジェクトが取得できれば成功です。