access control for the grid: xacml

30
Anne Anderson Staff Engineer Sun Microsystems Labs Burlington, MA, USA [email protected] Access Control for the Grid: XACML GlobusWORLD 2005 Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

Upload: others

Post on 03-Feb-2022

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Access Control for the Grid: XACML

Anne AndersonStaff EngineerSun Microsystems Labs Burlington, MA, USA [email protected]

Access Control for the Grid:

XACML

GlobusWORLD 2005

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

Page 2: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

Outline●Access control in the Grid●XACML overview●Use model●Policy language●Other features●Future work●More information

Page 3: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

Access Control in the GridVirtual Org P:Multidisciplinary

design using programs

and data at multiplelocations

Virtual Org Q:Ray tracing usingcycles providedby cycle sharing

consortium

“Participants in P can run program A”

“Participants in Q canuse cycles if idle andbudget not exceeded”

“Participants in Pcan run program B”

“Participants in Pcan read data D”

*Foster, et al., “The Anatomy of the Grid”, IJSA, 2001

Page 4: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

XACML Overview●eXtensible Access Control Markup Language

General-purpose access control policy and query languages.

●Version 1.0 OASIS Standard, February 2003

●Version 2.0 on standards track now

●Publicly available (C++, C#) and open source (Java) implementations

Page 5: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

XACML Overview● Designed to work in either a centralized or distributed, decentralized environment.

● Ties into legacy systems easily

- No requirements on what supplies the attribute information

- No requirements on actual query language- No requirements on transport, storage, etc.

● Extensible: new attribute types, new functions

Page 6: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

Example

A policy in plain English:

“Only clients● Who are employed by DOE, AND● Who are part of the “FusionGrid” Virtual

Organization, AND● Who are authenticated with an X509 public key

certificate

are allowed access to Grid resources.”

Page 7: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

Two-part example

1) Access decision request

2) Policy

Page 8: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

Part 1: Access decision request● A request to the PDP:

Is this access permitted?

●Describes the access

Page 9: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

Access Decision Request<Request> <Subject> ... Attributes of the subject doing the access ... </Subject> <Resource> ... Attributes of the resource being accessed ... </Resource> <Action> ... Attributes of the action to be done on the resource ... </Action> <Environment> ... Attributes of the access environment ... </Environment></Request>

Page 10: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

A Request Attribute

Attribute Identity: “employer”

Type: URI

Value: “urn:us:gov:DOE”

Page 11: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

Part 2: Policy

1) Access decision request

2) Policy

what an acceptable access description looks like

Page 12: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

Progressive example

1. Referring to an attribute in the request2. Placing a constraint on an attribute3. Combining constraints4. Specifying a rule5. Specifying a policy6. Specifying a policy set

Page 13: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

Referring to an attribute

<SubjectAttributeDesignator AttributeId="employer" DataType="anyURI" />

<AttributeSelector RequestContextPath="/employer/text()" DataType="anyURI" />

XPath expressionAlternative:

Page 14: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

Constraining an attribute<Apply FunctionId="anyURI-is-in">

<AttributeValue DataType="anyURI"> urn:us:gov:doe </AttributeValue>

<SubjectAttributeDesignator AttributeId="employer" DataType="anyURI" />

</Apply>

Page 15: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

Combining constraints

<Condition>

<Apply FunctionId="and">

<Apply “must be a DOE employee” /> <Apply “must be member of FusionGrid” /> <Apply “must authenticate with X509 cert” /> </Apply>

</Condition>

Page 16: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

Rule

If <Target> AND<Condition> are TRUE, returns Effect

If <Target> OR<Condition> isFALSE, returns “Not Applicable”

If error, returns “Indeterminate”

<Rule RuleId="Rule1" Effect ="Permit">

<Target ... />

<Condition .... />

</Rule>

Optional

Page 17: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

Combining Algorithm

Rule 1:Effect="Permit"

Rule 2:Effect="Deny"

Rule 3:Effect="Permit"

On evaluation: returns"Not Applicable"

Rule 4:Effect="Permit"

CombiningAlgorithm

Result

On evaluation: returns "Deny"

On evaluation: returns "Permit"

On evaluation:returns "Indeterminate"

Page 18: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

Policy: combination of <Rule>s<Policy PolicyId="Policy1" RuleCombiningAlgId= "deny-overrides" >

<Target .... /> <Rule1 ... /> <Rule2 ... /> <Rule3 ... />

<Obligations> <Obligation ... /> </Obligations></Policy>

Deny-overrides: return "Permit" only if <Target> is TRUE AND every <Rule> returns "Permit".

Obligations: optional attributes returned to the PEP.

Page 19: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

PolicySet: combination of <Policy>s and other <PolicySet>s

PolicySet

Policy

Rule

PolicySet

Page 20: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

Further information● XACML is in the Globus ToolKit: 3.9.3 Java WS Core only distribution

● “A Brief Introduction to XACML” http://www.oasis-open.org/committees/download.php/2713/Brief_Introduction_to_XACML.html

● OASIS Access Control (XACML) Technical Committee: all specifications and other documents http://www.oasis-open.org/committees/xacml

● Sun's XACML Open Source Implementation http://sunxacml.sourceforge.net

Anne Anderson <[email protected]>

xx

Page 21: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

Backup slides

Page 22: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

Access Policy Enforcement

PEP

Policy Enforcement Point

PDP

Policy Decision Point

Applications

policiesdata/resources

access request

response

decision request

decision +obligations

attributes

PEP:-access interception-decision enforcement-obligation fulfillment-some attribute collection

Page 23: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

XACML Policy Decision Point

EvaluationEngine

ContextHandler

PolicyFinder

Module

AttributeFinder

Module

LDAPDirectory

Database Registry

RequestfromPEP

AttributeFinder

Module

AttributeFinder

Module

AttributeFinder

Module

SystemInformation

Responseto

PEP

PolicyFinder

Module

Registry

Database

Page 24: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

Attributes

Subject + Categoryuser, intermediary,recipient, codebase,requesting machine, ...

Resource {+ optional XML ResourceContent}

Action

Environment

Attribute ExamplesSubject's identity, role, clearance level, <wss:SecurityToken>, account id, IP address, ...

Resource's identity, classification, location, size, value, ...Action identity: read, write, execute, modify, open, move, ...; Action purpose, ...

time of day, date, vocabulary id, contract id, ...

Page 25: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

TargetOptional way to pull out key “necessary” predicates (could do everything in <Condition>). Useful for indexing policies.

<Target> <Subjects><Subject><SubjectMatch MatchId="anyURI-equal" DataType="anyURI"> <AttributeValue DataType="anyURI"> urn:us:gov:doe </AttributeValue> <SubjectAttributeDesignator AttributeId="employer" DataType="anyURI"/> </SubjectMatch></Subject></Subjects></Target><Condition>... remaining two predicates ... </Condition>

Page 26: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

PolicySet: combination of <Policy>s and other <PolicySet>s

<PolicySet PolicySetId="PolicySet1" PolicyCombiningAlgId= "deny-overrides" >

<Target .... /> <Policy1 ... /> <Policy2 ... /> <PolicySet2 ... />

</PolicySet>

Deny-overrides: return "Permit" only if <Target> is TRUE AND every <Policy> and <PolicySet> return "Permit".

Page 27: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

Some other features● Distributed policies: inclusion by reference● Variable definitions and references (re-use constraints, etc.)● XPath references to attributes from XML documents

Page 28: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

XACML Profiles● Hierarchical Resources● Multiple Resources● Role Based Access Control (RBAC)● Privacy● Security Assertion Markup Language (SAML)● Digital Signature (DSig)

Page 29: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

Future work●Policy tools

- Composition, editing- Analysis- Management

●Delegation chains

Page 30: Access Control for the Grid: XACML

Copyright © 2004-2005 Sun Microsystems, Inc. All rights reserved.

Sun, Sun Microsystems, the Sun logo, and Java are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and in other countries.

Copyright 2004-2005 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A. All rights reserved.