Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS Systems Manager Session ManagerとIAMでシンプルにユーザーを管理する/Manage users simply with AWS Systems Manager Session Manager and IAM

AWS Systems Manager Session ManagerとIAMでシンプルにユーザーを管理する/Manage users simply with AWS Systems Manager Session Manager and IAM

株式会社ヌーラボ

March 13, 2020
Tweet

More Decks by 株式会社ヌーラボ

Other Decks in Technology

Transcript

  1. SRE 筋トレ歴3年目 ベンチプレス100kg 1rep blog: https://blog.nikuniku.me dev.to: https://dev.to/maaaato github: https://github.com/maaaato

    SRE / Emacs / AWS / Terraform / Ansible / Workout / English / Personal trainer Masayuki Nakano @maaaato @Stand_IO 2
  2. ”Session Manager はフルマネージド型 AWS Systems Manager 機能であり、インタラクティブな ワ ンクリックブラウザベースのシェルや AWS

    CLI を介して Amazon EC2 インスタンス、オンプレミスイ ン スタンス、および仮想マシン (VM) を管理できます。Session Manager を使用すると、インバウンド ポートを開いたり、踏み台ホストを維持したり、 SSH キーを管理したりすることなく、監査可能なインスタ ンスを安全に管理できます。 また、Session Manager を使用すると、マネージドインスタンスへの簡単 なワンクリックのクロスプラットフォームアクセスをエンドユーザーに提供しつつ、インスタンスへの制御 されたアクセス、厳格なセキュリティプラクティス、 完全に監査可能なログ (インスタンスアクセスの詳細 を含む) が要求される企業ポリシーに簡単に準拠できます。 “ 8
  3. Amazon Linux: Amazon Linux1 2017年9月以降のAMIに関してはインストール済み それ以前のAMIやAmazon ECS 対応のAMIは手動インストールが必要 Ubuntu: 20180627で識別されるUbuntu

    Server 16.04 以降のAMIに関してはインストール済み それ以前のAMIは手動インストールが必要 その他: 手動インストールが必要 ssm-agentのインストール 13
  4. { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["ssm:StartSession"],

    "Resource": "*", "Condition": { "StringLike": { "ssm:resourceTag/Name": ["Production"], "ssm:resourceTag/Name": ["Develop"] } } } ] } インスタンス毎にログインできるIAMユーザーを指定する https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/getting-started-restrict-acc ess-examples.html { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["ssm:StartSession"], "Resource": "*", "Condition": { "StringLike": { "ssm:resourceTag/Name": ["Develop"] } } } ] } UserA UserB 29
  5. ”AWS でのワークロードを拡大しスケールするときに、 AWS Organizations は環境の一元管理に役立ちま す。成長しているスタートアップでも、大規模な企業でも、 Organizations があれば、請求の一元管理や、ア ク セス、コンプライアンス、セキュリティの制御、

    AWS アカウント間でのリソースの共有ができます。 AWS Organizations を使用すると、アカウントの作成を自動化し、ビジネスニーズを反映したアカウントのグ ループを作成し、それらのグループにポリシーを適用して管理できます。 すべての AWS アカウントに対して単 一の支払い方法を設定すれば、請求を簡単にすることもできます。他の AWS のサービスと統合して Organizations を使用すれば、組織のアカウント全体の設定とリソース共有を一元的に定義できます。すべ ての AWS のお客様は、追加料金なしで AWS Organizations を利用できます。” 35
  6. • 組織 • マスターアカウント • ルート • 組織単位(Organizations Unit) •

    アカウント • ServiceControllPolicy(SCP) AWS Organizationsの概要図 https://docs.aws.amazon.com/ja_jp/organizations/latest/userguide/orgs_getting-s tarted_concepts.html 37
  7. SCP SCP/AWS Organizations Allow: S3:* Allow: SQS:* Allow: S3:* Allow:

    EC2:* IAM(アカウント内) SCPとIAMで指定されている S3へのアクションのみ実行可能 一致していないEC2への アクションは実行不可能 44
  8. Custodianアカウントの使用例 Admin/OU Service/OU Sandbox/OU Audit API/Prod API/Dev Developer Sandbox Organization

    Custodian OUにAdminを作成し、管理関係のアカウントを Admin配下に作成する CustodianアカウントにてIAMユーザーの管理を行い、 Admin他、Service、 SandboxへのログインはCustodianを経由する 46
  9. マルチアカウント + SSO(GSuite) GSuite マスターアカウント Custodian Audit API / Prod

    API / Dev Developer マスターアカウントの管理用ロールへ Switch(一部のユーザー) 一般ユーザーのルート • 管理ユーザーはマスターアカウントと Custodianにある IAMロールのarnを設定 • 一般ユーザーは CustodianにあるIAMロールのarnを設 定 48 管理ユーザー 一般ユーザー