Show / Hide Table of Contents

Class Policy

A document that specifies the type of access a group has to the resources in a compartment. For information about policies and other IAM Service components, see Overview of IAM. If you're new to policies, see Get Started with Policies.
The word "policy" is used by people in different ways:

  • An individual statement written in the policy language
  • A collection of statements in a single, named "policy" document (which has an Oracle Cloud ID (OCID) assigned to it)
  • The overall body of policies your organization uses to control access to resources
    To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized, talk to an administrator.
    Warning: Oracle recommends that you avoid using any confidential information when you supply string values using the API.
Inheritance
object
Policy
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: Oci.IdentityService.Models
Assembly: OCI.DotNetSDK.Identity.dll
Syntax
public class Policy

Properties

CompartmentId

Declaration
[Required(ErrorMessage = "CompartmentId is required.")]
[JsonProperty(PropertyName = "compartmentId")]
public string CompartmentId { get; set; }
Property Value
Type Description
string

The OCID of the compartment containing the policy (either the tenancy or another compartment).

Remarks

Required

DefinedTags

Declaration
[JsonProperty(PropertyName = "definedTags")]
public Dictionary<string, Dictionary<string, object>> DefinedTags { get; set; }
Property Value
Type Description
Dictionary<string, Dictionary<string, object>>

Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations": {"CostCenter": "42"}}

Description

Declaration
[Required(ErrorMessage = "Description is required.")]
[JsonProperty(PropertyName = "description")]
public string Description { get; set; }
Property Value
Type Description
string

The description you assign to the policy. Does not have to be unique, and it's changeable.

Remarks

Required

FreeformTags

Declaration
[JsonProperty(PropertyName = "freeformTags")]
public Dictionary<string, string> FreeformTags { get; set; }
Property Value
Type Description
Dictionary<string, string>

Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}

Id

Declaration
[Required(ErrorMessage = "Id is required.")]
[JsonProperty(PropertyName = "id")]
public string Id { get; set; }
Property Value
Type Description
string

The OCID of the policy.

Remarks

Required

InactiveStatus

Declaration
[JsonProperty(PropertyName = "inactiveStatus")]
public long? InactiveStatus { get; set; }
Property Value
Type Description
long?

The detailed status of INACTIVE lifecycleState.

LifecycleState

Declaration
[Required(ErrorMessage = "LifecycleState is required.")]
[JsonProperty(PropertyName = "lifecycleState")]
[JsonConverter(typeof(ResponseEnumConverter))]
public Policy.LifecycleStateEnum? LifecycleState { get; set; }
Property Value
Type Description
Policy.LifecycleStateEnum?

The policy's current state. After creating a policy, make sure its lifecycleState changes from CREATING to ACTIVE before using it.

Remarks

Required

Name

Declaration
[Required(ErrorMessage = "Name is required.")]
[JsonProperty(PropertyName = "name")]
public string Name { get; set; }
Property Value
Type Description
string

The name you assign to the policy during creation. The name must be unique across all policies in the tenancy and cannot be changed.

Remarks

Required

Statements

Declaration
[Required(ErrorMessage = "Statements is required.")]
[JsonProperty(PropertyName = "statements")]
public List<string> Statements { get; set; }
Property Value
Type Description
List<string>

An array of one or more policy statements written in the policy language.

Remarks

Required

TimeCreated

Declaration
[Required(ErrorMessage = "TimeCreated is required.")]
[JsonProperty(PropertyName = "timeCreated")]
public DateTime? TimeCreated { get; set; }
Property Value
Type Description
DateTime?

Date and time the policy was created, in the format defined by RFC3339.
Example: 2016-08-25T21:10:29.600Z

Remarks

Required

VersionDate

Declaration
[JsonProperty(PropertyName = "versionDate")]
public DateTime? VersionDate { get; set; }
Property Value
Type Description
DateTime?

The version of the policy. If null or set to an empty string, when a request comes in for authorization, the policy will be evaluated according to the current behavior of the services at that moment. If set to a particular date (YYYY-MM-DD), the policy will be evaluated according to the behavior of the services on that date.

In this article
Back to top