仕事で、S3を利用することになったので備忘。
IAMの作成
IAMの作成の順番としては、以下の通り。
ポリシーの作成⇨グループの作成⇨ユーザーの作成
参考:【図解/AWS】IAM入門~ロールとグループとポリシーの違い,設計・設定手順について~
ポリシーの作成
以下を参考にし、ポリシーを作成。
AWS S3でホワイトリスト形式でIP制限する(特定IPのみアクセス許可)
S3のアクセスコントロールまとめ
{
"Version": "2012-10-17",
"Statement":[
// S3ホームディレクトリでバケット一覧を表示するために必要
{
"Effect":"Allow",
"Action":[
"s3:ListAllMyBuckets"
],
"Resource":"arn:aws:s3:::*"
},
// バケットに対する操作を許可
{
"Effect":"Allow",
"Action":[
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource":"arn:aws:s3:::samplebucket20191014"
},
// オブジェクトに対する操作を許可
{
"Effect":"Allow",
"Action":[
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource":"arn:aws:s3:::samplebucket20191014/*",
// IPアドレスの制限
"Condition": {
"IpAddress": {
"aws:SourceIp": [
"xxx.xxx.xx.xxx"
]
}
}
}
]
}
注意点
Version
というくらいだから、バージョン管理だと思い、同日日付に変更するとエラーになる。
調べると、2012-10-17
でポリシー変数(Effect)とかを利用できるらしい
以下、参考にしたサイト
AWS/S3のバケットポリシー入門
S3のアクセスコントロールまとめ
また、ソースにあるコメントを削除しないとエラーになりました。
グループの作成
任意のグループ名を作成し、上記で作成したポリシーを割り当てます。
ユーザーの作成
任意のユーザー名を作成します。
ここで、アクセスの種類
を選択します。
また、グループを利用せず、ユーザに直接ポリシーを割り当てることもできます。
なお、作成完了時に、シークレットアクセスキー・アクセスキー・パスワードが表示されるので忘れずにメモしましょう。
AWSアクセスキー作成
AWS CLI のインストール
利用ユーザに aws cli をインストールしてもらいます。
今回のエンドユーザは、windowsのため、以下を参考にインストールしてもらいました。
AWS CLIのセットアップ(Windows)
WS CLIのインストールから初期設定メモ
接続確認
aws s3 ls
をコマンドプロンプトに入力して、バケット一覧が表示されれば問題ありません。
コンソールでの接続確認
[IAM] - [ユーザー] - [認証情報タグ] に「コンソールのサインインリンク」が表示されるので、アクセスします。
ユーザー名・パスワードを入力すると、S3のみアクセスできることを確認します。
参考
【図解/AWS】IAM入門~ロールとグループとポリシーの違い,設計・設定手順について~
AWS S3でホワイトリスト形式でIP制限する(特定IPのみアクセス許可)
S3のアクセスコントロールまとめ
AWS/S3のバケットポリシー入門
S3のアクセスコントロールまとめ
AWSアクセスキー作成
AWS CLIのセットアップ(Windows)
WS CLIのインストールから初期設定メモ