Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
PutResourcePolicyÚselo con un AWS SDK
En el siguiente ejemplo de código, se muestra cómo utilizar PutResourcePolicy.
Los ejemplos de acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Puede ver esta acción en contexto en el siguiente ejemplo de código:
- Python
-
- SDK para Python (Boto3)
-
def put_resource_policy(
self,
log_group_arn: str,
vpc_endpoint_id: str,
) -> dict[str, Any]:
"""
Creates or updates a resource-scoped policy on a log group that grants
the syslog.logs.amazonaws.com service principal permission to call
logs:PutLogEvents and logs:CreateLogStream.
A resource-scoped policy (one attached to a specific log group) is
specified with resourceArn and policyDocument. The PutResourcePolicy
API does not allow policyName to be combined with resourceArn.
:param log_group_arn: The ARN of the log group (with trailing :*).
:param vpc_endpoint_id: The VPC endpoint ID to scope the condition.
:return: The resource policy response.
"""
policy_document = json.dumps(
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "SyslogIngestPermissions",
"Effect": "Allow",
"Principal": {"Service": "syslog.logs.amazonaws.com"},
"Action": [
"logs:PutLogEvents",
"logs:CreateLogStream",
],
"Resource": log_group_arn,
"Condition": {
"StringEquals": {"aws:sourceVpce": vpc_endpoint_id}
},
}
],
}
)
try:
response = self.logs_client.put_resource_policy(
policyDocument=policy_document,
resourceArn=log_group_arn,
)
logger.info("Put resource policy on log group '%s'.", log_group_arn)
return response
except ClientError as error:
logger.error(
"Failed to put resource policy: %s",
error.response["Error"]["Message"],
)
raise
Para obtener una lista completa de guías para desarrolladores del AWS SDK y ejemplos de código, consulte. Uso CloudWatch de registros con un AWS SDK En este tema también se incluye información sobre cómo empezar a utilizar el SDK y detalles sobre sus versiones anteriores.