Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWS研修 AWS IAM
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Recruit
PRO
August 18, 2021
Technology
8.1k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS研修 AWS IAM
2021年度リクルート エンジニアコース新人研修の講義資料です
Recruit
PRO
August 18, 2021
More Decks by Recruit
See All by Recruit
AIネイティブ時代における 開発組織の役割と拡張の可能性
recruitengineers
PRO
2
250
開発が速く安くなった後の話 AI時代のソフトウェアエンジニアリング組織論 #devsumi
recruitengineers
PRO
46
32k
双方向推薦システムにおける長期的マッチング最大化に向けた代理目的関数の設計と実証
recruitengineers
PRO
1
160
就職⽀援サービスにおけるキャリアアドバイザーのシフトスケジューリング
recruitengineers
PRO
1
210
Model Routerを使った逐次LLM選択による毀損低減効果の検証
recruitengineers
PRO
2
87
ストリーム処理基盤のFlink移行検証と適材適所の実践
recruitengineers
PRO
2
130
AI 時代の Platform Engineering
recruitengineers
PRO
3
540
巨大プラットフォームを進化させる「第3のROI」
recruitengineers
PRO
2
3.8k
データ戦略を加速させる プラットフォーム エンジニアリングと進化的アーキテクチャ
recruitengineers
PRO
3
130
Other Decks in Technology
See All in Technology
QAタスクをスキル化したいときに考えること
aomoriringo
0
140
BigQuery を検索ソースとした AI Agent の作り方って 〇〇 通りあんねん
satohjohn
0
150
Escolhendo LLMs na Prática: Lições Reais em Busca Agêntica no Mercado Livre —TDC 2026 Floripa
jpbonson
0
110
AIがコードを書く時代、人間は何を保証するのか———馬場さんと考える、開発者に求められる新しい責任と価値 - TECH PLAY
netmarkjp
0
1k
テックカンファレンス三大ステークホルダーの文化人類学 ─ 違いを認め合う関係性作り
bash0c7
5
1.5k
NYC Summit 2026 におけるAmazon Bedrock AgentCore のアップデート
ren8k
3
300
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
AIは実装を速くする。では、私たちは何を今作るべきか?-立場を越えてリリースに向き合ったチーム開発の実践 / 20260801 Hiromi Nakaya and Naoki Takahashi
shift_evolve
PRO
2
120
Retriever と Reranker、結局どうする?
kazuaki
1
570
AI エージェント時代のデジタルアイデンティティ
fujie
2
1.3k
AWS環境のセキュリティ不安を解消した企業事例 ~よくある課題と対策を一挙公開~
asanoharuki
0
270
MIRU 2026 チュートリアル
keisuke198619
0
330
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
370
HDC tutorial
michielstock
2
760
Making Projects Easy
brettharned
120
6.7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
190
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
240
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
119
120k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
470
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Deep Space Network (abreviated)
tonyrice
0
240
Transcript
AWS IAM 株式会社リクルート クラウドアーキテクトグループ
AWS IAMとは 正式名称は、AWS Identity and Access Management • 主な役割 •
AWSリソースを操作するための認証・認可の仕組みを提供します 2
認証と認可 • 認証 • 誰なのか、本⼈なのかを確認する • 認可 • 認証された⼈が実⾏可能なアクションの範囲を定める 3
(リクルートの) 社員証 認証と認可の例 オフィスにおける社員証を使った⼊室管理を考える 認証 社員証を持っている = 本⼈ (実際には写真と照合したりもする) リクルートオフィスのドア 他社オフィスのドア ドアは開く ドアは開かない 認可
主たる役割を提供するための機能 • 権限管理を⽀援するための各種概念と仕組みの提供 • 多要素認証のための仕組みの提供 • パスワードだけでなく他の要素とも組み合わせて認証を⾏います • ⼀時的な認証トークンを使った権限の委任(後述) •
権限を指定した⼈などに委任することができます • 他のIDプロバイダとの連携 • 他のIDプロバイダ(AzureADなど)と連携することができます 4 Authenticatorアプリ YubiKey RSAのあれ
主たる役割を提供するための機能 • 権限管理を⽀援するための各種概念と仕組みの提供 • 多要素認証のための仕組みの提供 • パスワードだけでなく他の要素とも組み合わせて認証を⾏います • ⼀時的な認証トークンを使った権限の委任(後述) •
権限を指定した⼈などに委任することができます • 他のIDプロバイダとの連携 • 他のIDプロバイダ(AzureADなど)と連携することができます 5 Authenticatorアプリ YubiKey RSAのあれ
AWS IAMとは 認証・認可の仕組みを通じて ⼈やモノ(AWSリソースなど) が操作可能な範囲を 安全かつ容易に規定するためのサービス 6
主たる役割を提供するための機能 • 権限管理を⽀援するための各種概念と仕組みの提供 • 多要素認証のための仕組みの提供 • パスワードだけでなく他の要素とも組み合わせて認証を⾏います • ⼀時的な認証トークンを使った権限の委任(後述) •
権限を指定した⼈などに委任することができます • 他のIDプロバイダとの連携 • 他のIDプロバイダ(AzureADなど)と連携することができます 7 Authenticatorアプリ YubiKey RSAのあれ
IAMを構成する概念 8 IAMプリンシパル IAMポリシー IAMユーザー IAMロール 他 (AWSサービスやアプリ ケーション) 管理ポリシー
AWS管理ポリシー カスタム管理ポリシー インラインポリシー リソースや⼈に割り当てる単位 IAMプリンシパルに割り当てる 権限の集まり リソースポリシー
IAMを構成する概念 9 IAMプリンシパル IAMポリシー IAMユーザー IAMロール 他 (AWSサービスやアプリ ケーション) 管理ポリシー
AWS管理ポリシー カスタム管理ポリシー インラインポリシー リソースや⼈に割り当てる単位 IAMプリンシパルに割り当てる 権限の集まり リソースポリシー
IAMプリンシパル principal[名]: 活動などの主導者 10
IAMプリンシパル principal[名]: 活動などの主導者 • ⼈やAWSリソースに割り当てる要素です。 • 認証(=誰なのかの判別)に⽤います。 11
IAMプリンシパル principal[名]: 活動などの主導者 • ⼈やAWSリソースに割り当てる要素です。 • 認証(=誰なのかの判別)に⽤います。 • ユーザーが明⽰的に意識して作成するのは以下の2種類 1.
IAMユーザー 2. IAMロール 12
IAMユーザー IAMユーザーとあるとおり、利⽤者に割り当てるものです。 (ここでは利⽤者とは⼈、またはAWSリソースではない計算リソースなどを指します) • 特徴 • パスワードなどを使ったAWSマネジメントコンソールへのアクセスを提供する • (永続的な)アクセスキーを使った認証の提供 •
アクセスキーを使ったCLI操作などが可能になる 13 ズアッ!! 時間っぽい名前の⼈⽤ のIAMユーザー 貧乏旗本の 三男坊です T⽥S之助⽤の IAMユーザー F原R⾺⽤の IAMユーザー M地K弥⽤の IAMユーザー
IAMロール AWSのサービスや特定のIAMユーザー、他のIAMロールに権限を委任することで AWSリソースの操作を可能にするための仕組みです 役割の引受(assume role)時に、⼀時的なセキュリティ認証情報を払い出します 14 IAM User 他のIAM Role
任意のAWSサービス IAM Role assume role (役割の引受) AWS Resource AWS Resource AWS Resource AWS Resource AWS Resource AWS Resource 操作 AWSコンソールの画⾯で信頼関係について記載する
⼀時的なセキュリティ認証情報の払い出し Amazon STS(Security Token Service)が⼀時的なセキュリティ認証情報を払い出 します 15 Amazon STS 1.
指定したロールの引受リクエスト (assume role) 2. ⼀時的なセキュリティ認証情報 AWS Resource AWS Resource AWS Resource AWS Resource AWS Resource AWS Resource ここで払い出した ⼀時的なセキュリティ認証情報は 1で指定したロールに紐づく 3. 2で得たセキュリティ認証情報でアクセス
IAMロールで考えなきゃいけないこと • このロールで何をできるようにしたいか︖できないようにしたいか︖ • IAMポリシー(後述)できてい • このロールを誰が使えるようにしたいか • 誰からのAssume Roleを受け付ける(=信頼関係を確⽴する)か︖
16
IAMロールの信頼関係 どのIAMプリンシパルからであればAssumeRoleを認めるかということを記述します。 信頼関係もIAMポリシードキュメントのフォーマットで記述します。 17 CodeBuildからの AssumeRoleを認めています 複数のロールからの AssumeRoleを認めています MantoManagedStandardAdmin manto-dev-project-alb-role
IAMロールの信頼関係をもう少し良く⾒てみる(クロスアカウントアクセスの理解) 18 AWS内のPrincipalに sts:AssumeRoleを許可する 特に条件はなし arn:aws:sts::930582747351:assumed-role/AWSReservedSSO_bastion-user_843e858bb0e97221/ryoma_fujiwara がこのMantoManagedStandardAdminRoleの権限を引き受けることができる。 = Principalに他のAWSアカウントのARNを含めて上げればクロスアカウントアクセスを実現できる。
IAMロールによるクロスアカウントアクセス 19 AWS Account A AWS Account B AssumeRole Account
Bの IAMロール Account Aの IAMユーザー・ロールその他 AWS Resource AWS Resource AWS Resource AWS Resource AWS Resource AWS Resource 様々な操作 with ⼀時的なセキュリティ認証情報 IAMロールのPrincipalに他アカウントのIAMロールなどの情報を設定してあげれば、 AssumeRoleを介してクロスアカウントのIAMアクセスを実現することができる。
(補⾜)ARN(Amazon Resource Name)とは AWSのリソースをグローバルで⼀意に識別するための識別⼦ 20 https://docs.aws.amazon.com/ja_jp/general/latest/gr/aws-arns-and-namespaces.html arn: partition : service
: region :account-id : resource-id arn: partition : service : region :account-id : resource-type / resource-id arn: partition : service : region :account-id : resource-type : resource-id リソースの配置されているリージョンのグループ aws: 通常のAWSリージョン aws-cn: 中国リージョン aws-us-gov: GovCloud(US)リージョン AWSのサービス名(s3など) AWSのリージョン名(ap-northeast-1など) AWSアカウントのID(12桁の数字) リソースの種類 リソースのID(サービス内やリソースタ イプ内での⼀意な識別⼦, 例: EC2のイ ンスタンスID、i-12345678など
IAMを構成する概念 21 IAMプリンシパル IAMポリシー IAMユーザー IAMロール 他 (AWSサービスやアプリ ケーション) 管理ポリシー
AWS管理ポリシー カスタム管理ポリシー インラインポリシー リソースや⼈に割り当てる単位 IAMプリンシパルに割り当てる 権限の集まり リソースポリシー
IAMポリシー IAMユーザーやIAMロールに紐付けて個別の操作の実施可否を判断するための仕組 み 22 IAMポリシー ポリシードキュメント ステートメント ステートメント ステートメント ステートメント
ステートメント IAMポリシーはポリシードキュメントから構成される ポリシードキュメントは複数のステートメントの集まり
IAMポリシー ポリシーのイメージ 23 1つ1つがポリシー ポリシードキュメント ステートメント
IAMポリシーの種類 • 管理ポリシー • 独⽴したリソースとして管理されているポリシー • 複数のIAMユーザやIAMロールに紐付けが可能 • AWS IAMのポリシーページで表⽰されるのはこれ
• AWS管理ポリシーとカスタム管理ポリシーが存在 • インラインポリシー • 単⼀のIAMユーザやIAMロールに埋め込む形で定義されているポリシー • IAMロールやユーザの画⾯から作成する • リソースポリシー • IAMユーザやロールではなく、S3バケットなどの IAMプリンシパル以外のAWSリソースに紐づくポリシー 24 IAMプリンシパル 管理ポリシー インラインポリシー IAMプリンシパル以外のAWSリソース リソースポリシー
ポリシーの書き⽅ https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference_polici es_elements.html と https://docs.aws.amazon.com/ja_jp/service- authorization/latest/reference/reference.html を⾒つつ、 既存のAWS管理ポリシーを参考にしつつ作る。 25