「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>Amazon Web Services]] *目次 [#g4798582] #contents *概要 [#a949ae2a] -日常的なタスクを実行するアカウント内のユーザー -ルートユーザー(アカウント所有者)が作成する。 -ポータルにサインインするには、以下が必要。 --次のいずれか ---アカウントエイリアス。 ---12 桁の AWS アカウント ID --IAM ユーザの ---ユーザ名 ---パスワード *詳細 [#l8dbd01f] **基本的な要素 [#k9c99896] ***User [#tabd0c8f] -所謂、User -UserName + [[Path>#zcbd27cf]]で作成。 -[[Policy>#l1d4ce70]]を設定できる。 -[[AWSのIAMユーザの作成]] -参考 --[[AWSのIAMユーザの作成]] ***Group [#tf036ccb] -[[User>#tabd0c8f]]をまとめる入れモノ的な。 -GroupName + [[Path>#zcbd27cf]]で作成。 -Groupにも[[Policy>#l1d4ce70]]を設定できる。 ***Role [#z02d8227] -第三者(Trusted Entity)に権限を委譲するためのもの。 --EC2インスタンスにAPIアクセス権限を委譲できる。 --その他のAWSサービスにも権限を委譲できる。 --[[Azure サービス プリンシパル>https://techinfoofmicrosofttech.osscons.jp/index.php?Azure%20%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%20%E3%83%97%E3%83%AA%E3%83%B3%E3%82%B7%E3%83%91%E3%83%AB]]のようなモノ。 -下記3つの情報から作成 --RoleName --[[Path>#zcbd27cf]] --AssumeRolePolicyDocument -AssumeRole --RoleArn(IAM Roleの一意な名前)を入力するとCredentialsを返すAPI sts assume-role --role-arn arn:aws:iam::XXXXXXXXXXXX:role/RoleName --ロールに設定された権限を持ったCredentialsを入手できる。 ---ココでのCredentialsはTokenみたいなものか。 ---有効期限は1時間の一時キー -AssumeRolePolicyDocument --Principal ---第三者(Trusted Entity)を表す。~ 第三者には、~ ・任意のIAM ユーザを指定できるが、~ ・AWSのサービス(EC2が代表的)などを指定する事が多い。 --Condition ---必要に応じて「混乱した代理問題」の対策のために追加された追加条件を含める。 ---追加条件には、外部ID(sts:Externalid)などがあり、~ sts assume-roleする際に、--external-idパラメタとして指定できる。 -Roleにも[[Policy>#l1d4ce70]]を設定できる。 -[[Roleを使用する例(VHD→AMIに変換)>AWS上に素早く環境を構築する#g2d07726]] ***Policy [#l1d4ce70] [[User>#tabd0c8f]], [[Group>#tf036ccb]], [[Role>#z02d8227]] に対して、~ 作成後の後付けで Policy を付与(put)できる。 ***Path [#zcbd27cf] -大規模な[[User>#tabd0c8f]]管理を行う場合に、~ [[User>#tabd0c8f]]をディレクトリ分けするような仕組み -小規模の場合はデフォルトの/を使うことが多い **Identity Provider [#m9dfdd22] *参考 [#a452b203] -Confused deputy problem - Wikipedia~ https://ja.wikipedia.org/wiki/Confused_deputy_problem -How to do AssumeRole in Azure – Cloud Invent~ https://cloudinvent.com/blog/how-to-do-assumerole-in-azure/ **AWS [#me4caa2f] -AWS IAM(ユーザーアクセスと暗号化キーの管理)~ https://aws.amazon.com/jp/iam/ ***Identity and Access Management [#y210521f] -AWS アカウントでの~ IAM ユーザーの作成~ https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_users_create.html -IAM ユーザーの管理~ https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_users_manage.html **Qiita [#ta95b999] -AWSアカウントでのIAMユーザの作成~ https://qiita.com/kzykmyzw/items/ca0c3276dfebb401f7d8 -AWSアカウントを取得したら速攻でやっておくべき初期設定まとめ~ https://qiita.com/tmknom/items/303db2d1d928db720888 **Developers.IO [#n2814e98] -IAMロール徹底理解 〜 AssumeRoleの正体 | Developers.IO~ https://dev.classmethod.jp/articles/iam-role-and-assumerole/ -IAM ロールの信頼ポリシーで設定する外部 ID(sts:ExternalId) について~ https://dev.classmethod.jp/articles/iam-role-externalid/