#[non_exhaustive]pub struct InternalAccessDetails {
pub action: Option<Vec<String>>,
pub condition: Option<HashMap<String, String>>,
pub principal: Option<HashMap<String, String>>,
pub principal_owner_account: Option<String>,
pub access_type: Option<InternalAccessType>,
pub principal_type: Option<PrincipalType>,
pub sources: Option<Vec<FindingSource>>,
pub resource_control_policy_restriction: Option<ResourceControlPolicyRestriction>,
pub service_control_policy_restriction: Option<ServiceControlPolicyRestriction>,
}
Expand description
Contains information about an internal access finding. This includes details about the access that was identified within your Amazon Web Services organization or account.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.action: Option<Vec<String>>
The action in the analyzed policy statement that has internal access permission to use.
condition: Option<HashMap<String, String>>
The condition in the analyzed policy statement that resulted in an internal access finding.
principal: Option<HashMap<String, String>>
The principal that has access to a resource within the internal environment.
principal_owner_account: Option<String>
The Amazon Web Services account ID that owns the principal identified in the internal access finding.
access_type: Option<InternalAccessType>
The type of internal access identified in the finding. This indicates how the access is granted within your Amazon Web Services environment.
principal_type: Option<PrincipalType>
The type of principal identified in the internal access finding, such as IAM role or IAM user.
sources: Option<Vec<FindingSource>>
The sources of the internal access finding. This indicates how the access that generated the finding is granted within your Amazon Web Services environment.
resource_control_policy_restriction: Option<ResourceControlPolicyRestriction>
The type of restriction applied to the finding by the resource owner with an Organizations resource control policy (RCP).
-
APPLICABLE
: There is an RCP present in the organization but IAM Access Analyzer does not include it in the evaluation of effective permissions. For example, ifs3:DeleteObject
is blocked by the RCP and the restriction isAPPLICABLE
, thens3:DeleteObject
would still be included in the list of actions for the finding. Only applicable to internal access findings with the account as the zone of trust. -
FAILED_TO_EVALUATE_RCP
: There was an error evaluating the RCP. -
NOT_APPLICABLE
: There was no RCP present in the organization. For internal access findings with the account as the zone of trust,NOT_APPLICABLE
could also indicate that there was no RCP applicable to the resource. -
APPLIED
: An RCP is present in the organization and IAM Access Analyzer included it in the evaluation of effective permissions. For example, ifs3:DeleteObject
is blocked by the RCP and the restriction isAPPLIED
, thens3:DeleteObject
would not be included in the list of actions for the finding. Only applicable to internal access findings with the organization as the zone of trust.
service_control_policy_restriction: Option<ServiceControlPolicyRestriction>
The type of restriction applied to the finding by an Organizations service control policy (SCP).
-
APPLICABLE
: There is an SCP present in the organization but IAM Access Analyzer does not include it in the evaluation of effective permissions. Only applicable to internal access findings with the account as the zone of trust. -
FAILED_TO_EVALUATE_SCP
: There was an error evaluating the SCP. -
NOT_APPLICABLE
: There was no SCP present in the organization. For internal access findings with the account as the zone of trust,NOT_APPLICABLE
could also indicate that there was no SCP applicable to the principal. -
APPLIED
: An SCP is present in the organization and IAM Access Analyzer included it in the evaluation of effective permissions. Only applicable to internal access findings with the organization as the zone of trust.
Implementations§
Source§impl InternalAccessDetails
impl InternalAccessDetails
Sourcepub fn action(&self) -> &[String]
pub fn action(&self) -> &[String]
The action in the analyzed policy statement that has internal access permission to use.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .action.is_none()
.
Sourcepub fn condition(&self) -> Option<&HashMap<String, String>>
pub fn condition(&self) -> Option<&HashMap<String, String>>
The condition in the analyzed policy statement that resulted in an internal access finding.
Sourcepub fn principal(&self) -> Option<&HashMap<String, String>>
pub fn principal(&self) -> Option<&HashMap<String, String>>
The principal that has access to a resource within the internal environment.
Sourcepub fn principal_owner_account(&self) -> Option<&str>
pub fn principal_owner_account(&self) -> Option<&str>
The Amazon Web Services account ID that owns the principal identified in the internal access finding.
Sourcepub fn access_type(&self) -> Option<&InternalAccessType>
pub fn access_type(&self) -> Option<&InternalAccessType>
The type of internal access identified in the finding. This indicates how the access is granted within your Amazon Web Services environment.
Sourcepub fn principal_type(&self) -> Option<&PrincipalType>
pub fn principal_type(&self) -> Option<&PrincipalType>
The type of principal identified in the internal access finding, such as IAM role or IAM user.
Sourcepub fn sources(&self) -> &[FindingSource]
pub fn sources(&self) -> &[FindingSource]
The sources of the internal access finding. This indicates how the access that generated the finding is granted within your Amazon Web Services environment.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .sources.is_none()
.
Sourcepub fn resource_control_policy_restriction(
&self,
) -> Option<&ResourceControlPolicyRestriction>
pub fn resource_control_policy_restriction( &self, ) -> Option<&ResourceControlPolicyRestriction>
The type of restriction applied to the finding by the resource owner with an Organizations resource control policy (RCP).
-
APPLICABLE
: There is an RCP present in the organization but IAM Access Analyzer does not include it in the evaluation of effective permissions. For example, ifs3:DeleteObject
is blocked by the RCP and the restriction isAPPLICABLE
, thens3:DeleteObject
would still be included in the list of actions for the finding. Only applicable to internal access findings with the account as the zone of trust. -
FAILED_TO_EVALUATE_RCP
: There was an error evaluating the RCP. -
NOT_APPLICABLE
: There was no RCP present in the organization. For internal access findings with the account as the zone of trust,NOT_APPLICABLE
could also indicate that there was no RCP applicable to the resource. -
APPLIED
: An RCP is present in the organization and IAM Access Analyzer included it in the evaluation of effective permissions. For example, ifs3:DeleteObject
is blocked by the RCP and the restriction isAPPLIED
, thens3:DeleteObject
would not be included in the list of actions for the finding. Only applicable to internal access findings with the organization as the zone of trust.
Sourcepub fn service_control_policy_restriction(
&self,
) -> Option<&ServiceControlPolicyRestriction>
pub fn service_control_policy_restriction( &self, ) -> Option<&ServiceControlPolicyRestriction>
The type of restriction applied to the finding by an Organizations service control policy (SCP).
-
APPLICABLE
: There is an SCP present in the organization but IAM Access Analyzer does not include it in the evaluation of effective permissions. Only applicable to internal access findings with the account as the zone of trust. -
FAILED_TO_EVALUATE_SCP
: There was an error evaluating the SCP. -
NOT_APPLICABLE
: There was no SCP present in the organization. For internal access findings with the account as the zone of trust,NOT_APPLICABLE
could also indicate that there was no SCP applicable to the principal. -
APPLIED
: An SCP is present in the organization and IAM Access Analyzer included it in the evaluation of effective permissions. Only applicable to internal access findings with the organization as the zone of trust.
Source§impl InternalAccessDetails
impl InternalAccessDetails
Sourcepub fn builder() -> InternalAccessDetailsBuilder
pub fn builder() -> InternalAccessDetailsBuilder
Creates a new builder-style object to manufacture InternalAccessDetails
.
Trait Implementations§
Source§impl Clone for InternalAccessDetails
impl Clone for InternalAccessDetails
Source§fn clone(&self) -> InternalAccessDetails
fn clone(&self) -> InternalAccessDetails
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for InternalAccessDetails
impl Debug for InternalAccessDetails
Source§impl PartialEq for InternalAccessDetails
impl PartialEq for InternalAccessDetails
impl StructuralPartialEq for InternalAccessDetails
Auto Trait Implementations§
impl Freeze for InternalAccessDetails
impl RefUnwindSafe for InternalAccessDetails
impl Send for InternalAccessDetails
impl Sync for InternalAccessDetails
impl Unpin for InternalAccessDetails
impl UnwindSafe for InternalAccessDetails
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);