CloudStack Identity and Access Management (IAM) Citrix



Similar documents
My experience writing a DR service for CloudStack. Alena Prokharchyk

About Me. Software Architect with ShapeBlue Specialise in. 3 rd party integrations and features in CloudStack

CloudStack Release Notes

STeP-IN SUMMIT June 18 21, 2013 at Bangalore, INDIA. Performance Testing of an IAAS Cloud Software (A CloudStack Use Case)

CloudStack Metering Working with the Usage Data. Tariq Iqbal Senior

Cloud.com CloudStack Release Notes

Cisco Prime Network Services Controller. Sonali Kalje Sr. Product Manager Cloud and Virtualization, Cisco Systems

Learn Oracle WebLogic Server 12c Administration For Middleware Administrators

vcloud Air Disaster Recovery Technical Presentation

Installation Guide Avi Networks Cloud Application Delivery Platform Integration with Cisco Application Policy Infrastructure

2.2 CloudStack User Interface Customization

Simplified Private Cloud Management

Apache CloudStack 4.x (incubating) Network Setup: excerpt from Installation Guide. Revised February 28, :32 pm Pacific

Apache CloudStack: Open Source Infrastructure as a Service Cloud Computing Platform

Building a big IaaS cloud with Apache CloudStack

The Trusted Technology Partner in Business Innovation PASSION DISCIPLINE INNOVATION TEAMING INTEGRITY

Simone Brunozzi, AWS Technology Evangelist, APAC. Fortress in the Cloud

CernVM Online and Cloud Gateway a uniform interface for CernVM contextualization and deployment

CloudStack Networking. Paul Angus Cloud

INTRODUCTION TO CLOUD MANAGEMENT

managing the risks of virtualization

ABFAB and OpenStack(in the Cloud)

Configuring and Managing a Private Cloud with Enterprise Manager 12c

Enterprise IT Architectures BPM (Business Process Management)

Architecture des plates-formes IaaS Etat des lieux et perspectives

Effective End-to-End Cloud Security

<Insert Picture Here> Private Cloud with Fusion Middleware

UNI. UNIfied identity management. Krzysztof Benedyczak ICM, Warsaw University

Cisco Intercloud Fabric Security Features: Technical Overview

Security Best Practices for Microsoft Azure Applications

Apache Sentry. Prasad Mujumdar

Cloud.. Migration? Bursting? Orchestration? Vincent Lavergne SED EMEA, South Gary Newe Sr SEM EMEA, UKISA

Identity and Access Management for the Cloud What You Need to Know About Managing Access to Your Clouds

Cloud Simulator for Scalability Testing

CloudPlatform (powered by Apache CloudStack) Version 4.2 Administrator's Guide

Oracle Database Cloud Services OGh DBA & Middleware Day

Cloud Powered Mobile Apps with Azure

DreamFactory on Microsoft SQL Azure

Installation Runbook for Avni Software Defined Cloud

Open Source Networking for Cloud Data Centers

Cloud.com CloudStack Community Edition 2.1 Beta Installation Guide

1.1 SERVICE DESCRIPTION

Citrix XenServer 7 Feature Matrix

2013 ovh.com. All rights reserved

Cloud Security. Peter Jopling IBM UK Ltd Software Group Hursley Labs. peterjopling IBM Corporation

enstratus User Management Copyright 2012 enstratus Networks, Inc.

midpoint Overview Radovan Semančík December 2015

Deploying complex applications to Google Cloud. Olia Kerzhner

Open Cloud Day! Bern, June 10 th, 2014!

Deploying a Virtual Machine (Instance) using a Template via CloudStack UI in v4.5.x (procedure valid until Oct 2015)

simplify monitoring Environment Prerequisites for Installation Simplify Monitoring 11.4 (v11.4) Document Date: January

PLUMgrid Open Networking Suite Service Insertion Architecture

Experiences with Transformation to Hybrid Cloud: A Case Study for a Large Financial Enterprise

Deploy XenApp 7.5 and 7.6 and XenDesktop 7.5 and 7.6 with Amazon VPC

On- Prem MongoDB- as- a- Service Powered by the CumuLogic DBaaS Platform

Deployment Guide. VMware: Enabling vcenter Dynamic Provisioning with the AX Series

aaps algacom Account Provisioning System

How To Manage A Virtualization Server

WP4: Cloud Hosting Chapter Object Storage Generic Enabler

Data Collection and Analysis: Get End-to-End Security with Cisco Connected Analytics for Network Deployment

Real-time Streaming Analysis for Hadoop and Flume. Aaron Kimball odiago, inc. OSCON Data 2011

Global Headquarters: 5 Speen Street Framingham, MA USA P F

Onegini Token server / Web API Platform

Deployment Guide: Unidesk and Hyper- V

USING FEDERATED AUTHENTICATION WITH M-FILES

OpenStack Awareness Session

RED HAT INFRASTRUCTURE AS A SERVICE OVERVIEW AND ROADMAP. Andrew Cathrow Red Hat, Inc. Wednesday, June 12, 2013

Evento Assyrus Microsoft 2009

2692 : Accelerate Delivery with DevOps with IBM Urbancode Deploy and IBM Pure Application System Lab Instructions

CA Virtual Assurance/ Systems Performance for IM r12 DACHSUG 2011

Web Sites, Virtual Machines, Service Management Portal and Service Management API Beta Installation Guide

Features of AnyShare

Oracle Communications WebRTC Session Controller: Basic Admin. Student Guide

AppStack Technology Overview Model-Driven Application Management for the Cloud

Use Case Brief BUILDING A PRIVATE CLOUD PROVIDING PUBLIC CLOUD FUNCTIONALITY WITHIN THE SAFETY OF YOUR ORGANIZATION

Amazon WorkDocs. Administration Guide Version 1.0

Goliath Performance Monitor Prerequisites v11.6

Regional SEE-GRID-SCI Training for Site Administrators Institute of Physics Belgrade March 5-6, 2009

VIRTUALIZED SERVICES PLATFORM Software Defined Networking for enterprises and service providers

Stratusphere Solutions

EMC BACKUP-AS-A-SERVICE

Cedric Rajendran VMware, Inc. Security Hardening vsphere 5.5

CloudPlatform (powered by Apache CloudStack) Version Administrator's Guide

WebLogic Server Administration

GlassFish v3. Building an ex tensible modular Java EE application server. Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc.

Using the VMRC Plug-In: Startup, Invoking Methods, and Shutdown on page 4

CloudCIX Bootcamp. The essential IaaS getting started guide.

Bring your virtualized networking stack to the next level

Customize Mobile Apps with MicroStrategy SDK: Custom Security, Plugins, and Extensions

Building the Internet of Things Jim Green - CTO, Data & Analytics Business Group, Cisco Systems

Performance Testing of a Cloud Service

How Network Virtualization can improve your Data Center Security

Transcription:

CloudStack Identity and Access Management (IAM) Min Chen Prachi Damle" Citrix

Agenda Background Our Design Goal Architecture Implementation Use Cases Next Steps

Background Limited IAM Services Out-of-box fixed roles (Root Admin, Domain Admin, User) with prebaked access control. No support for customized roles creation. Special hard-coded access control logic baked in service layer for some resources like networks, affinity group, etc. Granting permissions by dedicated APIs is very restrictive.

Our Goal Provide True Pluggable IAM Service

Our Goal Provide True Pluggable IAM Service

" What is IAM" Policy Principal Impersonate Role Principal Ac+on Resource Resource Resource Principal Group Principal Ac+on Resource Allow/Deny Resource Principal Principal Ac+on Resource Resource

Our IAM Model

Pluggable IAM Service" Host IAM server as an Independent Service listening at an endpoint which CloudStack or other portal services call to do access checks

Pluggable IAM Components" Server An implementation of pure IAM taxonomy independent of CloudStack. Out-of-box IAM server implementation based on our IAM schema Provide IAM server interface for third-party (LDAP/AD based) to implement a different IAM server. Plugin A plugin integrated with CloudStack through adapter interfaces: APIChecker SecurityChecker QuerySelector Serve new IAM API requests

IAM Component Diagram CloudStack IAM Service cloud- api APIChecker SecurityChecker QuerySelector RoleBasedAPIChecker RoleBasedEn+tyChecker cloud- plugin- iam RoleBasedQuerySelector IAM Server APIs cloud- iam- server cloud- server IAM Plugin APIs

IAM Server IAM Schema Implement IAM Server interface to provide your own 3 rd -party IAM server.

IAM Plugin IAM APIs Adapters APIChecker SecurityChecker AccessType QuerySelector Plugin understands CloudStack s terminology

IAM APIs addaccounttoiamgroup removeaccountfromiamgroup createiamgroup deleteiamgroup listiamgroups Account adachiampolicytoiamgroup removeiampolicyfromiamgroup adachiampolicytoaccount removeiampolicyfromaccount createiampolicy deleteiampolicy listiampolicies addiamtoiampolicy removeiamfromiampolicy

APIChecker CS APIChecker interface commands.properties RoleBasedAPIAccessChecker public interface APIChecker extends Adapter { boolean checkaccess(user user, String apicommandname) throws DeniedExcep+on; } 1 = ADMIN, 2 = RESOURCE_DOMAIN_ADMIN, 4 = DOMAIN_ADMIN, 8 = USER startvirtualmachine=15 On startup loads permissions from commands.properties checkaccess by listing policy permissions

startvirtualmachine = 15 Default CloudStack Policies IAM APIChecker Root Admin Group User Group User Policy startvirtualmachine VirtualMachine ACCOUNT $accountid Domain Admin Policy Domain Admin Group startvirtualmachine VirtualMachine DOMAIN $domainid Root Admin Policy startvirtualmachine VirtualMachine Scope: ALL migratevirtualmachine

SecurityChecker CS SecurityChecker interface public interface SecurityChecker extends Adapter { boolean checkaccess(account caller, ControlledEn+ty en+ty, AccessType accesstype, String ac+on) throws DeniedExcep+on; } RoleBasedEntityAccessChecker Check Policy permissions for the entity and action/accesstype Only work with Allow. No Deny in this phase. AccessType ListEntry (read-only access) UseEntry (read and use access) OperateEntry (operate access)

Foo User1 Access startvirtualmachine Check Foo IAM Flow API Checker User2 startvirtualmachine Foo IAM SecurityChecker startvirtualmachine Foo Root Admin Domain Admin Group Root Admin Group User Policy User Group startvirtualmachine VirtualMachine ACCOUNT $accountid Domain Admin Policy startvirtualmachine VirtualMachine DOMAIN $domainid Root Admin Policy startvirtualmachine VirtualMachine Scope: ALL

IAM QuerySelector QuerySelector => RoleBasedQuerySelector public interface QuerySelector extends Adapter { List<Long> getauthorizeddomains(account caller, String en+tytype, AccessType accesstype); List<Long> getauthorizedaccounts(account caller, String en+tytype, AccessType accesstype); List<Long> getauthorizedresources(account caller, String en+tytype, AccessType accesstype); boolean isgrantedall(account caller, String ac+on, AccessType accesstype); List<String> listiamgroupsbyaccount(long accountid); }

Custom Policy Use Case: Domain admin wants to grant read only access to all VMs of his domain to some service desk accounts. ReadOnlyPolicy addaccounttoiamgroup Service Desk Group aaachiampolicytoiamgroup listvirtualmachines VirtualMachine DOMAIN $domainid

Cross-Account Grant Use Case: Account A has a VM foo, and she wants to grant Account B to Start/Stop her VM foo. Foo A VMOpPolicy startvirtualmachine VirtualMachine RESOURCE foo B stopvirtualmachine VirtualMachine RESOURCE foo

Next Step Integrate IAM model with all CloudStack access control logic Shared and isolated networks Handle non ControlledEntity like Zone and Service Offering(Disk offering, Network Offering) Dedicated resource feature Provide UI support for IAM APIs. Handle JSON based policy definition.

References Functional Spec: https://cwiki.apache.org/confluence/display/cloudstack/cloudstack +IAM+guidelines+for+API+and+Service+Layer Guidelines for Developers: https://cwiki.apache.org/confluence/display/cloudstack/cloudstack +IAM+guidelines+for+API+and+Service+Layer