Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzare PutResourcePolicycon un AWS SDK
L’esempio di codice seguente mostra come utilizzare PutResourcePolicy.
Gli esempi di operazioni sono estratti di codice da programmi più grandi e devono essere eseguiti nel contesto. È possibile visualizzare questa operazione nel contesto nel seguente esempio di codice:
- Python
-
- SDK per 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
Per un elenco completo delle guide per sviluppatori AWS SDK e degli esempi di codice, consulta. Usare Logs con un CloudWatch AWS SDK Questo argomento include anche informazioni su come iniziare e dettagli sulle versioni precedenti dell’SDK.