AWS Black Belt Online Seminar「AWSサービスの権限管理」の資料公開
こんにちは、SAの舟崎です。
2016/6/21に開催されたAWS Black Belt Online Seminar「AWSサービスの権限管理」の資料が公開されました。
また、頂いたご質問の回答の一部が以下となります。
Q1: 顧客毎にVPCを切っています。例えば、AプロジェクトにアサインされているのA-VPC内のサブネットやEC2やELB、RDSの全ての作業をできるようにする場合、かなり細かい権限設定が必要なようですが、簡易的に設定する方法はありますか?
A1: 全てのサービスをVPC単位で権限を分離する簡便な方法はあまりありません。というのもすべてのAPIがVPCを条件に判断できるわけではないからです。
従いまして、どうしても干渉を避けたい場合はAWSアカウントを分けるという方法をご検討いただけたらと思います。
Q2: EC2を構築した後にアプリチームに引き渡して、起動停止のみの権限を与えるという例がありましたが、その際特定のインスタンスのみをWebConsole上で表示させたいと思っています。どのように権限管理を行えばよいでしょうか?というのも、1アカウント内に複数プロジェクトのインスタンスが動いているため、引き渡すアプリチームに関係ないインスタンスはそもそも表示させないようにしたいと考えております。
A2: この制御はよく質問いただきますが、マネージメントコンソール上で特定のインスタンスのみ表示を許可することはできません。というのも、EC2のDescribeInstances APIはリソースレベルのアクセス権限をサポートしておりません。
http://docs.aws.amazon.com/AWSEC2/latest/DeveloperGuide/iam-policies-for-amazon-ec2.html#ec2-supported-iam-actions-resources
従いまして、表示に関してはAll or Nothingの制御になります。
Q3: IAMポリシーのアタッチ・デタッチにおいて、AWSが用意している強力なポリシーがあるとのことですが、それらの情報はどこかに公開されているのでしょうか。
A3: Webサイトなどで公開しているものではなく、皆様のIAM管理画面から参照いただけます。AWS管理ポリシーと呼ばれるもので、代表的なものはAdministratorAccessやIAMFullAccessなどです。
Q4: サンプルで出されていたExcelシートのようなものは、どこかで公開されていますか?あれば非常に参考になるのでいただきたいのですが。
A4: 申し訳ございませんが、こちらの資料は非公開となっております。
Q5: IAMポリシーのサンプル(例えば、ホワイトリスト方式で中央管理型のポリシー作成する)を掲載しているサイトはありますでしょうか。
A5: 申し訳ございませんが、ご要望のレベルのサンプルのポリシーは公開しておりません。
Q6: AWSが用意しているというポリシーは個別に許可・禁止も可能という理解で良いのでしょうか。それともテンプレート的なセットものなのでしょうか。
A6: 許可・禁止というよりも、どのユーザーやグループにアタッチ・デタッチするか、という操作になります。お客様がIAMの必要な権限をお持ちであれば、AWS管理ポリシーを任意のIAMユーザーやグループにアタッチ・デタッチ可能です。
Q7: MFA 認証を利用している人のみ社外のネットワークからマネージメントコンソールにログインする事はできますか?
A7: 可能です。Federation Accessと通常のIAMユーザー(パスワード認証)は併用することができます。MFAを割り当てられているユーザーにはIAMユーザーとパスワード、そしてMFAを利用するようにIAMを設定します。
Q8: cross-access-accountを使用して異なるアカウントにアクセスした際にAWS CloudTrailでユーザの特定は可能でしょうか?個人用のロールを使用しないと出来ないでしょうか?
A8: CloudTrailのSwitchRoleイベントを補足すると良いかと思います。クロスアカウントアクセスを行うと、スイッチした「元」のAWSアカウントのCloudTrailにSwitchRoleといイベントが記録されます。
このイベントの詳細には、スイッチ元のAWSアカウントのユーザー、スイッチ先のAWSアカウント、スイッチ先のロールが記録されます。
Q9: AD経由にした場合、AD自体の認証はどのように行われるのでしょうか?
A9: ADFSを利用した場合、ユーザーはまずブラウザでADFSにアクセスし、ADのアカウントとADのパスワードを入力します。
ADFSがADに認証を依頼し、認証がOKであればマネージメントコンソールへのアクセスのためのトークンを発行します。
ユーザーからするとADのユーザー名とパスワードしか入力していないのにマネージメントコンソールにログインできたように見えます。
Q10: Open AMを使ってもCloudTrailでユーザを識別できますか?また、複数のアカウントや同じアカウントの複数のロールを一つのOpenAMやActive Directoryのユーザ一つで管理できますか?
A10: サードパーティ様の製品と関連いたしますので、ベストエフォートのご回答となることをご了承いただきたく思います。
Cloud Trailで表示されるFederated Userのユーザー名ですが、厳密にはIdP(Open AMやAD等)が発行したSAMLアサーションの属性値を取得して決定しています。
具体的には’https://aws.amazon.com/SAML/Attributes/RoleSessionName’という属性です。Open AM側でSAMLアサーションを生成する際にこの属性値に、例えばユーザーのメールアドレスなど組織内で一意かつ全員が必ず持っている情報を利用できればユーザーを特定することは可能です。属性の詳しい条件はこちらをご参照ください。
http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_roles_providers_create_saml_assertions.html
また一つのIdP上のユーザーを複数のAWSアカウントにマッピングすることもできます。これはAWS側でSAMLを受け取りFederated Userのロールをマップする際にAWSアカウントIDも指定する仕組のためです。複数のロールがマッピングされたユーザーは、ログインの際にどのAWS上のロールでサインインするか選択する画面が表示されます。
Q11: Active Directoryは使用していないのですが、基本的な利用をIPアドレスで制限することは可能でしょうか?
A11: 発信元IPアドレスによる制限も可能ですが、CloudFormationなどAWSのIPアドレスからAPIが呼び出される場合には注意が必要です。
http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/access_policies_examples.html#iam-policy-example-deny-source-ip-address
Q12: 代理実行するAWSサービスの一覧はありますか?
A12: マネージメントコンソールからロールを作成する際に、「どのAWSサービスを信頼するか」という選択が可能です。
「ロールの作成」→「ロールタイプの選択」→「AWSサービスロール」を選択すると、信頼するAWSサービスの一覧がご覧いただけます。
Q13: WindowsのActive Directoryではなく、google等の認証を使用してコンソールのログインを制御することはできますでしょうか?
A13: 可能です。詳しくはこちらをご参照ください。
https://blogs.aws.amazon.com/security/post/TxT8XK9DVM0MGP/How-to-Set-Up-Federated-Single-Sign-On-to-AWS-Using-Google-Apps
7月のAWS Black Belt Online Seminarの予定は こちら です。多くの方のご参加をお待ちしております。
コメント